summaryrefslogtreecommitdiff
path: root/testsuite/tests/generics
diff options
context:
space:
mode:
authorVladislav Zavialov <vlad.z.4096@gmail.com>2019-12-02 23:10:33 +0300
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-12-05 16:07:49 -0500
commit3354c68ec6c90bbccc0f361aa7973eeb75ea229c (patch)
treeb9c5e2f9627b25b6d7bdf745b281b6771b8d5990 /testsuite/tests/generics
parentc4ca29c796fa86ad9d5cd4dfa1a5cdd4e0565fb0 (diff)
downloadhaskell-3354c68ec6c90bbccc0f361aa7973eeb75ea229c.tar.gz
Pretty-printing of the * kind
Before this patch, GHC always printed the * kind unparenthesized. This led to two issues: 1. Sometimes GHC printed invalid or incorrect code. For example, GHC would print: type F @* x = x when it meant to print: type F @(*) x = x In the former case, instead of a kind application we were getting a type operator (@*). 2. Sometimes GHC printed kinds that were correct but hard to read. Should Either * Int be read as Either (*) Int or as (*) Either Int ? This depends on whether -XStarIsType is enabled, but it would be easier if we didn't have to check for the flag when reading the code. We can solve both problems by assigning (*) a different precedence. Note that Haskell98 kinds are not affected: ((* -> *) -> *) -> * does NOT become (((*) -> (*)) -> (*)) -> (*) The parentheses are added when (*) is used in a function argument position: F * * * becomes F (*) (*) (*) F A * B becomes F A (*) B Proxy * becomes Proxy (*) a * -> * becomes a (*) -> *
Diffstat (limited to 'testsuite/tests/generics')
-rw-r--r--testsuite/tests/generics/T10604/T10604_deriving.stderr101
1 files changed, 48 insertions, 53 deletions
diff --git a/testsuite/tests/generics/T10604/T10604_deriving.stderr b/testsuite/tests/generics/T10604/T10604_deriving.stderr
index f8a4acc371..99c5ee8088 100644
--- a/testsuite/tests/generics/T10604/T10604_deriving.stderr
+++ b/testsuite/tests/generics/T10604/T10604_deriving.stderr
@@ -18,7 +18,7 @@ Derived class instances:
(GHC.Generics.R1 (GHC.Generics.M1 (GHC.Generics.M1 (GHC.Generics.K1 g1))))
-> T10604_deriving.Starify2 g1
- instance GHC.Generics.Generic1 @* T10604_deriving.Starify where
+ instance GHC.Generics.Generic1 @(*) T10604_deriving.Starify where
GHC.Generics.from1 x
= GHC.Generics.M1
(case x of
@@ -140,7 +140,7 @@ Derived class instances:
(GHC.Generics.M1 (GHC.Generics.M1 g1))
-> T10604_deriving.Wrap (GHC.Generics.unRec1 g1) }
- instance GHC.Base.Functor (T10604_deriving.Proxy @*) where
+ instance GHC.Base.Functor (T10604_deriving.Proxy @(*)) where
GHC.Base.fmap _ = GHC.Prim.coerce
instance forall k (a :: k).
@@ -183,7 +183,7 @@ Derived type family instances:
"main"
'GHC.Types.False)
((GHC.Generics.:+:)
- @*
+ @(*)
(GHC.Generics.C1
@{*}
('GHC.Generics.MetaCons
@@ -215,46 +215,41 @@ Derived type family instances:
'GHC.Generics.DecidedLazy)
(GHC.Generics.Rec0
@{*} GHC.Types.Int))))
- type GHC.Generics.Rep1 @* T10604_deriving.Starify = GHC.Generics.D1
- @{*}
- ('GHC.Generics.MetaData
- "Starify"
- "T10604_deriving"
- "main"
- 'GHC.Types.False)
- ((GHC.Generics.:+:)
- @*
- (GHC.Generics.C1
- @{*}
- ('GHC.Generics.MetaCons
- "Starify1"
- 'GHC.Generics.PrefixI
- 'GHC.Types.False)
- (GHC.Generics.S1
- @{*}
- ('GHC.Generics.MetaSel
- ('GHC.Maybe.Nothing
- @GHC.Types.Symbol)
- 'GHC.Generics.NoSourceUnpackedness
- 'GHC.Generics.NoSourceStrictness
- 'GHC.Generics.DecidedLazy)
- GHC.Generics.Par1))
- (GHC.Generics.C1
- @{*}
- ('GHC.Generics.MetaCons
- "Starify2"
- 'GHC.Generics.PrefixI
- 'GHC.Types.False)
- (GHC.Generics.S1
- @{*}
- ('GHC.Generics.MetaSel
- ('GHC.Maybe.Nothing
- @GHC.Types.Symbol)
- 'GHC.Generics.NoSourceUnpackedness
- 'GHC.Generics.NoSourceStrictness
- 'GHC.Generics.DecidedLazy)
- (GHC.Generics.Rec0
- @{*} GHC.Types.Int))))
+ type GHC.Generics.Rep1
+ @(*) T10604_deriving.Starify = GHC.Generics.D1
+ @{*}
+ ('GHC.Generics.MetaData
+ "Starify" "T10604_deriving" "main" 'GHC.Types.False)
+ ((GHC.Generics.:+:)
+ @(*)
+ (GHC.Generics.C1
+ @{*}
+ ('GHC.Generics.MetaCons
+ "Starify1"
+ 'GHC.Generics.PrefixI
+ 'GHC.Types.False)
+ (GHC.Generics.S1
+ @{*}
+ ('GHC.Generics.MetaSel
+ ('GHC.Maybe.Nothing @GHC.Types.Symbol)
+ 'GHC.Generics.NoSourceUnpackedness
+ 'GHC.Generics.NoSourceStrictness
+ 'GHC.Generics.DecidedLazy)
+ GHC.Generics.Par1))
+ (GHC.Generics.C1
+ @{*}
+ ('GHC.Generics.MetaCons
+ "Starify2"
+ 'GHC.Generics.PrefixI
+ 'GHC.Types.False)
+ (GHC.Generics.S1
+ @{*}
+ ('GHC.Generics.MetaSel
+ ('GHC.Maybe.Nothing @GHC.Types.Symbol)
+ 'GHC.Generics.NoSourceUnpackedness
+ 'GHC.Generics.NoSourceStrictness
+ 'GHC.Generics.DecidedLazy)
+ (GHC.Generics.Rec0 @{*} GHC.Types.Int))))
type GHC.Generics.Rep
(T10604_deriving.SumOfProducts @{k} a) = GHC.Generics.D1
@{*}
@@ -264,7 +259,7 @@ Derived type family instances:
"main"
'GHC.Types.False)
((GHC.Generics.:+:)
- @*
+ @(*)
(GHC.Generics.C1
@{*}
('GHC.Generics.MetaCons
@@ -272,7 +267,7 @@ Derived type family instances:
'GHC.Generics.PrefixI
'GHC.Types.False)
((GHC.Generics.:*:)
- @*
+ @(*)
(GHC.Generics.S1
@{*}
('GHC.Generics.MetaSel
@@ -302,7 +297,7 @@ Derived type family instances:
'GHC.Generics.PrefixI
'GHC.Types.False)
((GHC.Generics.:*:)
- @*
+ @(*)
(GHC.Generics.S1
@{*}
('GHC.Generics.MetaSel
@@ -412,7 +407,7 @@ Derived type family instances:
(GHC.Generics.Rec0
@{*}
(T10604_deriving.Proxy
- @* (T10604_deriving.Proxy @(k -> *) a)))))
+ @(*) (T10604_deriving.Proxy @(k -> *) a)))))
type GHC.Generics.Rep1
@(k -> *) (T10604_deriving.Wrap2 @k) = GHC.Generics.D1
@{k -> *}
@@ -435,9 +430,9 @@ Derived type family instances:
'GHC.Generics.NoSourceStrictness
'GHC.Generics.DecidedLazy)
((GHC.Generics.:.:)
- @*
+ @(*)
@(k -> *)
- (T10604_deriving.Proxy @*)
+ (T10604_deriving.Proxy @(*))
(GHC.Generics.Rec1
@(k -> *)
(T10604_deriving.Proxy @(k -> *))))))
@@ -491,7 +486,7 @@ Derived type family instances:
@{*}
('GHC.Generics.MetaCons
"Proxy" 'GHC.Generics.PrefixI 'GHC.Types.False)
- (GHC.Generics.U1 @*))
+ (GHC.Generics.U1 @(*)))
type GHC.Generics.Rep1
@k (T10604_deriving.Proxy @k) = GHC.Generics.D1
@{k}
@@ -509,7 +504,7 @@ Derived type family instances:
"T10604_deriving"
"main"
'GHC.Types.False)
- (GHC.Generics.V1 @*)
+ (GHC.Generics.V1 @(*))
type GHC.Generics.Rep1
@GHC.Types.Bool T10604_deriving.Empty = GHC.Generics.D1
@{GHC.Types.Bool}
@@ -523,7 +518,7 @@ Derived type family instances:
==================== Filling in method body ====================
-GHC.Base.Functor [T10604_deriving.Proxy @*]
- GHC.Base.<$ = GHC.Base.$dm<$ @(T10604_deriving.Proxy @*)
+GHC.Base.Functor [T10604_deriving.Proxy @(*)]
+ GHC.Base.<$ = GHC.Base.$dm<$ @(T10604_deriving.Proxy @(*))