diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2012-10-19 02:20:12 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2012-10-19 02:20:12 +0100 |
commit | 8bc6c4a613b5d16118469248cfb8025a5175a174 (patch) | |
tree | 56146daa18ef6f54974bf2c22c9121e2912a51da /testsuite/tests | |
parent | 09cdd12b22bcff1876ea80c0d9878507c2ed4f1f (diff) | |
download | haskell-8bc6c4a613b5d16118469248cfb8025a5175a174.tar.gz |
Improvements to kind error messages, mainly
Also some expected/actual messages are now the right way round
Diffstat (limited to 'testsuite/tests')
39 files changed, 106 insertions, 91 deletions
diff --git a/testsuite/tests/gadt/gadt10.stderr b/testsuite/tests/gadt/gadt10.stderr index 00cb063d5d..e244eca056 100644 --- a/testsuite/tests/gadt/gadt10.stderr +++ b/testsuite/tests/gadt/gadt10.stderr @@ -1,6 +1,7 @@ gadt10.hs:6:24:
Expecting one more argument to `RInt'
+ Expected kind `*', but `RInt' has kind `k0 -> *'
In the type `RInt'
In the definition of data constructor `R'
In the data declaration for `RInt'
diff --git a/testsuite/tests/ghci/scripts/ghci050.stderr b/testsuite/tests/ghci/scripts/ghci050.stderr index f31b5c425c..b2e11a26ef 100644 --- a/testsuite/tests/ghci/scripts/ghci050.stderr +++ b/testsuite/tests/ghci/scripts/ghci050.stderr @@ -1,7 +1,7 @@ <interactive>:6:49: - Couldn't match expected type `a' - with actual type `ListableElem (a, a)' + Couldn't match expected type `ListableElem (a, a)' + with actual type `a' `a' is a rigid type variable bound by the instance declaration at <interactive>:6:10 Relevant bindings include diff --git a/testsuite/tests/indexed-types/should_fail/GADTwrong1.stderr b/testsuite/tests/indexed-types/should_fail/GADTwrong1.stderr index 9c5465f27b..33fde554cf 100644 --- a/testsuite/tests/indexed-types/should_fail/GADTwrong1.stderr +++ b/testsuite/tests/indexed-types/should_fail/GADTwrong1.stderr @@ -1,7 +1,7 @@ GADTwrong1.hs:12:19: Could not deduce (a1 ~ b) - from the context (() ~ Const a1) + from the context (Const b ~ Const a1) bound by a pattern with constructor T :: forall a. a -> T (Const a), in a case alternative diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail14.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail14.stderr index 8a86c21bcd..14f078d59a 100644 --- a/testsuite/tests/indexed-types/should_fail/SimpleFail14.stderr +++ b/testsuite/tests/indexed-types/should_fail/SimpleFail14.stderr @@ -1,6 +1,6 @@ SimpleFail14.hs:5:15:
- Predicate `a ~ a' used as a type
+ Expected a type, but `a ~ a' has kind `Constraint'
In the type `a ~ a'
In the definition of data constructor `T'
In the data declaration for `T'
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail16.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail16.stderr index 1410fca369..4ccdbc33bf 100644 --- a/testsuite/tests/indexed-types/should_fail/SimpleFail16.stderr +++ b/testsuite/tests/indexed-types/should_fail/SimpleFail16.stderr @@ -1,6 +1,6 @@ SimpleFail16.hs:10:12: - Couldn't match expected type `F ()' with actual type `p0 a0' + Couldn't match expected type `p0 a0' with actual type `F ()' The type variables `p0', `a0' are ambiguous Possible cause: the monomorphism restriction applied to: `bar' Probable fix: give these definition(s) an explicit type signature diff --git a/testsuite/tests/indexed-types/should_fail/T2239.stderr b/testsuite/tests/indexed-types/should_fail/T2239.stderr index d360bfd748..42fdb7154f 100644 --- a/testsuite/tests/indexed-types/should_fail/T2239.stderr +++ b/testsuite/tests/indexed-types/should_fail/T2239.stderr @@ -2,7 +2,7 @@ T2239.hs:47:13: Couldn't match type `forall b1. MyEq b1 Bool => b1 -> b1' with `b -> b' - Expected type: (forall b. MyEq b Bool => b -> b) -> b -> b + Expected type: (forall b1. MyEq b1 Bool => b1 -> b1) -> b -> b Actual type: (forall b. MyEq b Bool => b -> b) -> forall b. MyEq b Bool => b -> b In the expression: @@ -18,7 +18,7 @@ T2239.hs:47:13: T2239.hs:50:13: Couldn't match type `forall b1. b1 ~ Bool => b1 -> b1' with `Bool -> Bool' - Expected type: (forall b. b ~ Bool => b -> b) -> b -> b + Expected type: (forall b1. b1 ~ Bool => b1 -> b1) -> b -> b Actual type: (forall b. b ~ Bool => b -> b) -> forall b. b ~ Bool => b -> b In the expression: diff --git a/testsuite/tests/indexed-types/should_fail/T2627b.stderr b/testsuite/tests/indexed-types/should_fail/T2627b.stderr index e18a8d2301..acf77ab303 100644 --- a/testsuite/tests/indexed-types/should_fail/T2627b.stderr +++ b/testsuite/tests/indexed-types/should_fail/T2627b.stderr @@ -1,12 +1,9 @@ T2627b.hs:20:24: - Couldn't match expected type `Dual (Dual a0)' with actual type `a0' - `a0' is untouchable - inside the constraints (b ~ W a2 b2) - bound by a pattern with constructor - Wr :: forall a b. a -> Comm b -> Comm (W a b), - in an equation for `conn' - at T2627b.hs:20:14-19 + Occurs check: cannot construct the infinite type: + a0 ~ Dual (Dual a0) + The type variable `a0' is ambiguous + Possible fix: add a type signature that fixes these type variable(s) In the expression: conn undefined undefined In an equation for `conn': conn (Rd k) (Wr a r) = conn undefined undefined diff --git a/testsuite/tests/indexed-types/should_fail/T2664.stderr b/testsuite/tests/indexed-types/should_fail/T2664.stderr index 07b12e4ea0..90a7dfacf8 100644 --- a/testsuite/tests/indexed-types/should_fail/T2664.stderr +++ b/testsuite/tests/indexed-types/should_fail/T2664.stderr @@ -12,8 +12,8 @@ T2664.hs:31:52: the instance declaration at T2664.hs:22:10 `a' is a rigid type variable bound by the instance declaration at T2664.hs:22:10 - Expected type: Dual (Dual a) - Actual type: b + Expected type: IO (PChan b, PChan (Dual a)) + Actual type: IO (PChan (Dual (Dual a)), PChan (Dual a)) Relevant bindings include newPChan :: IO (PChan (a :*: b), PChan c) (bound at T2664.hs:23:5) v :: MVar (Either (PChan a) (PChan b)) (bound at T2664.hs:24:9) diff --git a/testsuite/tests/indexed-types/should_fail/T2693.stderr b/testsuite/tests/indexed-types/should_fail/T2693.stderr index b873cf2171..3b340bde6a 100644 --- a/testsuite/tests/indexed-types/should_fail/T2693.stderr +++ b/testsuite/tests/indexed-types/should_fail/T2693.stderr @@ -33,15 +33,13 @@ T2693.hs:18:23: In the second argument of `(+)', namely `snd x' In the expression: fst x + snd x -T2693.hs:28:20: +T2693.hs:29:26: Couldn't match type `TFn a0' with `PVR a1' The type variables `a0', `a1' are ambiguous Possible fix: add a type signature that fixes these type variable(s) - Expected type: () -> Maybe (PVR a1) - Actual type: () -> Maybe (TFn a0) - In the first argument of `mapM', namely `g' - In a stmt of a 'do' block: pvs <- mapM g undefined - In the expression: - do { pvs <- mapM g undefined; - let n = (map pvrX pvs) `min` (map pvrX pvs); - undefined } + Expected type: [PVR a1] + Actual type: [TFn a0] + Relevant bindings include pvs :: [TFn a0] (bound at T2693.hs:28:8) + In the second argument of `map', namely `pvs' + In the first argument of `min', namely `(map pvrX pvs)' + In the expression: (map pvrX pvs) `min` (map pvrX pvs) diff --git a/testsuite/tests/indexed-types/should_fail/T5439.stderr b/testsuite/tests/indexed-types/should_fail/T5439.stderr index 81453a0f54..87caf8c41a 100644 --- a/testsuite/tests/indexed-types/should_fail/T5439.stderr +++ b/testsuite/tests/indexed-types/should_fail/T5439.stderr @@ -1,9 +1,7 @@ -T5439.hs:83:28: - Couldn't match type `Attempt t0 -> Attempt (HElemOf l0)' - with `Attempt (HElemOf rs)' - Expected type: f (Attempt (HNth n0 l0) -> Attempt (HElemOf l0)) - Actual type: f (Attempt (WaitOpResult (WaitOps rs))) +T5439.hs:83:33: + Couldn't match expected type `Attempt (WaitOpResult (WaitOps rs))' + with actual type `Attempt (HNth n0 l0) -> Attempt (HElemOf l0)' Relevant bindings include registerWaitOp :: WaitOps rs -> f (Attempt (WaitOpResult (WaitOps rs))) -> IO Bool @@ -13,10 +11,13 @@ T5439.hs:83:28: (bound at T5439.hs:62:22) register :: Bool -> Peano n -> WaitOps (HDrop n rs) -> IO Bool (bound at T5439.hs:65:9) - In the first argument of `complete', namely `ev' - In the expression: complete ev + In the second argument of `($)', namely + `inj $ Failure (e :: SomeException)' In a stmt of a 'do' block: c <- complete ev $ inj $ Failure (e :: SomeException) + In the expression: + do { c <- complete ev $ inj $ Failure (e :: SomeException); + return $ c || not first } T5439.hs:83:39: Couldn't match expected type `Peano n0' diff --git a/testsuite/tests/indexed-types/should_fail/T6123.stderr b/testsuite/tests/indexed-types/should_fail/T6123.stderr index 0a82222f61..4f7f6919f4 100644 --- a/testsuite/tests/indexed-types/should_fail/T6123.stderr +++ b/testsuite/tests/indexed-types/should_fail/T6123.stderr @@ -1,6 +1,6 @@ T6123.hs:10:14: - Couldn't match expected type `a0' with actual type `Id a0' + Occurs check: cannot construct the infinite type: a0 ~ Id a0 The type variable `a0' is ambiguous Possible cause: the monomorphism restriction applied to: `cundefined' diff --git a/testsuite/tests/polykinds/PolyKinds02.stderr b/testsuite/tests/polykinds/PolyKinds02.stderr index 3c61552662..60e00d5c96 100644 --- a/testsuite/tests/polykinds/PolyKinds02.stderr +++ b/testsuite/tests/polykinds/PolyKinds02.stderr @@ -1,6 +1,5 @@ PolyKinds02.hs:13:16: - Kind mis-match The second argument of `Vec' should have kind `Nat', - but `Nat' has kind `*' + but `Nat' has kind `*' In the type signature for `vec': vec :: Vec Nat Nat diff --git a/testsuite/tests/polykinds/PolyKinds04.stderr b/testsuite/tests/polykinds/PolyKinds04.stderr index 484b0991ab..2796b1a898 100644 --- a/testsuite/tests/polykinds/PolyKinds04.stderr +++ b/testsuite/tests/polykinds/PolyKinds04.stderr @@ -1,6 +1,8 @@ -
-PolyKinds04.hs:5:16:
- Expecting one more argument to `Maybe'
- In the type `A Maybe'
- In the definition of data constructor `B1'
- In the data declaration for `B'
+ +PolyKinds04.hs:5:16: + Expecting one more argument to `Maybe' + The first argument of `A' should have kind `*', + but `Maybe' has kind `* -> *' + In the type `A Maybe' + In the definition of data constructor `B1' + In the data declaration for `B' diff --git a/testsuite/tests/rename/should_fail/rnfail026.stderr b/testsuite/tests/rename/should_fail/rnfail026.stderr index 775899bec5..3a4ae49224 100644 --- a/testsuite/tests/rename/should_fail/rnfail026.stderr +++ b/testsuite/tests/rename/should_fail/rnfail026.stderr @@ -1,8 +1,7 @@ rnfail026.hs:16:35: - Kind mis-match The first argument of `Monad' should have kind `* -> *', - but `Set a' has kind `*' + but `Set a' has kind `*' In the instance declaration for `Monad (forall a. Eq a => Set a)' rnfail026.hs:19:10: diff --git a/testsuite/tests/typecheck/should_compile/tc211.stderr b/testsuite/tests/typecheck/should_compile/tc211.stderr index 3fc5e256a6..998cd76f5e 100644 --- a/testsuite/tests/typecheck/should_compile/tc211.stderr +++ b/testsuite/tests/typecheck/should_compile/tc211.stderr @@ -1,6 +1,6 @@ tc211.hs:15:22: - Couldn't match type `forall a1. a1 -> a1' with `a -> a' + Couldn't match type `forall a6. a6 -> a6' with `a -> a' Expected type: [a -> a] Actual type: [forall a. a -> a] In the first argument of `head', namely `foo' @@ -14,9 +14,9 @@ tc211.hs:15:22: (head foo) foo tc211.hs:70:9: - Couldn't match type `forall a2. a2 -> a2' with `a1 -> a1' + Couldn't match type `forall a7. a7 -> a7' with `a6 -> a6' Expected type: List (forall a. a -> a) - -> (forall a. a -> a) -> a1 -> a1 + -> (forall a. a -> a) -> a6 -> a6 Actual type: List (forall a. a -> a) -> (forall a. a -> a) -> forall a. a -> a In the expression: diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef04.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef04.stderr index b7bc7c2fbe..e02758b288 100644 --- a/testsuite/tests/typecheck/should_fail/AssocTyDef04.stderr +++ b/testsuite/tests/typecheck/should_fail/AssocTyDef04.stderr @@ -1,6 +1,7 @@ AssocTyDef04.hs:6:18:
Expecting one more argument to `Maybe'
+ Expected kind `*', but `Maybe' has kind `* -> *'
In the type `Maybe'
In the type instance declaration for `Typ'
In the class declaration for `Cls'
diff --git a/testsuite/tests/typecheck/should_fail/T1633.stderr b/testsuite/tests/typecheck/should_fail/T1633.stderr index 8b3e8fd8a2..bdfa10ad59 100644 --- a/testsuite/tests/typecheck/should_fail/T1633.stderr +++ b/testsuite/tests/typecheck/should_fail/T1633.stderr @@ -1,6 +1,5 @@ T1633.hs:6:18: - Kind mis-match The first argument of `Functor' should have kind `* -> *', - but `Bool' has kind `*' + but `Bool' has kind `*' In the instance declaration for `Functor Bool' diff --git a/testsuite/tests/typecheck/should_fail/T2994.stderr b/testsuite/tests/typecheck/should_fail/T2994.stderr index feceed77b5..7c797afb75 100644 --- a/testsuite/tests/typecheck/should_fail/T2994.stderr +++ b/testsuite/tests/typecheck/should_fail/T2994.stderr @@ -1,10 +1,14 @@ T2994.hs:11:10: Expecting one more argument to `MonadReader Int' + Expected a constraint, + but `MonadReader Int' has kind `* -> Constraint' In the instance declaration for `MonadReader Int' T2994.hs:13:23: Expecting one more argument to `Reader' r' + The first argument of `MonadReader' should have kind `*', + but `Reader' r' has kind `* -> *' In the instance declaration for `MonadReader (Reader' r)' T2994.hs:15:10: diff --git a/testsuite/tests/typecheck/should_fail/T3540.stderr b/testsuite/tests/typecheck/should_fail/T3540.stderr index 6b85638e1e..83bcbf1f85 100644 --- a/testsuite/tests/typecheck/should_fail/T3540.stderr +++ b/testsuite/tests/typecheck/should_fail/T3540.stderr @@ -1,20 +1,20 @@ T3540.hs:4:12: - Predicate `a ~ Int' used as a type + Expected a type, but `a ~ Int' has kind `Constraint' In the type signature for `thing': thing :: a ~ Int T3540.hs:7:20: - Predicate `a ~ Int' used as a type + Expected a type, but `a ~ Int' has kind `Constraint' In the type signature for `thing1': thing1 :: Int -> (a ~ Int) T3540.hs:10:13: - Predicate `a ~ Int' used as a type + Expected a type, but `a ~ Int' has kind `Constraint' In the type signature for `thing2': thing2 :: (a ~ Int) -> Int T3540.hs:13:12: - Predicate `?dude :: Int' used as a type + Expected a type, but `?dude :: Int' has kind `Constraint' In the type signature for `thing3': thing3 :: (?dude :: Int) -> Int T3540.hs:16:11: - Predicate `Eq a' used as a type + Expected a type, but `Eq a' has kind `Constraint' In the type signature for `thing4': thing4 :: (Eq a) -> Int diff --git a/testsuite/tests/typecheck/should_fail/tcfail028.stderr b/testsuite/tests/typecheck/should_fail/tcfail028.stderr index 6b573bfa07..53e3f7614e 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail028.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail028.stderr @@ -1,6 +1,7 @@ -
-tcfail028.hs:4:17:
- Expecting one more argument to `A a'
- In the type `A a'
- In the definition of data constructor `B'
- In the data declaration for `A'
+ +tcfail028.hs:4:17: + Expecting one more argument to `A a' + Expected a type, but `A a' has kind `k0 -> *' + In the type `A a' + In the definition of data constructor `B' + In the data declaration for `A' diff --git a/testsuite/tests/typecheck/should_fail/tcfail036.stderr b/testsuite/tests/typecheck/should_fail/tcfail036.stderr index 7cce75c5d2..98d1722787 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail036.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail036.stderr @@ -6,4 +6,6 @@ tcfail036.hs:6:10: tcfail036.hs:9:13: Expecting one more argument to `Num' + The first argument of `Eq' should have kind `*', + but `Num' has kind `* -> Constraint' In the instance declaration for `Eq Num' diff --git a/testsuite/tests/typecheck/should_fail/tcfail057.stderr b/testsuite/tests/typecheck/should_fail/tcfail057.stderr index da5a480f8c..9399e91486 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail057.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail057.stderr @@ -1,4 +1,4 @@ tcfail057.hs:5:7: - Predicate `RealFrac a' used as a type + Expected a type, but `RealFrac a' has kind `Constraint' In the type signature for `f': f :: (RealFrac a) -> a -> a diff --git a/testsuite/tests/typecheck/should_fail/tcfail058.stderr b/testsuite/tests/typecheck/should_fail/tcfail058.stderr index 6214d27498..880bef69e3 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail058.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail058.stderr @@ -1,4 +1,5 @@ tcfail058.hs:6:7: Expecting one more argument to `Array a' + Expected a constraint, but `Array a' has kind `* -> *' In the type signature for `f': f :: Array a => a -> b diff --git a/testsuite/tests/typecheck/should_fail/tcfail063.stderr b/testsuite/tests/typecheck/should_fail/tcfail063.stderr index 62e3f17ca8..35d4f406a7 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail063.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail063.stderr @@ -1,4 +1,5 @@ tcfail063.hs:6:9: Expecting one more argument to `Num' + Expected a constraint, but `Num' has kind `* -> Constraint' In the type signature for `moby': moby :: Num => Int -> a -> Int diff --git a/testsuite/tests/typecheck/should_fail/tcfail110.stderr b/testsuite/tests/typecheck/should_fail/tcfail110.stderr index 735ef3c823..91ba52195d 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail110.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail110.stderr @@ -1,5 +1,6 @@ tcfail110.hs:8:30: Expecting one more argument to `Foo a' + Expected a type, but `Foo a' has kind `* -> *' In the type signature for `bar': bar :: String -> (forall a. Foo a) -> IO () diff --git a/testsuite/tests/typecheck/should_fail/tcfail113.stderr b/testsuite/tests/typecheck/should_fail/tcfail113.stderr index 68e63c416b..2584b46bda 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail113.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail113.stderr @@ -1,12 +1,12 @@ tcfail113.hs:12:7: Expecting one more argument to `Maybe' + Expected kind `*', but `Maybe' has kind `* -> *' In the type signature for `f': f :: [Maybe] tcfail113.hs:15:8: - Kind mis-match The first argument of `T' should have kind `* -> *', - but `Int' has kind `*' + but `Int' has kind `*' In the type signature for `g': g :: T Int tcfail113.hs:18:6: diff --git a/testsuite/tests/typecheck/should_fail/tcfail132.stderr b/testsuite/tests/typecheck/should_fail/tcfail132.stderr index bfe7fc3ab7..91228b86b5 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail132.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail132.stderr @@ -1,7 +1,6 @@ -
-tcfail132.hs:17:37:
- Kind mis-match
- The first argument of `T' should have kind `* -> * -> * -> *',
- but `Object f' f t' has kind `* -> * -> *'
- In the type `T (Object f' f t) (DUnit t)'
- In the type declaration for `LiftObject'
+ +tcfail132.hs:17:37: + The first argument of `T' should have kind `* -> * -> * -> *', + but `Object f' f t' has kind `* -> * -> *' + In the type `T (Object f' f t) (DUnit t)' + In the type declaration for `LiftObject' diff --git a/testsuite/tests/typecheck/should_fail/tcfail134.stderr b/testsuite/tests/typecheck/should_fail/tcfail134.stderr index 9634300266..721a2f3312 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail134.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail134.stderr @@ -1,5 +1,6 @@ tcfail134.hs:5:33: Expecting one more argument to `XML' + Expected a type, but `XML' has kind `* -> Constraint' In the type `a -> XML' In the class declaration for `XML' diff --git a/testsuite/tests/typecheck/should_fail/tcfail135.stderr b/testsuite/tests/typecheck/should_fail/tcfail135.stderr index 4db48083f9..6e6379f63e 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail135.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail135.stderr @@ -1,5 +1,6 @@ tcfail135.hs:6:23: Expecting one more argument to `f' + Expected a type, but `f' has kind `k0 -> *' In the type `f a -> f' In the class declaration for `Foo' diff --git a/testsuite/tests/typecheck/should_fail/tcfail136.stderr b/testsuite/tests/typecheck/should_fail/tcfail136.stderr index c1071a11ec..745aac23cf 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail136.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail136.stderr @@ -1,6 +1,7 @@ -
-tcfail136.hs:9:35:
- Expecting one more argument to `SymDict'
- In the type `SymDict'
- In the definition of data constructor `SymTable'
- In the data declaration for `SymTable'
+ +tcfail136.hs:9:35: + Expecting one more argument to `SymDict' + Expected a type, but `SymDict' has kind `* -> *' + In the type `SymDict' + In the definition of data constructor `SymTable' + In the data declaration for `SymTable' diff --git a/testsuite/tests/typecheck/should_fail/tcfail146.stderr b/testsuite/tests/typecheck/should_fail/tcfail146.stderr index 433327a089..5b835c1a37 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail146.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail146.stderr @@ -1,6 +1,6 @@ -
-tcfail146.hs:7:22:
- Predicate `SClass a' used as a type
- In the type `SClass a'
- In the definition of data constructor `SCon'
- In the data declaration for `SData'
+ +tcfail146.hs:7:22: + Expected a type, but `SClass a' has kind `Constraint' + In the type `SClass a' + In the definition of data constructor `SCon' + In the data declaration for `SData' diff --git a/testsuite/tests/typecheck/should_fail/tcfail147.stderr b/testsuite/tests/typecheck/should_fail/tcfail147.stderr index f5aa074a80..cda7223923 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail147.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail147.stderr @@ -1,6 +1,7 @@ -
-tcfail147.hs:7:19:
- Expecting one more argument to `XClass'
- In the type `XClass'
- In the definition of data constructor `XCon'
- In the data declaration for `XData'
+ +tcfail147.hs:7:19: + Expecting one more argument to `XClass' + Expected a type, but `XClass' has kind `k0 -> Constraint' + In the type `XClass' + In the definition of data constructor `XCon' + In the data declaration for `XData' diff --git a/testsuite/tests/typecheck/should_fail/tcfail148.stderr b/testsuite/tests/typecheck/should_fail/tcfail148.stderr index 252ffec3c0..22073f51c2 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail148.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail148.stderr @@ -1,6 +1,7 @@ tcfail148.hs:5:28:
Expecting one more argument to `List'
+ Expected a type, but `List' has kind `* -> *'
In the type `List'
In the definition of data constructor `Cons'
In the data declaration for `List'
diff --git a/testsuite/tests/typecheck/should_fail/tcfail151.stderr b/testsuite/tests/typecheck/should_fail/tcfail151.stderr index c7dce325a0..f1884f3d32 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail151.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail151.stderr @@ -4,4 +4,5 @@ tcfail151.hs:1:14: Warning: tcfail151.hs:8:6:
Expecting one more argument to `Name a'
+ Expected a constraint, but `Name a' has kind `* -> Constraint'
In the data declaration for `Exp'
diff --git a/testsuite/tests/typecheck/should_fail/tcfail158.stderr b/testsuite/tests/typecheck/should_fail/tcfail158.stderr index a9e9eebf76..46385716fb 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail158.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail158.stderr @@ -1,4 +1,5 @@ tcfail158.hs:14:19: Expecting one more argument to `Val v' + Expected a type, but `Val v' has kind `* -> *' In the type signature for `bar': bar :: forall v. Val v diff --git a/testsuite/tests/typecheck/should_fail/tcfail160.stderr b/testsuite/tests/typecheck/should_fail/tcfail160.stderr index 33cbbbb8f1..1be65a6038 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail160.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail160.stderr @@ -1,7 +1,5 @@ tcfail160.hs:7:8: - Kind mis-match The first argument of `T' should have kind `* -> *', - but `Int' has kind `*' - In the type signature for `g': - g :: T Int + but `Int' has kind `*' + In the type signature for `g': g :: T Int diff --git a/testsuite/tests/typecheck/should_fail/tcfail161.stderr b/testsuite/tests/typecheck/should_fail/tcfail161.stderr index 09f6b52404..21d8c1b060 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail161.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail161.stderr @@ -1,4 +1,5 @@ tcfail161.hs:5:7: Expecting one more argument to `Maybe' + Expected kind `*', but `Maybe' has kind `* -> *' In the type signature for `f': f :: [Maybe] diff --git a/testsuite/tests/typecheck/should_fail/tcfail162.stderr b/testsuite/tests/typecheck/should_fail/tcfail162.stderr index de2b3129b9..2563233b78 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail162.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail162.stderr @@ -1,6 +1,7 @@ tcfail162.hs:10:33:
Expecting one more argument to `ForeignPtr'
+ Expected a type, but `ForeignPtr' has kind `* -> *'
In the type `ForeignPtr'
In the definition of data constructor `Foo'
In the data declaration for `Foo'
diff --git a/testsuite/tests/typecheck/should_fail/tcfail212.stderr b/testsuite/tests/typecheck/should_fail/tcfail212.stderr index 66f0bb2e1f..a94496181b 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail212.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail212.stderr @@ -1,6 +1,8 @@ tcfail212.hs:10:7: Expecting one more argument to `Maybe' + The first argument of a tuple should have kind `*', + but `Maybe' has kind `* -> *' In the type signature for `f': f :: (Maybe, Either Int) tcfail212.hs:13:7: |