summaryrefslogtreecommitdiff
path: root/testsuite/tests/polykinds
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/polykinds')
-rw-r--r--testsuite/tests/polykinds/T11459.stderr2
-rw-r--r--testsuite/tests/polykinds/T14561.stderr3
-rw-r--r--testsuite/tests/polykinds/T14846.stderr6
-rw-r--r--testsuite/tests/polykinds/T7230.stderr4
-rw-r--r--testsuite/tests/polykinds/T7438.stderr2
-rw-r--r--testsuite/tests/polykinds/T7524.stderr4
-rw-r--r--testsuite/tests/polykinds/T8566.stderr3
-rw-r--r--testsuite/tests/polykinds/T9017.stderr2
-rw-r--r--testsuite/tests/polykinds/T9222.stderr2
9 files changed, 16 insertions, 12 deletions
diff --git a/testsuite/tests/polykinds/T11459.stderr b/testsuite/tests/polykinds/T11459.stderr
index 72651a4e10..724395ecd7 100644
--- a/testsuite/tests/polykinds/T11459.stderr
+++ b/testsuite/tests/polykinds/T11459.stderr
@@ -1,7 +1,7 @@
T11459.hs:9:20: error:
• A newtype constructor cannot have existential type variables
- Parser :: forall a k.
+ Parser :: forall a {k}.
(forall (f :: k -> *) (r :: k).
Failure f r -> Success a f r -> f r)
-> Parser a
diff --git a/testsuite/tests/polykinds/T14561.stderr b/testsuite/tests/polykinds/T14561.stderr
index 05814f387c..16e3be33b2 100644
--- a/testsuite/tests/polykinds/T14561.stderr
+++ b/testsuite/tests/polykinds/T14561.stderr
@@ -2,4 +2,7 @@
T14561.hs:12:9: error:
Cannot use function with levity-polymorphic arguments:
unsafeCoerce# :: a -> a
+ (Note that levity-polymorphic primops such as 'coerce' and unboxed tuples
+ are eta-expanded internally because they must occur fully saturated.
+ Use -fprint-typechecker-elaboration to display the full expression.)
Levity-polymorphic arguments: a :: TYPE r
diff --git a/testsuite/tests/polykinds/T14846.stderr b/testsuite/tests/polykinds/T14846.stderr
index 6e8384542f..83e32f7a21 100644
--- a/testsuite/tests/polykinds/T14846.stderr
+++ b/testsuite/tests/polykinds/T14846.stderr
@@ -3,7 +3,7 @@ T14846.hs:38:8: error:
• Couldn't match type ‘ríki’ with ‘Hom riki’
‘ríki’ is a rigid type variable bound by
the type signature for:
- i :: forall k5 k6 (cls2 :: k6 -> Constraint) (xx :: k5)
+ i :: forall {k5} {k6} {cls2 :: k6 -> Constraint} (xx :: k5)
(a :: Struct cls2) (ríki :: Struct cls2 -> Struct cls2 -> *).
StructI xx a =>
ríki a a
@@ -12,11 +12,11 @@ T14846.hs:38:8: error:
Actual type: Hom riki a a
• When checking that instance signature for ‘i’
is more general than its signature in the class
- Instance sig: forall k1 k2 (cls :: k2 -> Constraint) (xx :: k1)
+ Instance sig: forall {k1} {k2} {cls :: k2 -> Constraint} (xx :: k1)
(a :: Struct cls).
StructI xx a =>
Hom riki a a
- Class sig: forall k1 k2 (cls :: k2 -> Constraint) (xx :: k1)
+ Class sig: forall {k1} {k2} {cls :: k2 -> Constraint} (xx :: k1)
(a :: Struct cls) (ríki :: Struct cls -> Struct cls -> *).
StructI xx a =>
ríki a a
diff --git a/testsuite/tests/polykinds/T7230.stderr b/testsuite/tests/polykinds/T7230.stderr
index 48781e8f7f..f78ccc0d61 100644
--- a/testsuite/tests/polykinds/T7230.stderr
+++ b/testsuite/tests/polykinds/T7230.stderr
@@ -9,13 +9,13 @@ T7230.hs:48:32: error:
at T7230.hs:47:1-68
or from: xs ~ (x : xs1)
bound by a pattern with constructor:
- SCons :: forall a (x :: a) (xs :: [a]).
+ SCons :: forall {a} (x :: a) (xs :: [a]).
Sing x -> Sing xs -> Sing (x : xs),
in an equation for ‘crash’
at T7230.hs:48:8-27
or from: xs1 ~ (x1 : xs2)
bound by a pattern with constructor:
- SCons :: forall a (x :: a) (xs :: [a]).
+ SCons :: forall {a} (x :: a) (xs :: [a]).
Sing x -> Sing xs -> Sing (x : xs),
in an equation for ‘crash’
at T7230.hs:48:17-26
diff --git a/testsuite/tests/polykinds/T7438.stderr b/testsuite/tests/polykinds/T7438.stderr
index 6c4eec47f2..34440d774e 100644
--- a/testsuite/tests/polykinds/T7438.stderr
+++ b/testsuite/tests/polykinds/T7438.stderr
@@ -4,7 +4,7 @@ T7438.hs:6:14: error:
‘p’ is untouchable
inside the constraints: b ~ a
bound by a pattern with constructor:
- Nil :: forall k (a :: k). Thrist a a,
+ Nil :: forall {k} (a :: k). Thrist a a,
in an equation for ‘go’
at T7438.hs:6:4-6
‘p’ is a rigid type variable bound by
diff --git a/testsuite/tests/polykinds/T7524.stderr b/testsuite/tests/polykinds/T7524.stderr
index 26cfe39e8a..a158f58007 100644
--- a/testsuite/tests/polykinds/T7524.stderr
+++ b/testsuite/tests/polykinds/T7524.stderr
@@ -1,6 +1,6 @@
T7524.hs:5:15: error:
Conflicting family instance declarations:
- forall k2 (a :: k2). F a a = Int -- Defined at T7524.hs:5:15
- forall k1 k2 (a :: k1) (b :: k2).
+ forall {k2} {a :: k2}. F a a = Int -- Defined at T7524.hs:5:15
+ forall {k1} {k2} {a :: k1} {b :: k2}.
F a b = Bool -- Defined at T7524.hs:6:15
diff --git a/testsuite/tests/polykinds/T8566.stderr b/testsuite/tests/polykinds/T8566.stderr
index 44fae4202e..0e4b6a8fff 100644
--- a/testsuite/tests/polykinds/T8566.stderr
+++ b/testsuite/tests/polykinds/T8566.stderr
@@ -6,7 +6,8 @@ T8566.hs:34:9: error:
bound by the instance declaration at T8566.hs:32:10-67
or from: 'AA t (a : as) ~ 'AA t1 as1
bound by a pattern with constructor:
- A :: forall v (t :: v) (as :: [U (*)]) (r :: [*]). I ('AA t as) r,
+ A :: forall {v} (t :: v) (as :: [U (*)]) (r :: [*]).
+ I ('AA t as) r,
in an equation for ‘c’
at T8566.hs:34:5
The type variable ‘fs0’ is ambiguous
diff --git a/testsuite/tests/polykinds/T9017.stderr b/testsuite/tests/polykinds/T9017.stderr
index d9483c8490..b1d336646a 100644
--- a/testsuite/tests/polykinds/T9017.stderr
+++ b/testsuite/tests/polykinds/T9017.stderr
@@ -3,7 +3,7 @@ T9017.hs:8:7: error:
• Couldn't match kind ‘k1’ with ‘*’
‘k1’ is a rigid type variable bound by
the type signature for:
- foo :: forall k k1 (a :: k -> k1 -> *) (b :: k) (m :: k -> k1).
+ foo :: forall {k} {k1} (a :: k -> k1 -> *) (b :: k) (m :: k -> k1).
a b (m b)
at T9017.hs:7:1-16
When matching types
diff --git a/testsuite/tests/polykinds/T9222.stderr b/testsuite/tests/polykinds/T9222.stderr
index 94e0c16f95..1732bbc12a 100644
--- a/testsuite/tests/polykinds/T9222.stderr
+++ b/testsuite/tests/polykinds/T9222.stderr
@@ -8,7 +8,7 @@ T9222.hs:14:3: error:
at T9222.hs:14:3-43
‘c’ is a rigid type variable bound by
the type of the constructor ‘Want’:
- forall i1 j1 (a :: (i1, j1)) (b :: i1) (c :: j1).
+ forall {i1} {j1} (a :: (i1, j1)) (b :: i1) (c :: j1).
((a ~ '(b, c)) => Proxy b) -> Want a
at T9222.hs:14:3-43
• In the ambiguity check for ‘Want’