diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2018-12-07 14:25:30 +0000 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2018-12-07 14:44:26 +0000 |
commit | 5b7ca03995c1d5fbd29ba0e327bb2a1f344c9419 (patch) | |
tree | 24d1d51df1ea68c0216d532cf3edac4639dcfcb7 /testsuite/tests/polykinds | |
parent | eee1b61f85d949aa7c4bc496b5579cf759d1861e (diff) | |
download | haskell-5b7ca03995c1d5fbd29ba0e327bb2a1f344c9419.tar.gz |
Wibble to Taming the Kind Inference Monster
I had allowed rename/should_fail/T15828 (Trac #15828) to regress a bit.
The main payload of this patch is to fix that problem, at the cost of
more contortions in checkConsistentFamInst. Oh well, at least they are
highly localised.
I also update the -ddump-types code in TcRnDriver to print out some
more expicit information about each type constructor, thus instead of
DF{3} :: forall k. * -> k -> *
we get
data family DF{3} :: forall k. * -> k -> *
Remember, this is debug-printing only. This change is the reason
that so many .stderr files change.
Diffstat (limited to 'testsuite/tests/polykinds')
-rw-r--r-- | testsuite/tests/polykinds/T14450.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/polykinds/T15592.stderr | 4 | ||||
-rw-r--r-- | testsuite/tests/polykinds/T15592b.stderr | 7 |
3 files changed, 7 insertions, 6 deletions
diff --git a/testsuite/tests/polykinds/T14450.stderr b/testsuite/tests/polykinds/T14450.stderr index 107f4aa2ce..927ae6a720 100644 --- a/testsuite/tests/polykinds/T14450.stderr +++ b/testsuite/tests/polykinds/T14450.stderr @@ -2,6 +2,6 @@ T14450.hs:33:3: error: • Type indexes must match class instance head Expected: Dom @k @k (IddSym0 @k) - Actual: Dom @* @* (IddSym0 @*) -- Defined at T14450.hs:33:8 + Actual: Dom @* @* (IddSym0 @*) • In the type instance declaration for ‘Dom’ In the instance declaration for ‘Varpi (IddSym0 :: k ~> k)’ diff --git a/testsuite/tests/polykinds/T15592.stderr b/testsuite/tests/polykinds/T15592.stderr index 4086c12bf6..c2aa24d7f3 100644 --- a/testsuite/tests/polykinds/T15592.stderr +++ b/testsuite/tests/polykinds/T15592.stderr @@ -1,6 +1,6 @@ TYPE CONSTRUCTORS - type role T nominal nominal representational nominal nominal - T{5} :: forall {k} k1. (k1 -> k -> *) -> k1 -> k -> * + data type T{5} :: forall {k} k1. (k1 -> k -> *) -> k1 -> k -> * + roles nominal nominal representational nominal nominal DATA CONSTRUCTORS MkT :: forall {k} k1 (f :: k1 -> k -> *) (a :: k1) (b :: k). f a b -> T f a b -> T f a b diff --git a/testsuite/tests/polykinds/T15592b.stderr b/testsuite/tests/polykinds/T15592b.stderr index d07b3a1ac7..6db525c8a6 100644 --- a/testsuite/tests/polykinds/T15592b.stderr +++ b/testsuite/tests/polykinds/T15592b.stderr @@ -1,7 +1,8 @@ TYPE CONSTRUCTORS - C{2} :: forall {k}. k -> Constraint - type role T nominal nominal nominal nominal - T{4} :: forall k (f :: k -> *) (a :: k). f a -> * + class C{2} :: forall {k}. k -> Constraint + associated type family T{4} :: + forall k (f :: k -> *) (a :: k). f a -> * + roles nominal nominal nominal nominal Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] |