diff options
author | Ryan Scott <ryan.gl.scott@gmail.com> | 2018-11-22 11:55:00 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2018-11-22 13:14:02 -0500 |
commit | f5d2083807a03c57f194fcc3a7baf82e34aad524 (patch) | |
tree | 9853fb8ba47bbdd1488ded82672ca0087a7b2a98 /testsuite/tests | |
parent | ff619555439a8fc671fffb239910972b054a7d96 (diff) | |
download | haskell-f5d2083807a03c57f194fcc3a7baf82e34aad524.tar.gz |
Overhaul -fprint-explicit-kinds to use VKA
This patch changes the behavior of `-fprint-explicit-kinds`
so that it displays kind argument using visible kind application.
In other words, the flag now:
1. Prints instantiations of specified variables with `@(...)`.
2. Prints instantiations of inferred variables with `@{...}`.
In addition, this patch removes the `Use -fprint-explicit-kinds to
see the kind arguments` error message that often arises when a type
mismatch occurs due to different kinds. Instead, whenever there is a
kind mismatch, we now enable the `-fprint-explicit-kinds` flag
locally to help cue to the programmer where the error lies.
(See `Note [Kind arguments in error messages]` in `TcErrors`.)
As a result, these funny `@{...}` things can now appear to the user
even without turning on the `-fprint-explicit-kinds` flag explicitly,
so I took the liberty of documenting them in the users' guide.
Test Plan: ./validate
Reviewers: goldfire, simonpj, bgamari
Reviewed By: simonpj
Subscribers: rwbarton, carter
GHC Trac Issues: #15871
Differential Revision: https://phabricator.haskell.org/D5314
Diffstat (limited to 'testsuite/tests')
-rw-r--r-- | testsuite/tests/dependent/should_fail/T15825.stderr | 5 | ||||
-rw-r--r-- | testsuite/tests/generics/T10604/T10604_deriving.stderr | 597 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/GhciKinds.stdout | 2 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/T11376.stdout | 8 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/T15341.stdout | 4 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/T6018ghcifail.stderr | 14 | ||||
-rw-r--r-- | testsuite/tests/indexed-types/should_fail/T9171.stderr | 7 | ||||
-rw-r--r-- | testsuite/tests/partial-sigs/should_compile/T15039b.stderr | 10 | ||||
-rw-r--r-- | testsuite/tests/partial-sigs/should_compile/T15039d.stderr | 10 | ||||
-rw-r--r-- | testsuite/tests/polykinds/T10570.stderr | 3 | ||||
-rw-r--r-- | testsuite/tests/polykinds/T14520.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/polykinds/T9144.stderr | 5 | ||||
-rw-r--r-- | testsuite/tests/polykinds/TidyClassKinds.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/typecheck/should_fail/T15515.stderr | 3 | ||||
-rw-r--r-- | testsuite/tests/typecheck/should_fail/T6018fail.stderr | 17 | ||||
-rw-r--r-- | testsuite/tests/typecheck/should_fail/T6018failclosed.stderr | 7 |
16 files changed, 342 insertions, 354 deletions
diff --git a/testsuite/tests/dependent/should_fail/T15825.stderr b/testsuite/tests/dependent/should_fail/T15825.stderr index 5e67bf763e..d64cab0494 100644 --- a/testsuite/tests/dependent/should_fail/T15825.stderr +++ b/testsuite/tests/dependent/should_fail/T15825.stderr @@ -1,5 +1,6 @@ T15825.hs:14:29: error: - • Illegal type synonym family application ‘GHC.Types.Any’ in instance: - X a + • Illegal type synonym family application ‘GHC.Types.Any + @k’ in instance: + X (a @(GHC.Types.Any @k)) • In the instance declaration for ‘X (a :: *)’ diff --git a/testsuite/tests/generics/T10604/T10604_deriving.stderr b/testsuite/tests/generics/T10604/T10604_deriving.stderr index cb9ea36454..0d42f865dc 100644 --- a/testsuite/tests/generics/T10604/T10604_deriving.stderr +++ b/testsuite/tests/generics/T10604/T10604_deriving.stderr @@ -7,16 +7,16 @@ Derived class instances: GHC.Generics.to (GHC.Generics.M1 x) = case x of { x -> case x of } instance GHC.Generics.Generic1 - GHC.Types.Bool T10604_deriving.Empty where + @GHC.Types.Bool T10604_deriving.Empty where GHC.Generics.from1 x = GHC.Generics.M1 (case x of { x -> case x of }) GHC.Generics.to1 (GHC.Generics.M1 x) = case x of { x -> case x of } - 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). - GHC.Generics.Generic (T10604_deriving.Proxy k a) where + GHC.Generics.Generic (T10604_deriving.Proxy @k a) where GHC.Generics.from x = GHC.Generics.M1 (case x of { @@ -25,7 +25,7 @@ Derived class instances: = case x of { (GHC.Generics.M1 GHC.Generics.U1) -> T10604_deriving.Proxy } - instance GHC.Generics.Generic1 k (T10604_deriving.Proxy k) where + instance GHC.Generics.Generic1 @k (T10604_deriving.Proxy @k) where GHC.Generics.from1 x = GHC.Generics.M1 (case x of { @@ -45,7 +45,7 @@ Derived class instances: (GHC.Generics.M1 (GHC.Generics.M1 (GHC.Generics.K1 g1))) -> T10604_deriving.Wrap g1 } - instance GHC.Generics.Generic1 (* -> *) T10604_deriving.Wrap where + instance GHC.Generics.Generic1 @(* -> *) T10604_deriving.Wrap where GHC.Generics.from1 x = GHC.Generics.M1 (case x of { @@ -57,7 +57,7 @@ Derived class instances: -> T10604_deriving.Wrap (GHC.Generics.unRec1 g1) } instance forall k (a :: k -> *). - GHC.Generics.Generic (T10604_deriving.Wrap2 k a) where + GHC.Generics.Generic (T10604_deriving.Wrap2 @k a) where GHC.Generics.from x = GHC.Generics.M1 (case x of { @@ -69,7 +69,7 @@ Derived class instances: -> T10604_deriving.Wrap2 g1 } instance GHC.Generics.Generic1 - (k -> *) (T10604_deriving.Wrap2 k) where + @(k -> *) (T10604_deriving.Wrap2 @k) where GHC.Generics.from1 x = GHC.Generics.M1 (case x of { @@ -86,7 +86,7 @@ Derived class instances: (GHC.Base.fmap GHC.Generics.unRec1) GHC.Generics.unComp1 g1) } instance forall k (a :: k). - GHC.Generics.Generic (T10604_deriving.SumOfProducts k a) where + GHC.Generics.Generic (T10604_deriving.SumOfProducts @{k} a) where GHC.Generics.from x = GHC.Generics.M1 (case x of @@ -112,7 +112,7 @@ Derived class instances: -> T10604_deriving.Prod2 g1 g2 instance GHC.Generics.Generic1 - k (T10604_deriving.SumOfProducts k) where + @k (T10604_deriving.SumOfProducts @{k}) where GHC.Generics.from1 x = GHC.Generics.M1 (case x of @@ -156,7 +156,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 @@ -176,359 +176,354 @@ Derived class instances: Derived type family instances: type GHC.Generics.Rep (T10604_deriving.Empty a) = GHC.Generics.D1 - * + @{*} ('GHC.Generics.MetaData "Empty" "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 - ('GHC.Generics.MetaData - "Empty" - "T10604_deriving" - "main" - 'GHC.Types.False) - (GHC.Generics.V1 GHC.Types.Bool) - type GHC.Generics.Rep (T10604_deriving.Proxy k a) = GHC.Generics.D1 - * - ('GHC.Generics.MetaData - "Proxy" - "T10604_deriving" - "main" - 'GHC.Types.False) - (GHC.Generics.C1 - * - ('GHC.Generics.MetaCons - "Proxy" - 'GHC.Generics.PrefixI - 'GHC.Types.False) - (GHC.Generics.U1 *)) + @GHC.Types.Bool T10604_deriving.Empty = GHC.Generics.D1 + @{GHC.Types.Bool} + ('GHC.Generics.MetaData + "Empty" + "T10604_deriving" + "main" + 'GHC.Types.False) + (GHC.Generics.V1 @GHC.Types.Bool) + type GHC.Generics.Rep + (T10604_deriving.Proxy @k a) = GHC.Generics.D1 + @{*} + ('GHC.Generics.MetaData + "Proxy" "T10604_deriving" "main" 'GHC.Types.False) + (GHC.Generics.C1 + @{*} + ('GHC.Generics.MetaCons + "Proxy" 'GHC.Generics.PrefixI 'GHC.Types.False) + (GHC.Generics.U1 @*)) type GHC.Generics.Rep1 - k (T10604_deriving.Proxy k) = GHC.Generics.D1 - k - ('GHC.Generics.MetaData - "Proxy" "T10604_deriving" "main" 'GHC.Types.False) - (GHC.Generics.C1 - k - ('GHC.Generics.MetaCons - "Proxy" 'GHC.Generics.PrefixI 'GHC.Types.False) - (GHC.Generics.U1 k)) + @k (T10604_deriving.Proxy @k) = GHC.Generics.D1 + @{k} + ('GHC.Generics.MetaData + "Proxy" "T10604_deriving" "main" 'GHC.Types.False) + (GHC.Generics.C1 + @{k} + ('GHC.Generics.MetaCons + "Proxy" 'GHC.Generics.PrefixI 'GHC.Types.False) + (GHC.Generics.U1 @k)) type GHC.Generics.Rep (T10604_deriving.Wrap a) = GHC.Generics.D1 - * + @{*} ('GHC.Generics.MetaData "Wrap" "T10604_deriving" "main" 'GHC.Types.False) (GHC.Generics.C1 - * + @{*} ('GHC.Generics.MetaCons "Wrap" 'GHC.Generics.PrefixI 'GHC.Types.False) (GHC.Generics.S1 - * + @{*} ('GHC.Generics.MetaSel - ('GHC.Maybe.Nothing GHC.Types.Symbol) + ('GHC.Maybe.Nothing @GHC.Types.Symbol) 'GHC.Generics.NoSourceUnpackedness 'GHC.Generics.NoSourceStrictness 'GHC.Generics.DecidedLazy) (GHC.Generics.Rec0 - * - (T10604_deriving.Proxy (* -> *) a)))) + @{*} + (T10604_deriving.Proxy @(* -> *) a)))) type GHC.Generics.Rep1 - (* -> *) T10604_deriving.Wrap = GHC.Generics.D1 - (* -> *) - ('GHC.Generics.MetaData - "Wrap" "T10604_deriving" "main" 'GHC.Types.False) - (GHC.Generics.C1 - (* -> *) - ('GHC.Generics.MetaCons - "Wrap" '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.Rec1 - (* -> *) (T10604_deriving.Proxy (* -> *))))) - type GHC.Generics.Rep (T10604_deriving.Wrap2 k a) = GHC.Generics.D1 - * - ('GHC.Generics.MetaData - "Wrap2" - "T10604_deriving" - "main" - 'GHC.Types.False) + @(* -> *) T10604_deriving.Wrap = GHC.Generics.D1 + @{* -> *} + ('GHC.Generics.MetaData + "Wrap" "T10604_deriving" "main" 'GHC.Types.False) + (GHC.Generics.C1 + @{* -> *} + ('GHC.Generics.MetaCons + "Wrap" '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.Rec1 + @(* -> *) (T10604_deriving.Proxy @(* -> *))))) + type GHC.Generics.Rep + (T10604_deriving.Wrap2 @k a) = GHC.Generics.D1 + @{*} + ('GHC.Generics.MetaData + "Wrap2" "T10604_deriving" "main" 'GHC.Types.False) + (GHC.Generics.C1 + @{*} + ('GHC.Generics.MetaCons + "Wrap2" '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 + @{*} + (T10604_deriving.Proxy + @* (T10604_deriving.Proxy @(k -> *) a))))) + type GHC.Generics.Rep1 + @(k -> *) (T10604_deriving.Wrap2 @k) = GHC.Generics.D1 + @{k -> *} + ('GHC.Generics.MetaData + "Wrap2" + "T10604_deriving" + "main" + 'GHC.Types.False) + (GHC.Generics.C1 + @{k -> *} + ('GHC.Generics.MetaCons + "Wrap2" + 'GHC.Generics.PrefixI + 'GHC.Types.False) + (GHC.Generics.S1 + @{k -> *} + ('GHC.Generics.MetaSel + ('GHC.Maybe.Nothing @GHC.Types.Symbol) + 'GHC.Generics.NoSourceUnpackedness + 'GHC.Generics.NoSourceStrictness + 'GHC.Generics.DecidedLazy) + ((GHC.Generics.:.:) + @* + @(k -> *) + (T10604_deriving.Proxy @*) + (GHC.Generics.Rec1 + @(k -> *) + (T10604_deriving.Proxy @(k -> *)))))) + type GHC.Generics.Rep + (T10604_deriving.SumOfProducts @{k} a) = GHC.Generics.D1 + @{*} + ('GHC.Generics.MetaData + "SumOfProducts" + "T10604_deriving" + "main" + 'GHC.Types.False) + ((GHC.Generics.:+:) + @* + (GHC.Generics.C1 + @{*} + ('GHC.Generics.MetaCons + "Prod1" + 'GHC.Generics.PrefixI + 'GHC.Types.False) + ((GHC.Generics.:*:) + @* + (GHC.Generics.S1 + @{*} + ('GHC.Generics.MetaSel + ('GHC.Maybe.Nothing + @GHC.Types.Symbol) + 'GHC.Generics.NoSourceUnpackedness + 'GHC.Generics.NoSourceStrictness + 'GHC.Generics.DecidedLazy) + (GHC.Generics.Rec0 + @{*} + (T10604_deriving.Proxy @k a))) + (GHC.Generics.S1 + @{*} + ('GHC.Generics.MetaSel + ('GHC.Maybe.Nothing + @GHC.Types.Symbol) + 'GHC.Generics.NoSourceUnpackedness + 'GHC.Generics.NoSourceStrictness + 'GHC.Generics.DecidedLazy) + (GHC.Generics.Rec0 + @{*} + (T10604_deriving.Proxy @k a))))) + (GHC.Generics.C1 + @{*} + ('GHC.Generics.MetaCons + "Prod2" + 'GHC.Generics.PrefixI + 'GHC.Types.False) + ((GHC.Generics.:*:) + @* + (GHC.Generics.S1 + @{*} + ('GHC.Generics.MetaSel + ('GHC.Maybe.Nothing + @GHC.Types.Symbol) + 'GHC.Generics.NoSourceUnpackedness + 'GHC.Generics.NoSourceStrictness + 'GHC.Generics.DecidedLazy) + (GHC.Generics.Rec0 + @{*} + (T10604_deriving.Proxy @k a))) + (GHC.Generics.S1 + @{*} + ('GHC.Generics.MetaSel + ('GHC.Maybe.Nothing + @GHC.Types.Symbol) + 'GHC.Generics.NoSourceUnpackedness + 'GHC.Generics.NoSourceStrictness + 'GHC.Generics.DecidedLazy) + (GHC.Generics.Rec0 + @{*} + (T10604_deriving.Proxy @k a)))))) + type GHC.Generics.Rep1 + @k (T10604_deriving.SumOfProducts @{k}) = GHC.Generics.D1 + @{k} + ('GHC.Generics.MetaData + "SumOfProducts" + "T10604_deriving" + "main" + 'GHC.Types.False) + ((GHC.Generics.:+:) + @k (GHC.Generics.C1 - * + @{k} ('GHC.Generics.MetaCons - "Wrap2" + "Prod1" '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 - * - (T10604_deriving.Proxy - * - (T10604_deriving.Proxy - (k -> *) a))))) - type GHC.Generics.Rep1 - (k -> *) (T10604_deriving.Wrap2 k) = GHC.Generics.D1 - (k -> *) - ('GHC.Generics.MetaData - "Wrap2" - "T10604_deriving" - "main" - 'GHC.Types.False) - (GHC.Generics.C1 - (k -> *) - ('GHC.Generics.MetaCons - "Wrap2" - 'GHC.Generics.PrefixI - 'GHC.Types.False) - (GHC.Generics.S1 - (k -> *) - ('GHC.Generics.MetaSel - ('GHC.Maybe.Nothing GHC.Types.Symbol) - 'GHC.Generics.NoSourceUnpackedness - 'GHC.Generics.NoSourceStrictness - 'GHC.Generics.DecidedLazy) - ((GHC.Generics.:.:) - * - (k -> *) - (T10604_deriving.Proxy *) - (GHC.Generics.Rec1 - (k -> *) - (T10604_deriving.Proxy (k -> *)))))) - type GHC.Generics.Rep - (T10604_deriving.SumOfProducts k a) = GHC.Generics.D1 - * - ('GHC.Generics.MetaData - "SumOfProducts" - "T10604_deriving" - "main" - 'GHC.Types.False) - ((GHC.Generics.:+:) - * - (GHC.Generics.C1 - * - ('GHC.Generics.MetaCons - "Prod1" - 'GHC.Generics.PrefixI - 'GHC.Types.False) - ((GHC.Generics.:*:) - * - (GHC.Generics.S1 - * - ('GHC.Generics.MetaSel - ('GHC.Maybe.Nothing - GHC.Types.Symbol) - 'GHC.Generics.NoSourceUnpackedness - 'GHC.Generics.NoSourceStrictness - 'GHC.Generics.DecidedLazy) - (GHC.Generics.Rec0 - * (T10604_deriving.Proxy k a))) - (GHC.Generics.S1 - * - ('GHC.Generics.MetaSel - ('GHC.Maybe.Nothing - GHC.Types.Symbol) - 'GHC.Generics.NoSourceUnpackedness - 'GHC.Generics.NoSourceStrictness - 'GHC.Generics.DecidedLazy) - (GHC.Generics.Rec0 - * (T10604_deriving.Proxy k a))))) - (GHC.Generics.C1 - * - ('GHC.Generics.MetaCons - "Prod2" - 'GHC.Generics.PrefixI - 'GHC.Types.False) - ((GHC.Generics.:*:) - * - (GHC.Generics.S1 - * - ('GHC.Generics.MetaSel - ('GHC.Maybe.Nothing - GHC.Types.Symbol) - 'GHC.Generics.NoSourceUnpackedness - 'GHC.Generics.NoSourceStrictness - 'GHC.Generics.DecidedLazy) - (GHC.Generics.Rec0 - * (T10604_deriving.Proxy k a))) - (GHC.Generics.S1 - * - ('GHC.Generics.MetaSel - ('GHC.Maybe.Nothing - GHC.Types.Symbol) - 'GHC.Generics.NoSourceUnpackedness - 'GHC.Generics.NoSourceStrictness - 'GHC.Generics.DecidedLazy) - (GHC.Generics.Rec0 - * (T10604_deriving.Proxy k a)))))) - type GHC.Generics.Rep1 - k (T10604_deriving.SumOfProducts k) = GHC.Generics.D1 - k - ('GHC.Generics.MetaData - "SumOfProducts" - "T10604_deriving" - "main" - 'GHC.Types.False) - ((GHC.Generics.:+:) - k - (GHC.Generics.C1 - k - ('GHC.Generics.MetaCons - "Prod1" - 'GHC.Generics.PrefixI - 'GHC.Types.False) - ((GHC.Generics.:*:) - k - (GHC.Generics.S1 - k - ('GHC.Generics.MetaSel - ('GHC.Maybe.Nothing - GHC.Types.Symbol) - 'GHC.Generics.NoSourceUnpackedness - 'GHC.Generics.NoSourceStrictness - 'GHC.Generics.DecidedLazy) - (GHC.Generics.Rec1 - k (T10604_deriving.Proxy k))) - (GHC.Generics.S1 - k - ('GHC.Generics.MetaSel - ('GHC.Maybe.Nothing - GHC.Types.Symbol) - 'GHC.Generics.NoSourceUnpackedness - 'GHC.Generics.NoSourceStrictness - 'GHC.Generics.DecidedLazy) - (GHC.Generics.Rec1 - k (T10604_deriving.Proxy k))))) - (GHC.Generics.C1 - k - ('GHC.Generics.MetaCons - "Prod2" - 'GHC.Generics.PrefixI - 'GHC.Types.False) - ((GHC.Generics.:*:) - k - (GHC.Generics.S1 - k - ('GHC.Generics.MetaSel - ('GHC.Maybe.Nothing - GHC.Types.Symbol) - 'GHC.Generics.NoSourceUnpackedness - 'GHC.Generics.NoSourceStrictness - 'GHC.Generics.DecidedLazy) - (GHC.Generics.Rec1 - k (T10604_deriving.Proxy k))) - (GHC.Generics.S1 - k - ('GHC.Generics.MetaSel - ('GHC.Maybe.Nothing - GHC.Types.Symbol) - 'GHC.Generics.NoSourceUnpackedness - 'GHC.Generics.NoSourceStrictness - 'GHC.Generics.DecidedLazy) - (GHC.Generics.Rec1 - k (T10604_deriving.Proxy k)))))) + ((GHC.Generics.:*:) + @k + (GHC.Generics.S1 + @{k} + ('GHC.Generics.MetaSel + ('GHC.Maybe.Nothing + @GHC.Types.Symbol) + 'GHC.Generics.NoSourceUnpackedness + 'GHC.Generics.NoSourceStrictness + 'GHC.Generics.DecidedLazy) + (GHC.Generics.Rec1 + @k (T10604_deriving.Proxy @k))) + (GHC.Generics.S1 + @{k} + ('GHC.Generics.MetaSel + ('GHC.Maybe.Nothing + @GHC.Types.Symbol) + 'GHC.Generics.NoSourceUnpackedness + 'GHC.Generics.NoSourceStrictness + 'GHC.Generics.DecidedLazy) + (GHC.Generics.Rec1 + @k + (T10604_deriving.Proxy @k))))) + (GHC.Generics.C1 + @{k} + ('GHC.Generics.MetaCons + "Prod2" + 'GHC.Generics.PrefixI + 'GHC.Types.False) + ((GHC.Generics.:*:) + @k + (GHC.Generics.S1 + @{k} + ('GHC.Generics.MetaSel + ('GHC.Maybe.Nothing + @GHC.Types.Symbol) + 'GHC.Generics.NoSourceUnpackedness + 'GHC.Generics.NoSourceStrictness + 'GHC.Generics.DecidedLazy) + (GHC.Generics.Rec1 + @k (T10604_deriving.Proxy @k))) + (GHC.Generics.S1 + @{k} + ('GHC.Generics.MetaSel + ('GHC.Maybe.Nothing + @GHC.Types.Symbol) + 'GHC.Generics.NoSourceUnpackedness + 'GHC.Generics.NoSourceStrictness + 'GHC.Generics.DecidedLazy) + (GHC.Generics.Rec1 + @k + (T10604_deriving.Proxy @k)))))) type GHC.Generics.Rep (T10604_deriving.Starify a) = 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.Types.Symbol) 'GHC.Generics.NoSourceUnpackedness 'GHC.Generics.NoSourceStrictness 'GHC.Generics.DecidedLazy) - (GHC.Generics.Rec0 * a))) + (GHC.Generics.Rec0 @{*} a))) (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.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)))) + @{*} 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)))) ==================== 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 @*) diff --git a/testsuite/tests/ghci/scripts/GhciKinds.stdout b/testsuite/tests/ghci/scripts/GhciKinds.stdout index 5431bbc17d..b00c8650e6 100644 --- a/testsuite/tests/ghci/scripts/GhciKinds.stdout +++ b/testsuite/tests/ghci/scripts/GhciKinds.stdout @@ -14,4 +14,4 @@ $(unboxedTupleT 2) :: forall (k0 :: RuntimeRep) (k1 :: RuntimeRep). -> TYPE k1 -> TYPE ('TupleRep - ((':) RuntimeRep k0 ((':) RuntimeRep k1 ('[] RuntimeRep)))) + ((':) @RuntimeRep k0 ((':) @RuntimeRep k1 ('[] @RuntimeRep)))) diff --git a/testsuite/tests/ghci/scripts/T11376.stdout b/testsuite/tests/ghci/scripts/T11376.stdout index c94516772c..01e749a22c 100644 --- a/testsuite/tests/ghci/scripts/T11376.stdout +++ b/testsuite/tests/ghci/scripts/T11376.stdout @@ -1,6 +1,6 @@ bar @Int :: Int -> b -> Int bar @Int :: forall {b}. Int -> b -> Int -prox :: forall {k} {a :: k}. Prox k a -prox @Int :: Prox * Int -Prox :: forall {k} {a :: k}. Prox k a -Prox @Int :: Prox * Int +prox :: forall {k} {a :: k}. Prox @{k} a +prox @Int :: Prox @{*} Int +Prox :: forall {k} {a :: k}. Prox @{k} a +Prox @Int :: Prox @{*} Int diff --git a/testsuite/tests/ghci/scripts/T15341.stdout b/testsuite/tests/ghci/scripts/T15341.stdout index 1d29dc7f8f..0633ae5b39 100644 --- a/testsuite/tests/ghci/scripts/T15341.stdout +++ b/testsuite/tests/ghci/scripts/T15341.stdout @@ -1,6 +1,6 @@ type family Foo (a :: k) :: k where Foo a = a -- Defined at T15341.hs:5:1 -type family Foo k (a :: k) :: k - where Foo k a = a +type family Foo @k (a :: k) :: k + where Foo @k a = a -- Defined at T15341.hs:5:1 diff --git a/testsuite/tests/ghci/scripts/T6018ghcifail.stderr b/testsuite/tests/ghci/scripts/T6018ghcifail.stderr index 6970eb3d7c..15e19cf105 100644 --- a/testsuite/tests/ghci/scripts/T6018ghcifail.stderr +++ b/testsuite/tests/ghci/scripts/T6018ghcifail.stderr @@ -40,33 +40,31 @@ <interactive>:55:41: error: Type family equation violates injectivity annotation. Kind variable ‘k2’ cannot be inferred from the right-hand side. - Use -fprint-explicit-kinds to see the kind arguments In the type family equation: - PolyKindVarsF '[] = '[] -- Defined at <interactive>:55:41 + PolyKindVarsF @{[k2]} @[k1] ('[] @k2) = '[] @k1 + -- Defined at <interactive>:55:41 <interactive>:60:15: error: Type family equation violates injectivity annotation. Kind variable ‘k1’ cannot be inferred from the right-hand side. - Use -fprint-explicit-kinds to see the kind arguments In the type family equation: - PolyKindVars '[] = '[] -- Defined at <interactive>:60:15 + PolyKindVars @[k1] @[k2] ('[] @k1) = '[] @k2 + -- Defined at <interactive>:60:15 <interactive>:64:15: error: Type family equation violates injectivity annotation. Kind variable ‘k’ cannot be inferred from the right-hand side. - Use -fprint-explicit-kinds to see the kind arguments In the type family equation: forall k (a :: k) (b :: k). - Fc a b = Int -- Defined at <interactive>:64:15 + Fc @k a b = Int -- Defined at <interactive>:64:15 <interactive>:68:15: error: Type family equation violates injectivity annotation. Type and kind variables ‘k’, ‘a’, ‘b’ cannot be inferred from the right-hand side. - Use -fprint-explicit-kinds to see the kind arguments In the type family equation: forall k (a :: k) (b :: k). - Gc a b = Int -- Defined at <interactive>:68:15 + Gc @k a b = Int -- Defined at <interactive>:68:15 <interactive>:81:15: error: Type family equations violate injectivity annotation: diff --git a/testsuite/tests/indexed-types/should_fail/T9171.stderr b/testsuite/tests/indexed-types/should_fail/T9171.stderr index 0f70348850..6567570d46 100644 --- a/testsuite/tests/indexed-types/should_fail/T9171.stderr +++ b/testsuite/tests/indexed-types/should_fail/T9171.stderr @@ -1,10 +1,11 @@ T9171.hs:10:20: error: - • Couldn't match expected type ‘GetParam Base (GetParam Base Int)’ - with actual type ‘GetParam Base (GetParam Base Int)’ + • Couldn't match expected type ‘GetParam + @* @k2 @* Base (GetParam @* @* @k2 Base Int)’ + with actual type ‘GetParam + @* @k20 @* Base (GetParam @* @* @k20 Base Int)’ NB: ‘GetParam’ is a non-injective type family The type variable ‘k20’ is ambiguous - Use -fprint-explicit-kinds to see the kind arguments • In the ambiguity check for an expression type signature To defer the ambiguity check to use sites, enable AllowAmbiguousTypes In an expression type signature: GetParam Base (GetParam Base Int) diff --git a/testsuite/tests/partial-sigs/should_compile/T15039b.stderr b/testsuite/tests/partial-sigs/should_compile/T15039b.stderr index 21ec20ae40..c28b94879b 100644 --- a/testsuite/tests/partial-sigs/should_compile/T15039b.stderr +++ b/testsuite/tests/partial-sigs/should_compile/T15039b.stderr @@ -37,21 +37,21 @@ T15039b.hs:25:14: warning: [-Wpartial-type-signatures (in -Wdefault)] ex3 :: Dict ((a :: *) ~~ (b :: k)) -> () (bound at T15039b.hs:25:1) T15039b.hs:33:14: warning: [-Wpartial-type-signatures (in -Wdefault)] - • Found type wildcard ‘_’ standing for ‘Dict (Coercible * a b)’ + • Found type wildcard ‘_’ standing for ‘Dict (Coercible @* a b)’ Where: ‘a’, ‘b’ are rigid type variables bound by the type signature for: - ex6 :: forall a b. Dict (Coercible * a b) -> () + ex6 :: forall a b. Dict (Coercible @* a b) -> () at T15039b.hs:32:1-53 • In a pattern type signature: _ In the pattern: Dict :: _ In an equation for ‘ex6’: ex6 (Dict :: _) = () • Relevant bindings include - ex6 :: Dict (Coercible * a b) -> () (bound at T15039b.hs:33:1) + ex6 :: Dict (Coercible @* a b) -> () (bound at T15039b.hs:33:1) T15039b.hs:35:8: warning: [-Wpartial-type-signatures (in -Wdefault)] - • Found type wildcard ‘_’ standing for ‘Coercible * a b’ + • Found type wildcard ‘_’ standing for ‘Coercible @* a b’ Where: ‘a’, ‘b’ are rigid type variables bound by - the inferred type of ex7 :: Coercible * a b => Coercion * a b + the inferred type of ex7 :: Coercible @* a b => Coercion @{*} a b at T15039b.hs:36:1-14 • In the type signature: ex7 :: _ => Coercion (a :: Type) (b :: Type) diff --git a/testsuite/tests/partial-sigs/should_compile/T15039d.stderr b/testsuite/tests/partial-sigs/should_compile/T15039d.stderr index 620199a13c..cca94416b8 100644 --- a/testsuite/tests/partial-sigs/should_compile/T15039d.stderr +++ b/testsuite/tests/partial-sigs/should_compile/T15039d.stderr @@ -38,21 +38,21 @@ T15039d.hs:25:14: warning: [-Wpartial-type-signatures (in -Wdefault)] ex3 :: Dict ((a :: *) ~~ (b :: k)) -> () (bound at T15039d.hs:25:1) T15039d.hs:33:14: warning: [-Wpartial-type-signatures (in -Wdefault)] - • Found type wildcard ‘_’ standing for ‘Dict (Coercible * a b)’ + • Found type wildcard ‘_’ standing for ‘Dict (Coercible @* a b)’ Where: ‘a’, ‘b’ are rigid type variables bound by the type signature for: - ex6 :: forall a b. Dict (Coercible * a b) -> () + ex6 :: forall a b. Dict (Coercible @* a b) -> () at T15039d.hs:32:1-53 • In a pattern type signature: _ In the pattern: Dict :: _ In an equation for ‘ex6’: ex6 (Dict :: _) = () • Relevant bindings include - ex6 :: Dict (Coercible * a b) -> () (bound at T15039d.hs:33:1) + ex6 :: Dict (Coercible @* a b) -> () (bound at T15039d.hs:33:1) T15039d.hs:35:8: warning: [-Wpartial-type-signatures (in -Wdefault)] - • Found type wildcard ‘_’ standing for ‘Coercible * a b’ + • Found type wildcard ‘_’ standing for ‘Coercible @* a b’ Where: ‘a’, ‘b’ are rigid type variables bound by - the inferred type of ex7 :: Coercible * a b => Coercion * a b + the inferred type of ex7 :: Coercible @* a b => Coercion @{*} a b at T15039d.hs:36:1-14 • In the type signature: ex7 :: _ => Coercion (a :: Type) (b :: Type) diff --git a/testsuite/tests/polykinds/T10570.stderr b/testsuite/tests/polykinds/T10570.stderr index 3c91db5cfb..568d6b298c 100644 --- a/testsuite/tests/polykinds/T10570.stderr +++ b/testsuite/tests/polykinds/T10570.stderr @@ -3,7 +3,6 @@ T10570.hs:10:10: error: • Illegal instance declaration for ‘ConsByIdx2 Int a Proxy cls’ The coverage condition fails in class ‘ConsByIdx2’ for functional dependency: ‘x -> m’ - Reason: lhs type ‘Int’ does not determine rhs type ‘Proxy’ + Reason: lhs type ‘Int’ does not determine rhs type ‘Proxy @{k}’ Un-determined variable: k - Use -fprint-explicit-kinds to see the kind arguments • In the instance declaration for ‘ConsByIdx2 Int a Proxy cls’ diff --git a/testsuite/tests/polykinds/T14520.stderr b/testsuite/tests/polykinds/T14520.stderr index 9c290ff4a5..cc7619d39b 100644 --- a/testsuite/tests/polykinds/T14520.stderr +++ b/testsuite/tests/polykinds/T14520.stderr @@ -1,6 +1,6 @@ T14520.hs:15:24: error: • Expected kind ‘bat w w’, - but ‘Id’ has kind ‘XXX a0 * (XXX a0 (a0 ~>> *) kat0 b0) b0’ + but ‘Id’ has kind ‘XXX @a0 @* (XXX @a0 @(a0 ~>> *) kat0 b0) b0’ • In the first argument of ‘Sing’, namely ‘(Id :: bat w w)’ In the type signature: sId :: Sing w -> Sing (Id :: bat w w) diff --git a/testsuite/tests/polykinds/T9144.stderr b/testsuite/tests/polykinds/T9144.stderr index 5db0260fc9..f58a57254b 100644 --- a/testsuite/tests/polykinds/T9144.stderr +++ b/testsuite/tests/polykinds/T9144.stderr @@ -1,9 +1,8 @@ T9144.hs:34:26: error: • Couldn't match type ‘Integer’ with ‘FooTerm’ - Expected type: DemoteRep 'KProxy - Actual type: DemoteRep 'KProxy - Use -fprint-explicit-kinds to see the kind arguments + Expected type: DemoteRep @Nat ('KProxy @Nat) + Actual type: DemoteRep @Foo ('KProxy @Foo) • In the first argument of ‘toSing’, namely ‘n’ In the expression: toSing n In the expression: diff --git a/testsuite/tests/polykinds/TidyClassKinds.stderr b/testsuite/tests/polykinds/TidyClassKinds.stderr index 5cbea8b417..eb51ca5692 100644 --- a/testsuite/tests/polykinds/TidyClassKinds.stderr +++ b/testsuite/tests/polykinds/TidyClassKinds.stderr @@ -1,7 +1,7 @@ TidyClassKinds.hs:12:10: error: • Illegal instance declaration for - ‘Poly (k -> *) (k -> *) (ProxySyn k) (ProxySyn k)’ + ‘Poly @{k -> *} @{k -> *} (ProxySyn @{k}) (ProxySyn @{k})’ (All instance types must be of the form (T t1 ... tn) where T is not a synonym. Use TypeSynonymInstances if you want to disable this.) diff --git a/testsuite/tests/typecheck/should_fail/T15515.stderr b/testsuite/tests/typecheck/should_fail/T15515.stderr index f58d8afb2d..ded60fc30f 100644 --- a/testsuite/tests/typecheck/should_fail/T15515.stderr +++ b/testsuite/tests/typecheck/should_fail/T15515.stderr @@ -1,6 +1,5 @@ T15515.hs:16:10: error: • Illegal type synonym family application ‘F’ in instance: - C D - Use -fprint-explicit-kinds to see the kind arguments + C @{F -> *} D • In the instance declaration for ‘C (D :: F -> Type)’ diff --git a/testsuite/tests/typecheck/should_fail/T6018fail.stderr b/testsuite/tests/typecheck/should_fail/T6018fail.stderr index 7f7dadd499..0e230e62c8 100644 --- a/testsuite/tests/typecheck/should_fail/T6018fail.stderr +++ b/testsuite/tests/typecheck/should_fail/T6018fail.stderr @@ -60,33 +60,31 @@ T6018fail.hs:53:15: error: T6018fail.hs:61:10: error: Type family equation violates injectivity annotation. Kind variable ‘k2’ cannot be inferred from the right-hand side. - Use -fprint-explicit-kinds to see the kind arguments In the type family equation: - PolyKindVarsF '[] = '[] -- Defined at T6018fail.hs:61:10 + PolyKindVarsF @{[k2]} @[k1] ('[] @k2) = '[] @k1 + -- Defined at T6018fail.hs:61:10 T6018fail.hs:64:15: error: Type family equation violates injectivity annotation. Kind variable ‘k1’ cannot be inferred from the right-hand side. - Use -fprint-explicit-kinds to see the kind arguments In the type family equation: - PolyKindVars '[] = '[] -- Defined at T6018fail.hs:64:15 + PolyKindVars @[k1] @[k2] ('[] @k1) = '[] @k2 + -- Defined at T6018fail.hs:64:15 T6018fail.hs:68:15: error: Type family equation violates injectivity annotation. Kind variable ‘k’ cannot be inferred from the right-hand side. - Use -fprint-explicit-kinds to see the kind arguments In the type family equation: forall k (a :: k) (b :: k). - Fc a b = Int -- Defined at T6018fail.hs:68:15 + Fc @k a b = Int -- Defined at T6018fail.hs:68:15 T6018fail.hs:72:15: error: Type family equation violates injectivity annotation. Type and kind variables ‘k’, ‘a’, ‘b’ cannot be inferred from the right-hand side. - Use -fprint-explicit-kinds to see the kind arguments In the type family equation: forall k (a :: k) (b :: k). - Gc a b = Int -- Defined at T6018fail.hs:72:15 + Gc @k a b = Int -- Defined at T6018fail.hs:72:15 T6018fail.hs:76:15: error: Type family equations violate injectivity annotation: @@ -140,10 +138,9 @@ T6018fail.hs:120:15: error: Type family equation violates injectivity annotation. Type and kind variables ‘k’, ‘c’ cannot be inferred from the right-hand side. - Use -fprint-explicit-kinds to see the kind arguments In the type family equation: forall k a b (c :: k). - G7 a b c = [G7a a b c] -- Defined at T6018fail.hs:120:15 + G7 @k a b c = [G7a @k a b c] -- Defined at T6018fail.hs:120:15 T6018fail.hs:131:1: error: Type family equations violate injectivity annotation: diff --git a/testsuite/tests/typecheck/should_fail/T6018failclosed.stderr b/testsuite/tests/typecheck/should_fail/T6018failclosed.stderr index e90dce0620..5c36a0df7c 100644 --- a/testsuite/tests/typecheck/should_fail/T6018failclosed.stderr +++ b/testsuite/tests/typecheck/should_fail/T6018failclosed.stderr @@ -26,10 +26,10 @@ T6018failclosed.hs:25:5: error: • Type family equation violates injectivity annotation. Type and kind variables ‘k1’, ‘b’ cannot be inferred from the right-hand side. - Use -fprint-explicit-kinds to see the kind arguments In the type family equation: forall k1 k2 (b :: k1) (c :: k2). - JClosed Int b c = Char -- Defined at T6018failclosed.hs:25:5 + JClosed @{k1} @{k2} Int b c = Char + -- Defined at T6018failclosed.hs:25:5 • In the equations for closed type family ‘JClosed’ In the type family declaration for ‘JClosed’ @@ -88,9 +88,8 @@ T6018failclosed.hs:61:3: error: T6018failclosed.hs:66:5: error: • Type family equation violates injectivity annotation. Kind variable ‘k’ cannot be inferred from the right-hand side. - Use -fprint-explicit-kinds to see the kind arguments In the type family equation: forall k (a :: k) (b :: k). - Gc a b = Int -- Defined at T6018failclosed.hs:66:5 + Gc @k a b = Int -- Defined at T6018failclosed.hs:66:5 • In the equations for closed type family ‘Gc’ In the type family declaration for ‘Gc’ |