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/roles/should_compile/Roles3.stderr | |
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/roles/should_compile/Roles3.stderr')
-rw-r--r-- | testsuite/tests/roles/should_compile/Roles3.stderr | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/testsuite/tests/roles/should_compile/Roles3.stderr b/testsuite/tests/roles/should_compile/Roles3.stderr index bf76b72987..16fbdf037c 100644 --- a/testsuite/tests/roles/should_compile/Roles3.stderr +++ b/testsuite/tests/roles/should_compile/Roles3.stderr @@ -4,17 +4,17 @@ TYPE SIGNATURES meth3 :: forall a b. C3 a b => a -> F3 b -> F3 b meth4 :: forall a b. C4 a b => a -> F4 b -> F4 b TYPE CONSTRUCTORS - C1{1} :: * -> Constraint - C2{2} :: * -> * -> Constraint - C3{2} :: * -> * -> Constraint - C4{2} :: * -> * -> Constraint - type role F3 nominal - F3{1} :: * -> * - type role F4 nominal - F4{1} :: * -> * - type role Syn1 nominal - Syn1{1} :: * -> * - Syn2{1} :: * -> * + class C1{1} :: * -> Constraint + class C2{2} :: * -> * -> Constraint + class C3{2} :: * -> * -> Constraint + class C4{2} :: * -> * -> Constraint + associated type family F3{1} :: * -> * + roles nominal + type family F4{1} :: * -> * + roles nominal + type synonym Syn1{1} :: * -> * + roles nominal + type synonym Syn2{1} :: * -> * COERCION AXIOMS axiom Roles3.N:C1 :: C1 a = a -> a axiom Roles3.N:C2 :: C2 a b = (a ~ b) => a -> b |