diff options
Diffstat (limited to 'testsuite')
18 files changed, 94 insertions, 122 deletions
diff --git a/testsuite/tests/dependent/should_fail/BadTelescope5.stderr b/testsuite/tests/dependent/should_fail/BadTelescope5.stderr index da79678d5b..57b2ee7876 100644 --- a/testsuite/tests/dependent/should_fail/BadTelescope5.stderr +++ b/testsuite/tests/dependent/should_fail/BadTelescope5.stderr @@ -1,6 +1,6 @@ BadTelescope5.hs:10:81: error: - • Expected kind ‘k’, but ‘d’ has kind ‘Proxy a’ + • Expected kind ‘k1’, but ‘d’ has kind ‘Proxy a1’ • In the second argument of ‘SameKind’, namely ‘d’ In the type signature: bar :: forall a k (b :: k) (c :: Proxy b) (d :: Proxy a). diff --git a/testsuite/tests/dependent/should_fail/T14066.stderr b/testsuite/tests/dependent/should_fail/T14066.stderr index e5179e510b..a6780ff75f 100644 --- a/testsuite/tests/dependent/should_fail/T14066.stderr +++ b/testsuite/tests/dependent/should_fail/T14066.stderr @@ -1,6 +1,6 @@ T14066.hs:15:59: error: - • Expected kind ‘k’, but ‘b’ has kind ‘k1’ + • Expected kind ‘k2’, but ‘b’ has kind ‘k3’ • In the second argument of ‘SameKind’, namely ‘b’ In the type signature: g :: forall k (b :: k). SameKind a b In the expression: diff --git a/testsuite/tests/dependent/should_fail/T14066e.stderr b/testsuite/tests/dependent/should_fail/T14066e.stderr index 03a2b9255d..ee903d6b4c 100644 --- a/testsuite/tests/dependent/should_fail/T14066e.stderr +++ b/testsuite/tests/dependent/should_fail/T14066e.stderr @@ -1,20 +1,10 @@ -T14066e.hs:13:59: error: - • Couldn't match kind ‘k’ with ‘*’ - ‘k’ is a rigid type variable bound by - the type signature for: - j :: forall {k} {k1} (c :: k) (b :: k1). - Proxy a -> Proxy b -> Proxy c -> Proxy b - at T14066e.hs:12:5-61 - When matching kinds - k1 :: * - c :: k - Expected kind ‘c’, but ‘b'’ has kind ‘k1’ - • In the first argument of ‘Proxy’, namely ‘(b' :: c')’ +T14066e.hs:13:65: error: + • Expected a type, but ‘c'’ has kind ‘k1’ + • In the kind ‘c'’ + In the first argument of ‘Proxy’, namely ‘(b' :: c')’ In an expression type signature: Proxy (b' :: c') - In the expression: p1 :: Proxy (b' :: c') • Relevant bindings include p2 :: Proxy c (bound at T14066e.hs:13:27) - p1 :: Proxy b (bound at T14066e.hs:13:10) j :: Proxy a -> Proxy b -> Proxy c -> Proxy b (bound at T14066e.hs:13:5) diff --git a/testsuite/tests/ghci.debugger/scripts/break012.stdout b/testsuite/tests/ghci.debugger/scripts/break012.stdout index 5d478ae04e..2e86b42713 100644 --- a/testsuite/tests/ghci.debugger/scripts/break012.stdout +++ b/testsuite/tests/ghci.debugger/scripts/break012.stdout @@ -1,14 +1,14 @@ Stopped in Main.g, break012.hs:5:10-18 -_result :: (a1, a2 -> a2, (), a -> a -> a) = _ -a :: a1 = _ -b :: a3 -> a3 = _ +_result :: (p, a1 -> a1, (), a -> a -> a) = _ +a :: p = _ +b :: a2 -> a2 = _ c :: () = _ d :: a -> a -> a = _ -a :: a1 -b :: a3 -> a3 +a :: p +b :: a2 -> a2 c :: () d :: a -> a -> a -a = (_t1::a1) -b = (_t2::a3 -> a3) +a = (_t1::p) +b = (_t2::a2 -> a2) c = (_t3::()) d = (_t4::a -> a -> a) diff --git a/testsuite/tests/indexed-types/should_fail/T14887.stderr b/testsuite/tests/indexed-types/should_fail/T14887.stderr index 56875a7628..ff7e14b464 100644 --- a/testsuite/tests/indexed-types/should_fail/T14887.stderr +++ b/testsuite/tests/indexed-types/should_fail/T14887.stderr @@ -7,6 +7,10 @@ T14887.hs:13:1: error: • In the type family declaration for ‘Foo2’ T14887.hs:14:11: error: - • Expected kind ‘a0 :~: a0’, but ‘e :: a :~: a’ has kind ‘a :~: a’ + • Couldn't match kind ‘k1’ with ‘k’ + When matching kinds + a0 :: k + a :: k1 + Expected kind ‘a0 :~: a0’, but ‘e :: a :~: a’ has kind ‘a :~: a’ • In the second argument of ‘Foo2’, namely ‘(e :: a :~: a)’ In the type family declaration for ‘Foo2’ diff --git a/testsuite/tests/indexed-types/should_fail/T3330c.stderr b/testsuite/tests/indexed-types/should_fail/T3330c.stderr index 4ef5ae66a8..943dbb148b 100644 --- a/testsuite/tests/indexed-types/should_fail/T3330c.stderr +++ b/testsuite/tests/indexed-types/should_fail/T3330c.stderr @@ -1,6 +1,6 @@ T3330c.hs:25:43: error: - • Couldn't match kind ‘* -> *’ with ‘*’ + • Couldn't match kind ‘*’ with ‘* -> *’ When matching types f1 :: * -> * f1 x :: * diff --git a/testsuite/tests/partial-sigs/should_fail/T14584.stderr b/testsuite/tests/partial-sigs/should_fail/T14584.stderr index 80c8ce2683..372ca3fba2 100644 --- a/testsuite/tests/partial-sigs/should_fail/T14584.stderr +++ b/testsuite/tests/partial-sigs/should_fail/T14584.stderr @@ -1,58 +1,26 @@ T14584.hs:56:41: warning: [-Wdeferred-type-errors (in -Wdefault)] - • Could not deduce: m1 ~ * - from the context: (Action act, Monoid a, Good m1) - bound by the instance declaration at T14584.hs:54:10-89 - ‘m1’ is a rigid type variable bound by - the instance declaration - at T14584.hs:54:10-89 - When matching types - a :: * - a0 :: m - Expected type: Sing a0 - Actual type: Sing a - • In the second argument of ‘fromSing’, namely - ‘(sing @m @a :: Sing _)’ - In the fourth argument of ‘act’, namely - ‘(fromSing @m (sing @m @a :: Sing _))’ - In the expression: - act @_ @_ @act (fromSing @m (sing @m @a :: Sing _)) - • Relevant bindings include - monHom :: a -> a (bound at T14584.hs:56:3) - -T14584.hs:56:41: warning: [-Wdeferred-type-errors (in -Wdefault)] - • Could not deduce: a ~~ a0 + • Could not deduce (SingI a) arising from a use of ‘sing’ from the context: (Action act, Monoid a, Good m1) bound by the instance declaration at T14584.hs:54:10-89 - ‘a’ is a rigid type variable bound by - the instance declaration - at T14584.hs:54:10-89 - Expected type: Sing a0 - Actual type: Sing a • In the second argument of ‘fromSing’, namely ‘(sing @m @a :: Sing _)’ In the fourth argument of ‘act’, namely ‘(fromSing @m (sing @m @a :: Sing _))’ In the expression: act @_ @_ @act (fromSing @m (sing @m @a :: Sing _)) - • Relevant bindings include - monHom :: a -> a (bound at T14584.hs:56:3) -T14584.hs:56:41: warning: [-Wdeferred-type-errors (in -Wdefault)] - • Could not deduce (SingI a) arising from a use of ‘sing’ - from the context: (Action act, Monoid a, Good m1) - bound by the instance declaration at T14584.hs:54:10-89 - • In the second argument of ‘fromSing’, namely +T14584.hs:56:50: warning: [-Wdeferred-type-errors (in -Wdefault)] + • Expected kind ‘m1’, but ‘a’ has kind ‘*’ + • In the type ‘a’ + In the second argument of ‘fromSing’, namely ‘(sing @m @a :: Sing _)’ In the fourth argument of ‘act’, namely ‘(fromSing @m (sing @m @a :: Sing _))’ - In the expression: - act @_ @_ @act (fromSing @m (sing @m @a :: Sing _)) T14584.hs:56:60: warning: [-Wpartial-type-signatures (in -Wdefault)] - • Found type wildcard ‘_’ standing for ‘a0 :: m’ - Where: ‘a0’ is an ambiguous type variable - ‘m’ is a rigid type variable bound by + • Found type wildcard ‘_’ standing for ‘a :: m’ + Where: ‘a’, ‘m’ are rigid type variables bound by the instance declaration at T14584.hs:54:10-89 • In the first argument of ‘Sing’, namely ‘_’ diff --git a/testsuite/tests/patsyn/should_fail/T15685.stderr b/testsuite/tests/patsyn/should_fail/T15685.stderr index 13fc5a81ec..7f01ebc479 100644 --- a/testsuite/tests/patsyn/should_fail/T15685.stderr +++ b/testsuite/tests/patsyn/should_fail/T15685.stderr @@ -1,9 +1,21 @@ T15685.hs:13:24: error: - • Kind mismatch: cannot unify (f :: a -> *) with: + • Couldn't match kind ‘a1’ with ‘[k0]’ + ‘a1’ is untouchable + inside the constraints: as ~ (a2 : as1) + bound by a pattern with constructor: + Here :: forall {a1} (f :: a1 -> *) (a2 :: a1) (as :: [a1]). + f a2 -> NS f (a2 : as), + in a pattern synonym declaration + at T15685.hs:13:19-26 + ‘a1’ is a rigid type variable bound by + the inferred type of HereNil :: NS f as + at T15685.hs:13:9-15 + Possible fix: add a type signature for ‘HereNil’ + When matching types + f :: a1 -> * NP a0 :: [k0] -> * - Their kinds differ. - Expected type: f a1 + Expected type: f a2 Actual type: NP a0 b0 • In the pattern: Nil In the pattern: Here Nil diff --git a/testsuite/tests/polykinds/T11399.stderr b/testsuite/tests/polykinds/T11399.stderr index e5c9e0e37c..9174cd0b7d 100644 --- a/testsuite/tests/polykinds/T11399.stderr +++ b/testsuite/tests/polykinds/T11399.stderr @@ -1,6 +1,6 @@ T11399.hs:10:32: error: - • Couldn't match kind ‘*’ with ‘GHC.Types.RuntimeRep’ + • Couldn't match kind ‘GHC.Types.RuntimeRep’ with ‘*’ When matching kinds a :: * -> * TYPE :: GHC.Types.RuntimeRep -> * diff --git a/testsuite/tests/polykinds/T14846.stderr b/testsuite/tests/polykinds/T14846.stderr index 83e32f7a21..edb19408b2 100644 --- a/testsuite/tests/polykinds/T14846.stderr +++ b/testsuite/tests/polykinds/T14846.stderr @@ -3,8 +3,8 @@ 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) - (a :: Struct cls2) (ríki :: Struct cls2 -> Struct cls2 -> *). + i :: forall {k5} {k6} {cls3 :: k6 -> Constraint} (xx :: k5) + (a :: Struct cls3) (ríki :: Struct cls3 -> Struct cls3 -> *). StructI xx a => ríki a a at T14846.hs:38:8-48 @@ -23,32 +23,36 @@ T14846.hs:38:8: error: In the instance declaration for ‘Category (Hom riki)’ T14846.hs:39:12: error: - • Couldn't match kind ‘k4’ with ‘Struct cls2’ - ‘k4’ is a rigid type variable bound by - the instance declaration - at T14846.hs:37:10-65 - When matching kinds - cls0 :: Struct cls -> Constraint - cls1 :: k4 -> Constraint + • Could not deduce (StructI xx1 structured0) + arising from a use of ‘struct’ + from the context: Category riki + bound by the instance declaration at T14846.hs:37:10-65 + or from: StructI xx a + bound by the type signature for: + i :: forall {k5} {k6} {cls3 :: k6 -> Constraint} (xx :: k5) + (a :: Struct cls3). + StructI xx a => + Hom riki a a + at T14846.hs:38:8-48 + The type variables ‘xx1’, ‘structured0’ are ambiguous + Relevant bindings include + i :: Hom riki a a (bound at T14846.hs:39:3) + These potential instance exist: + instance forall k (xx :: k) (cls :: k -> Constraint) + (structured :: Struct cls). + (Structured xx cls ~ structured, cls xx) => + StructI xx structured + -- Defined at T14846.hs:28:10 • In the expression: struct :: AStruct (Structured a cls) In the expression: case struct :: AStruct (Structured a cls) of In an equation for ‘i’: i = case struct :: AStruct (Structured a cls) of - • Relevant bindings include - i :: Hom riki a a (bound at T14846.hs:39:3) -T14846.hs:39:31: error: - • Couldn't match kind ‘k4’ with ‘Struct cls2’ - ‘k4’ is a rigid type variable bound by - the instance declaration - at T14846.hs:37:10-65 - When matching kinds - cls1 :: k4 -> Constraint - cls0 :: Struct cls -> Constraint - Expected kind ‘Struct cls0’, - but ‘Structured a cls’ has kind ‘Struct cls1’ - • In the first argument of ‘AStruct’, namely ‘(Structured a cls)’ +T14846.hs:39:44: error: + • Expected kind ‘Struct cls3 -> Constraint’, + but ‘cls’ has kind ‘k4 -> Constraint’ + • In the second argument of ‘Structured’, namely ‘cls’ + In the first argument of ‘AStruct’, namely ‘(Structured a cls)’ In an expression type signature: AStruct (Structured a cls) - In the expression: struct :: AStruct (Structured a cls) • Relevant bindings include i :: Hom riki a a (bound at T14846.hs:39:3) diff --git a/testsuite/tests/polykinds/T17841.stderr b/testsuite/tests/polykinds/T17841.stderr index 975f5a11d0..6157f55399 100644 --- a/testsuite/tests/polykinds/T17841.stderr +++ b/testsuite/tests/polykinds/T17841.stderr @@ -1,13 +1,6 @@ -T17841.hs:7:40: error: - • Couldn't match kind ‘k’ with ‘*’ - ‘k’ is a rigid type variable bound by - the class declaration for ‘Foo’ - at T17841.hs:7:17 - When matching kinds - k0 :: * - t :: k - Expected kind ‘t’, but ‘a’ has kind ‘k0’ - • In the first argument of ‘Proxy’, namely ‘(a :: t)’ +T17841.hs:7:45: error: + • Expected a type, but ‘t’ has kind ‘k2’ + • In the kind ‘t’ + In the first argument of ‘Proxy’, namely ‘(a :: t)’ In the type signature: foo :: Proxy (a :: t) - In the class declaration for ‘Foo’ diff --git a/testsuite/tests/polykinds/T7278.stderr b/testsuite/tests/polykinds/T7278.stderr index 265e27892b..37b00a7a70 100644 --- a/testsuite/tests/polykinds/T7278.stderr +++ b/testsuite/tests/polykinds/T7278.stderr @@ -1,5 +1,5 @@ T7278.hs:9:43: error: - • Expected kind ‘* -> * -> *’, but ‘t’ has kind ‘k’ + • Expected kind ‘* -> * -> *’, but ‘t’ has kind ‘k1’ • In the type signature: f :: (C (t :: k) (TF t)) => TF t p1 p0 -> t p1 p0 diff --git a/testsuite/tests/polykinds/T8616.stderr b/testsuite/tests/polykinds/T8616.stderr index 4341b3051a..2a8b6482aa 100644 --- a/testsuite/tests/polykinds/T8616.stderr +++ b/testsuite/tests/polykinds/T8616.stderr @@ -1,13 +1,13 @@ T8616.hs:8:16: error: - • Couldn't match kind ‘k’ with ‘*’ - ‘k’ is a rigid type variable bound by + • Couldn't match kind ‘k1’ with ‘*’ + ‘k1’ is a rigid type variable bound by the type signature for: - withSomeSing :: forall k (kproxy :: k). Proxy kproxy + withSomeSing :: forall k1 (kproxy :: k1). Proxy kproxy at T8616.hs:7:1-52 When matching types a0 :: * - Any :: k + Any :: k1 • In the expression: undefined :: (Any :: k) In an equation for ‘withSomeSing’: withSomeSing = undefined :: (Any :: k) @@ -15,7 +15,7 @@ T8616.hs:8:16: error: withSomeSing :: Proxy kproxy (bound at T8616.hs:8:1) T8616.hs:8:30: error: - • Expected a type, but ‘Any :: k’ has kind ‘k’ + • Expected a type, but ‘Any :: k’ has kind ‘k1’ • In an expression type signature: (Any :: k) In the expression: undefined :: (Any :: k) In an equation for ‘withSomeSing’: diff --git a/testsuite/tests/polykinds/T9017.stderr b/testsuite/tests/polykinds/T9017.stderr index b1d336646a..8acf58c9b5 100644 --- a/testsuite/tests/polykinds/T9017.stderr +++ b/testsuite/tests/polykinds/T9017.stderr @@ -1,16 +1,17 @@ T9017.hs:8:7: error: - • Couldn't match kind ‘k1’ with ‘*’ - ‘k1’ is a rigid type variable bound by + • Couldn't match kind ‘k2’ with ‘*’ + ‘k2’ 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 {k2} {k3} (a :: k2 -> k3 -> *) (b :: k2) + (m :: k2 -> k3). a b (m b) at T9017.hs:7:1-16 When matching types - a1 :: * -> * -> * - a :: k -> k1 -> * + a0 :: * -> * -> * + a :: k2 -> k3 -> * Expected type: a b (m b) - Actual type: a1 a0 (m0 a0) + Actual type: a0 a1 (m0 a1) • In the expression: arr return In an equation for ‘foo’: foo = arr return • Relevant bindings include diff --git a/testsuite/tests/typecheck/should_fail/T15629.stderr b/testsuite/tests/typecheck/should_fail/T15629.stderr index a0e0f42286..ac307ed9d5 100644 --- a/testsuite/tests/typecheck/should_fail/T15629.stderr +++ b/testsuite/tests/typecheck/should_fail/T15629.stderr @@ -1,7 +1,7 @@ T15629.hs:26:37: error: • Expected kind ‘x1 ~> F x1 ab1’, - but ‘F1Sym :: x ~> F x z’ has kind ‘x1 ~> F x1 z’ + but ‘F1Sym :: x ~> F x z’ has kind ‘x1 ~> F x1 z1’ • In the first argument of ‘Comp’, namely ‘(F1Sym :: x ~> F x z)’ In the first argument of ‘Proxy’, namely ‘((Comp (F1Sym :: x ~> F x z) F2Sym) :: F x ab ~> F x ab)’ @@ -10,18 +10,18 @@ T15629.hs:26:37: error: Proxy ((Comp (F1Sym :: x ~> F x z) F2Sym) :: F x ab ~> F x ab) T15629.hs:27:9: error: - • Couldn't match kind ‘ab1’ with ‘z’ - ‘ab1’ is a rigid type variable bound by + • Couldn't match kind ‘z1’ with ‘ab1’ + ‘z1’ is a rigid type variable bound by the type signature for: g :: forall z1 ab1. Proxy (Comp F1Sym F2Sym) at T15629.hs:26:5-84 - ‘z’ is a rigid type variable bound by + ‘ab1’ is a rigid type variable bound by the type signature for: g :: forall z1 ab1. Proxy (Comp F1Sym F2Sym) at T15629.hs:26:5-84 When matching types f0 :: x ~> F x ab - F1Sym :: TyFun x1 (F x1 z) -> * + F1Sym :: TyFun x1 (F x1 z1) -> * Expected type: Proxy (Comp F1Sym F2Sym) Actual type: Proxy (Comp f0 F2Sym) • In the expression: sg Proxy Proxy diff --git a/testsuite/tests/typecheck/should_fail/T3950.stderr b/testsuite/tests/typecheck/should_fail/T3950.stderr index 60da6c09ae..e0a3526000 100644 --- a/testsuite/tests/typecheck/should_fail/T3950.stderr +++ b/testsuite/tests/typecheck/should_fail/T3950.stderr @@ -1,6 +1,6 @@ T3950.hs:15:8: error: - • Couldn't match kind ‘* -> *’ with ‘*’ + • Couldn't match kind ‘*’ with ‘* -> *’ When matching types w :: (* -> * -> *) -> * Sealed :: (* -> *) -> * diff --git a/testsuite/tests/typecheck/should_fail/T7368.stderr b/testsuite/tests/typecheck/should_fail/T7368.stderr index 660ef98f26..54c12f76f7 100644 --- a/testsuite/tests/typecheck/should_fail/T7368.stderr +++ b/testsuite/tests/typecheck/should_fail/T7368.stderr @@ -1,6 +1,6 @@ T7368.hs:3:10: error: - • Couldn't match kind ‘*’ with ‘* -> *’ + • Couldn't match kind ‘* -> *’ with ‘*’ When matching types b0 :: * Maybe :: * -> * diff --git a/testsuite/tests/typecheck/should_fail/T7368a.stderr b/testsuite/tests/typecheck/should_fail/T7368a.stderr index 16c8326afe..93b8b04378 100644 --- a/testsuite/tests/typecheck/should_fail/T7368a.stderr +++ b/testsuite/tests/typecheck/should_fail/T7368a.stderr @@ -1,6 +1,6 @@ T7368a.hs:8:6: error: - • Couldn't match kind ‘*’ with ‘* -> *’ + • Couldn't match kind ‘* -> *’ with ‘*’ When matching types f :: * -> * Bad :: (* -> *) -> * |