summaryrefslogtreecommitdiff
path: root/testsuite/tests/polykinds
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2018-12-07 14:25:30 +0000
committerSimon Peyton Jones <simonpj@microsoft.com>2018-12-07 14:44:26 +0000
commit5b7ca03995c1d5fbd29ba0e327bb2a1f344c9419 (patch)
tree24d1d51df1ea68c0216d532cf3edac4639dcfcb7 /testsuite/tests/polykinds
parenteee1b61f85d949aa7c4bc496b5579cf759d1861e (diff)
downloadhaskell-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.stderr2
-rw-r--r--testsuite/tests/polykinds/T15592.stderr4
-rw-r--r--testsuite/tests/polykinds/T15592b.stderr7
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]