diff options
author | Thomas Miedema <thomasmiedema@gmail.com> | 2016-06-18 22:05:51 +0200 |
---|---|---|
committer | Thomas Miedema <thomasmiedema@gmail.com> | 2016-06-20 16:22:07 +0200 |
commit | cdc14b480adc58c2937d54d0db0fd36e4ed532b0 (patch) | |
tree | 9767ea498b2391a67822c9a5b001af90b81a4fc8 | |
parent | e7e42c838e32ef1e05daf04b0b6afb62ffc4ec97 (diff) | |
download | haskell-cdc14b480adc58c2937d54d0db0fd36e4ed532b0.tar.gz |
Testsuite: remove Windows CR again.. [skip ci]
44 files changed, 948 insertions, 948 deletions
diff --git a/testsuite/tests/patsyn/should_fail/T11010.stderr b/testsuite/tests/patsyn/should_fail/T11010.stderr index 1bd83c83b4..b09140c0a5 100644 --- a/testsuite/tests/patsyn/should_fail/T11010.stderr +++ b/testsuite/tests/patsyn/should_fail/T11010.stderr @@ -1,14 +1,14 @@ -
-T11010.hs:9:36: error:
- • Couldn't match type ‘a1’ with ‘Int’
- ‘a1’ is a rigid type variable bound by
- a pattern with constructor:
- Fun :: forall b a. String -> (a -> b) -> Expr a -> Expr b,
- in a pattern synonym declaration
- at T11010.hs:9:26-36
- Expected type: a -> b
- Actual type: a1 -> b
- • In the declaration for pattern synonym ‘IntFun’
- • Relevant bindings include
- x :: Expr a1 (bound at T11010.hs:9:36)
- f :: a1 -> b (bound at T11010.hs:9:34)
+ +T11010.hs:9:36: error: + • Couldn't match type ‘a1’ with ‘Int’ + ‘a1’ is a rigid type variable bound by + a pattern with constructor: + Fun :: forall b a. String -> (a -> b) -> Expr a -> Expr b, + in a pattern synonym declaration + at T11010.hs:9:26-36 + Expected type: a -> b + Actual type: a1 -> b + • In the declaration for pattern synonym ‘IntFun’ + • Relevant bindings include + x :: Expr a1 (bound at T11010.hs:9:36) + f :: a1 -> b (bound at T11010.hs:9:34) diff --git a/testsuite/tests/patsyn/should_fail/T11039.stderr b/testsuite/tests/patsyn/should_fail/T11039.stderr index 15a56e01ac..4783bc9fe6 100644 --- a/testsuite/tests/patsyn/should_fail/T11039.stderr +++ b/testsuite/tests/patsyn/should_fail/T11039.stderr @@ -1,9 +1,9 @@ -
-T11039.hs:8:15: error:
- • Couldn't match type ‘f’ with ‘A’
- ‘f’ is a rigid type variable bound by
- the signature for pattern synonym ‘Q’ at T11039.hs:7:14-38
- Expected type: f a
- Actual type: A a
- • In the pattern: A a
- In the declaration for pattern synonym ‘Q’
+ +T11039.hs:8:15: error: + • Couldn't match type ‘f’ with ‘A’ + ‘f’ is a rigid type variable bound by + the signature for pattern synonym ‘Q’ at T11039.hs:7:14-38 + Expected type: f a + Actual type: A a + • In the pattern: A a + In the declaration for pattern synonym ‘Q’ diff --git a/testsuite/tests/patsyn/should_fail/T11667.stderr b/testsuite/tests/patsyn/should_fail/T11667.stderr index 0407d00d09..fdd447704d 100644 --- a/testsuite/tests/patsyn/should_fail/T11667.stderr +++ b/testsuite/tests/patsyn/should_fail/T11667.stderr @@ -1,41 +1,41 @@ -
-T11667.hs:12:22: error:
- • Could not deduce (Num a) arising from the literal ‘42’
- from the context: Eq a
- bound by the signature for pattern synonym ‘Pat1’
- at T11667.hs:12:9-12
- Possible fix:
- add (Num a) to the "required" context of
- the signature for pattern synonym ‘Pat1’
- • In the pattern: 42
- In the pattern: Just 42
- In the declaration for pattern synonym ‘Pat1’
-
-T11667.hs:18:28: error:
- • Couldn't match type ‘b’ with ‘Bool’
- arising from the "provided" constraints claimed by
- the signature of ‘Pat2’
- ‘b’ is a rigid type variable bound by
- the signature for pattern synonym ‘Pat2’ at T11667.hs:17:17-50
- • In the declaration for pattern synonym ‘Pat2’
- • Relevant bindings include y :: b (bound at T11667.hs:18:21)
-
-T11667.hs:24:24: error:
- • No instance for (Show a)
- arising from the "provided" constraints claimed by
- the signature of ‘Pat3’
- In other words, a successful match on the pattern
- Just x
- does not provide the constraint (Show a)
- • In the declaration for pattern synonym ‘Pat3’
-
-T11667.hs:31:16: error:
- • Could not deduce (Num a) arising from a use of ‘MkS’
- from the context: (Eq a, Show a)
- bound by the signature for pattern synonym ‘Pat4’
- at T11667.hs:31:1-21
- Possible fix:
- add (Num a) to the "required" context of
- the signature for pattern synonym ‘Pat4’
- • In the expression: MkS 42
- In an equation for ‘Pat4’: Pat4 = MkS 42
+ +T11667.hs:12:22: error: + • Could not deduce (Num a) arising from the literal ‘42’ + from the context: Eq a + bound by the signature for pattern synonym ‘Pat1’ + at T11667.hs:12:9-12 + Possible fix: + add (Num a) to the "required" context of + the signature for pattern synonym ‘Pat1’ + • In the pattern: 42 + In the pattern: Just 42 + In the declaration for pattern synonym ‘Pat1’ + +T11667.hs:18:28: error: + • Couldn't match type ‘b’ with ‘Bool’ + arising from the "provided" constraints claimed by + the signature of ‘Pat2’ + ‘b’ is a rigid type variable bound by + the signature for pattern synonym ‘Pat2’ at T11667.hs:17:17-50 + • In the declaration for pattern synonym ‘Pat2’ + • Relevant bindings include y :: b (bound at T11667.hs:18:21) + +T11667.hs:24:24: error: + • No instance for (Show a) + arising from the "provided" constraints claimed by + the signature of ‘Pat3’ + In other words, a successful match on the pattern + Just x + does not provide the constraint (Show a) + • In the declaration for pattern synonym ‘Pat3’ + +T11667.hs:31:16: error: + • Could not deduce (Num a) arising from a use of ‘MkS’ + from the context: (Eq a, Show a) + bound by the signature for pattern synonym ‘Pat4’ + at T11667.hs:31:1-21 + Possible fix: + add (Num a) to the "required" context of + the signature for pattern synonym ‘Pat4’ + • In the expression: MkS 42 + In an equation for ‘Pat4’: Pat4 = MkS 42 diff --git a/testsuite/tests/typecheck/should_compile/ExPatFail.stderr b/testsuite/tests/typecheck/should_compile/ExPatFail.stderr index afae403614..696bff740d 100644 --- a/testsuite/tests/typecheck/should_compile/ExPatFail.stderr +++ b/testsuite/tests/typecheck/should_compile/ExPatFail.stderr @@ -1,14 +1,14 @@ -
-ExPatFail.hs:12:15: error:
- • Couldn't match expected type ‘t’ with actual type ‘a’
- because type variable ‘a’ would escape its scope
- This (rigid, skolem) type variable is bound by
- a pattern with constructor:
- MkT :: forall a. Integral a => a -> Int -> T,
- in a pattern binding
- at ExPatFail.hs:12:11-17
- • In the pattern: MkT y _
- In a pattern binding: MkT y _ = x
- In the expression: let MkT y _ = x in y
- • Relevant bindings include
- f :: T -> t (bound at ExPatFail.hs:12:1)
+ +ExPatFail.hs:12:15: error: + • Couldn't match expected type ‘t’ with actual type ‘a’ + because type variable ‘a’ would escape its scope + This (rigid, skolem) type variable is bound by + a pattern with constructor: + MkT :: forall a. Integral a => a -> Int -> T, + in a pattern binding + at ExPatFail.hs:12:11-17 + • In the pattern: MkT y _ + In a pattern binding: MkT y _ = x + In the expression: let MkT y _ = x in y + • Relevant bindings include + f :: T -> t (bound at ExPatFail.hs:12:1) diff --git a/testsuite/tests/typecheck/should_compile/FD1.stderr b/testsuite/tests/typecheck/should_compile/FD1.stderr index 9223b8e946..380be215bc 100644 --- a/testsuite/tests/typecheck/should_compile/FD1.stderr +++ b/testsuite/tests/typecheck/should_compile/FD1.stderr @@ -1,10 +1,10 @@ -
-FD1.hs:16:1: error:
- • Couldn't match expected type ‘a’ with actual type ‘Int -> Int’
- ‘a’ is a rigid type variable bound by
- the type signature for:
- plus :: forall a. E a (Int -> Int) => Int -> a
- at FD1.hs:15:1-38
- • The equation(s) for ‘plus’ have two arguments,
- but its type ‘Int -> a’ has only one
- • Relevant bindings include plus :: Int -> a (bound at FD1.hs:16:1)
+ +FD1.hs:16:1: error: + • Couldn't match expected type ‘a’ with actual type ‘Int -> Int’ + ‘a’ is a rigid type variable bound by + the type signature for: + plus :: forall a. E a (Int -> Int) => Int -> a + at FD1.hs:15:1-38 + • The equation(s) for ‘plus’ have two arguments, + but its type ‘Int -> a’ has only one + • Relevant bindings include plus :: Int -> a (bound at FD1.hs:16:1) diff --git a/testsuite/tests/typecheck/should_compile/FD2.stderr b/testsuite/tests/typecheck/should_compile/FD2.stderr index 98de9d7f49..323d10f06d 100644 --- a/testsuite/tests/typecheck/should_compile/FD2.stderr +++ b/testsuite/tests/typecheck/should_compile/FD2.stderr @@ -1,20 +1,20 @@ -
-FD2.hs:26:36: error:
- • Couldn't match expected type ‘e’ with actual type ‘e1’
- ‘e1’ is a rigid type variable bound by
- the type signature for:
- mf :: forall e1. Elem a e1 => e1 -> Maybe e1 -> Maybe e1
- at FD2.hs:24:12-54
- ‘e’ is a rigid type variable bound by
- the type signature for:
- foldr1 :: forall e. Elem a e => (e -> e -> e) -> a -> e
- at FD2.hs:21:13-47
- • In the first argument of ‘f’, namely ‘x’
- In the first argument of ‘Just’, namely ‘(f x y)’
- In the expression: Just (f x y)
- • Relevant bindings include
- y :: e1 (bound at FD2.hs:26:23)
- x :: e1 (bound at FD2.hs:26:15)
- mf :: e1 -> Maybe e1 -> Maybe e1 (bound at FD2.hs:25:12)
- f :: e -> e -> e (bound at FD2.hs:22:10)
- foldr1 :: (e -> e -> e) -> a -> e (bound at FD2.hs:22:3)
+ +FD2.hs:26:36: error: + • Couldn't match expected type ‘e’ with actual type ‘e1’ + ‘e1’ is a rigid type variable bound by + the type signature for: + mf :: forall e1. Elem a e1 => e1 -> Maybe e1 -> Maybe e1 + at FD2.hs:24:12-54 + ‘e’ is a rigid type variable bound by + the type signature for: + foldr1 :: forall e. Elem a e => (e -> e -> e) -> a -> e + at FD2.hs:21:13-47 + • In the first argument of ‘f’, namely ‘x’ + In the first argument of ‘Just’, namely ‘(f x y)’ + In the expression: Just (f x y) + • Relevant bindings include + y :: e1 (bound at FD2.hs:26:23) + x :: e1 (bound at FD2.hs:26:15) + mf :: e1 -> Maybe e1 -> Maybe e1 (bound at FD2.hs:25:12) + f :: e -> e -> e (bound at FD2.hs:22:10) + foldr1 :: (e -> e -> e) -> a -> e (bound at FD2.hs:22:3) diff --git a/testsuite/tests/typecheck/should_compile/FD3.stderr b/testsuite/tests/typecheck/should_compile/FD3.stderr index 19f819f239..d7ac728b6c 100644 --- a/testsuite/tests/typecheck/should_compile/FD3.stderr +++ b/testsuite/tests/typecheck/should_compile/FD3.stderr @@ -1,15 +1,15 @@ -
-FD3.hs:15:15: error:
- • Couldn't match type ‘a’ with ‘(String, a)’
- arising from a functional dependency between:
- constraint ‘MkA (String, a) a’ arising from a use of ‘mkA’
- instance ‘MkA a1 a1’ at FD3.hs:12:10-16
- ‘a’ is a rigid type variable bound by
- the type signature for:
- translate :: forall a. (String, a) -> A a
- at FD3.hs:14:1-31
- • In the expression: mkA a
- In an equation for ‘translate’: translate a = mkA a
- • Relevant bindings include
- a :: (String, a) (bound at FD3.hs:15:11)
- translate :: (String, a) -> A a (bound at FD3.hs:15:1)
+ +FD3.hs:15:15: error: + • Couldn't match type ‘a’ with ‘(String, a)’ + arising from a functional dependency between: + constraint ‘MkA (String, a) a’ arising from a use of ‘mkA’ + instance ‘MkA a1 a1’ at FD3.hs:12:10-16 + ‘a’ is a rigid type variable bound by + the type signature for: + translate :: forall a. (String, a) -> A a + at FD3.hs:14:1-31 + • In the expression: mkA a + In an equation for ‘translate’: translate a = mkA a + • Relevant bindings include + a :: (String, a) (bound at FD3.hs:15:11) + translate :: (String, a) -> A a (bound at FD3.hs:15:1) diff --git a/testsuite/tests/typecheck/should_compile/T10072.stderr b/testsuite/tests/typecheck/should_compile/T10072.stderr index 768658133c..848c9158e8 100644 --- a/testsuite/tests/typecheck/should_compile/T10072.stderr +++ b/testsuite/tests/typecheck/should_compile/T10072.stderr @@ -1,8 +1,8 @@ -
-T10072.hs:3:31: error:
- • Found type wildcard ‘_’ standing for ‘b’
- Where: ‘b’ is a rigid type variable bound by
- the RULE "map/empty" at T10072.hs:3:1-47
- To use the inferred type, enable PartialTypeSignatures
- • In a RULE for ‘f’: a -> _
- When checking the transformation rule "map/empty"
+ +T10072.hs:3:31: error: + • Found type wildcard ‘_’ standing for ‘b’ + Where: ‘b’ is a rigid type variable bound by + the RULE "map/empty" at T10072.hs:3:1-47 + To use the inferred type, enable PartialTypeSignatures + • In a RULE for ‘f’: a -> _ + When checking the transformation rule "map/empty" diff --git a/testsuite/tests/typecheck/should_compile/T10632.stderr b/testsuite/tests/typecheck/should_compile/T10632.stderr index 45fd33c7f4..c3d112f6bf 100644 --- a/testsuite/tests/typecheck/should_compile/T10632.stderr +++ b/testsuite/tests/typecheck/should_compile/T10632.stderr @@ -1,5 +1,5 @@ -
-T10632.hs:3:1: warning: [-Wredundant-constraints (in -Wall)]
- • Redundant constraint: ?file1::String
- • In the type signature for:
- f :: (?file1::String) => IO ()
+ +T10632.hs:3:1: warning: [-Wredundant-constraints (in -Wall)] + • Redundant constraint: ?file1::String + • In the type signature for: + f :: (?file1::String) => IO () diff --git a/testsuite/tests/typecheck/should_compile/T11339.stderr b/testsuite/tests/typecheck/should_compile/T11339.stderr index b43c45fe7c..7fd50014f0 100644 --- a/testsuite/tests/typecheck/should_compile/T11339.stderr +++ b/testsuite/tests/typecheck/should_compile/T11339.stderr @@ -1,15 +1,15 @@ -
-T11339.hs:15:5: error:
- • Overloaded signature conflicts with monomorphism restriction
- t :: forall (f :: * -> *). Applicative f => (a -> f b) -> f t
- • In an equation for ‘failing’:
- failing left right afb s
- = case pins t of {
- [] -> right afb s
- _ -> t afb }
- where
- t :: Applicative f => (a -> f b) -> f t
- Bazaar {getBazaar = t} = left sell s
- sell :: a -> Bazaar a b b
- sell w = Bazaar ($ w)
- ....
+ +T11339.hs:15:5: error: + • Overloaded signature conflicts with monomorphism restriction + t :: forall (f :: * -> *). Applicative f => (a -> f b) -> f t + • In an equation for ‘failing’: + failing left right afb s + = case pins t of { + [] -> right afb s + _ -> t afb } + where + t :: Applicative f => (a -> f b) -> f t + Bazaar {getBazaar = t} = left sell s + sell :: a -> Bazaar a b b + sell w = Bazaar ($ w) + .... diff --git a/testsuite/tests/typecheck/should_compile/T2494.stderr b/testsuite/tests/typecheck/should_compile/T2494.stderr index 93c46fce53..48b2221220 100644 --- a/testsuite/tests/typecheck/should_compile/T2494.stderr +++ b/testsuite/tests/typecheck/should_compile/T2494.stderr @@ -1,36 +1,36 @@ -
-T2494.hs:15:14: error:
- • Couldn't match type ‘b’ with ‘a’
- ‘b’ is a rigid type variable bound by
- the RULE "foo/foo" at T2494.hs:14:16-62
- ‘a’ is a rigid type variable bound by
- the RULE "foo/foo" at T2494.hs:13:16-62
- Expected type: Maybe (m a) -> Maybe (m a)
- Actual type: Maybe (m b) -> Maybe (m b)
- • In the first argument of ‘foo’, namely ‘g’
- In the second argument of ‘foo’, namely ‘(foo g x)’
- In the expression: foo f (foo g x)
- • Relevant bindings include
- f :: forall (m :: * -> *). Monad m => Maybe (m a) -> Maybe (m a)
- (bound at T2494.hs:13:11)
- g :: forall (m :: * -> *). Monad m => Maybe (m b) -> Maybe (m b)
- (bound at T2494.hs:14:11)
- x :: Maybe a (bound at T2494.hs:14:65)
-
-T2494.hs:15:30: error:
- • Couldn't match type ‘b’ with ‘a’
- ‘b’ is a rigid type variable bound by
- the RULE "foo/foo" at T2494.hs:14:16-62
- ‘a’ is a rigid type variable bound by
- the RULE "foo/foo" at T2494.hs:13:16-62
- Expected type: Maybe (m b) -> Maybe (m a)
- Actual type: Maybe (m b) -> Maybe (m b)
- • In the second argument of ‘(.)’, namely ‘g’
- In the first argument of ‘foo’, namely ‘(f . g)’
- In the expression: foo (f . g) x
- • Relevant bindings include
- f :: forall (m :: * -> *). Monad m => Maybe (m a) -> Maybe (m a)
- (bound at T2494.hs:13:11)
- g :: forall (m :: * -> *). Monad m => Maybe (m b) -> Maybe (m b)
- (bound at T2494.hs:14:11)
- x :: Maybe a (bound at T2494.hs:14:65)
+ +T2494.hs:15:14: error: + • Couldn't match type ‘b’ with ‘a’ + ‘b’ is a rigid type variable bound by + the RULE "foo/foo" at T2494.hs:14:16-62 + ‘a’ is a rigid type variable bound by + the RULE "foo/foo" at T2494.hs:13:16-62 + Expected type: Maybe (m a) -> Maybe (m a) + Actual type: Maybe (m b) -> Maybe (m b) + • In the first argument of ‘foo’, namely ‘g’ + In the second argument of ‘foo’, namely ‘(foo g x)’ + In the expression: foo f (foo g x) + • Relevant bindings include + f :: forall (m :: * -> *). Monad m => Maybe (m a) -> Maybe (m a) + (bound at T2494.hs:13:11) + g :: forall (m :: * -> *). Monad m => Maybe (m b) -> Maybe (m b) + (bound at T2494.hs:14:11) + x :: Maybe a (bound at T2494.hs:14:65) + +T2494.hs:15:30: error: + • Couldn't match type ‘b’ with ‘a’ + ‘b’ is a rigid type variable bound by + the RULE "foo/foo" at T2494.hs:14:16-62 + ‘a’ is a rigid type variable bound by + the RULE "foo/foo" at T2494.hs:13:16-62 + Expected type: Maybe (m b) -> Maybe (m a) + Actual type: Maybe (m b) -> Maybe (m b) + • In the second argument of ‘(.)’, namely ‘g’ + In the first argument of ‘foo’, namely ‘(f . g)’ + In the expression: foo (f . g) x + • Relevant bindings include + f :: forall (m :: * -> *). Monad m => Maybe (m a) -> Maybe (m a) + (bound at T2494.hs:13:11) + g :: forall (m :: * -> *). Monad m => Maybe (m b) -> Maybe (m b) + (bound at T2494.hs:14:11) + x :: Maybe a (bound at T2494.hs:14:65) diff --git a/testsuite/tests/typecheck/should_compile/T9834.stderr b/testsuite/tests/typecheck/should_compile/T9834.stderr index 75392ea2ba..8fb1db79a8 100644 --- a/testsuite/tests/typecheck/should_compile/T9834.stderr +++ b/testsuite/tests/typecheck/should_compile/T9834.stderr @@ -1,46 +1,46 @@ -
-T9834.hs:23:10: warning: [-Wdeferred-type-errors (in -Wdefault)]
- • Couldn't match type ‘p’ with ‘(->) (p a0)’
- ‘p’ is a rigid type variable bound by
- the class declaration for ‘ApplicativeFix’ at T9834.hs:21:39
- Expected type: (forall (q :: * -> *).
- Applicative q =>
- Comp p q a -> Comp p q a)
- -> p a
- Actual type: (forall (q :: * -> *).
- Applicative q =>
- Nat (Comp p q) (Comp p q))
- -> p a0 -> p a0
- • In the expression: wrapIdComp
- In an equation for ‘afix’: afix = wrapIdComp
- • Relevant bindings include
- afix :: (forall (q :: * -> *).
- Applicative q =>
- Comp p q a -> Comp p q a)
- -> p a
- (bound at T9834.hs:23:3)
-
-T9834.hs:23:10: warning: [-Wdeferred-type-errors (in -Wdefault)]
- • Couldn't match type ‘a’ with ‘a1’
- ‘a’ is a rigid type variable bound by
- the type signature for:
- afix :: forall a.
- (forall (q :: * -> *). Applicative q => Comp p q a -> Comp p q a)
- -> p a
- at T9834.hs:22:11-74
- ‘a1’ is a rigid type variable bound by
- a type expected by the context:
- forall (q :: * -> *) a1.
- Applicative q =>
- Comp p q a1 -> Comp p q a1
- at T9834.hs:23:10-19
- Expected type: Comp p q a1 -> Comp p q a1
- Actual type: Comp p q a -> Comp p q a
- • In the expression: wrapIdComp
- In an equation for ‘afix’: afix = wrapIdComp
- • Relevant bindings include
- afix :: (forall (q :: * -> *).
- Applicative q =>
- Comp p q a -> Comp p q a)
- -> p a
- (bound at T9834.hs:23:3)
+ +T9834.hs:23:10: warning: [-Wdeferred-type-errors (in -Wdefault)] + • Couldn't match type ‘p’ with ‘(->) (p a0)’ + ‘p’ is a rigid type variable bound by + the class declaration for ‘ApplicativeFix’ at T9834.hs:21:39 + Expected type: (forall (q :: * -> *). + Applicative q => + Comp p q a -> Comp p q a) + -> p a + Actual type: (forall (q :: * -> *). + Applicative q => + Nat (Comp p q) (Comp p q)) + -> p a0 -> p a0 + • In the expression: wrapIdComp + In an equation for ‘afix’: afix = wrapIdComp + • Relevant bindings include + afix :: (forall (q :: * -> *). + Applicative q => + Comp p q a -> Comp p q a) + -> p a + (bound at T9834.hs:23:3) + +T9834.hs:23:10: warning: [-Wdeferred-type-errors (in -Wdefault)] + • Couldn't match type ‘a’ with ‘a1’ + ‘a’ is a rigid type variable bound by + the type signature for: + afix :: forall a. + (forall (q :: * -> *). Applicative q => Comp p q a -> Comp p q a) + -> p a + at T9834.hs:22:11-74 + ‘a1’ is a rigid type variable bound by + a type expected by the context: + forall (q :: * -> *) a1. + Applicative q => + Comp p q a1 -> Comp p q a1 + at T9834.hs:23:10-19 + Expected type: Comp p q a1 -> Comp p q a1 + Actual type: Comp p q a -> Comp p q a + • In the expression: wrapIdComp + In an equation for ‘afix’: afix = wrapIdComp + • Relevant bindings include + afix :: (forall (q :: * -> *). + Applicative q => + Comp p q a -> Comp p q a) + -> p a + (bound at T9834.hs:23:3) diff --git a/testsuite/tests/typecheck/should_compile/T9939.stderr b/testsuite/tests/typecheck/should_compile/T9939.stderr index 5e227b2702..d10c51016d 100644 --- a/testsuite/tests/typecheck/should_compile/T9939.stderr +++ b/testsuite/tests/typecheck/should_compile/T9939.stderr @@ -1,20 +1,20 @@ -
-T9939.hs:5:1: warning: [-Wredundant-constraints (in -Wall)]
- • Redundant constraint: Eq a
- • In the type signature for:
- f1 :: (Eq a, Ord a) => a -> a -> Bool
-
-T9939.hs:9:1: warning: [-Wredundant-constraints (in -Wall)]
- • Redundant constraint: Eq a
- • In the type signature for:
- f2 :: (Eq a, Ord a) => a -> a -> Bool
-
-T9939.hs:13:1: warning: [-Wredundant-constraints (in -Wall)]
- • Redundant constraint: Eq b
- • In the type signature for:
- f3 :: (Eq a, a ~ b, Eq b) => a -> b -> Bool
-
-T9939.hs:20:1: warning: [-Wredundant-constraints (in -Wall)]
- • Redundant constraint: Eq a
- • In the type signature for:
- f4 :: (Eq a, Eq b) => a -> b -> Equal a b -> Bool
+ +T9939.hs:5:1: warning: [-Wredundant-constraints (in -Wall)] + • Redundant constraint: Eq a + • In the type signature for: + f1 :: (Eq a, Ord a) => a -> a -> Bool + +T9939.hs:9:1: warning: [-Wredundant-constraints (in -Wall)] + • Redundant constraint: Eq a + • In the type signature for: + f2 :: (Eq a, Ord a) => a -> a -> Bool + +T9939.hs:13:1: warning: [-Wredundant-constraints (in -Wall)] + • Redundant constraint: Eq b + • In the type signature for: + f3 :: (Eq a, a ~ b, Eq b) => a -> b -> Bool + +T9939.hs:20:1: warning: [-Wredundant-constraints (in -Wall)] + • Redundant constraint: Eq a + • In the type signature for: + f4 :: (Eq a, Eq b) => a -> b -> Equal a b -> Bool diff --git a/testsuite/tests/typecheck/should_compile/holes.stderr b/testsuite/tests/typecheck/should_compile/holes.stderr index 6bb117796f..aadc844290 100644 --- a/testsuite/tests/typecheck/should_compile/holes.stderr +++ b/testsuite/tests/typecheck/should_compile/holes.stderr @@ -1,33 +1,33 @@ -
-holes.hs:3:5: warning: [-Wtyped-holes (in -Wdefault)]
- • Found hole: _ :: t
- Where: ‘t’ is a rigid type variable bound by
- the inferred type of f :: t at holes.hs:3:1-5
- • In the expression: _
- In an equation for ‘f’: f = _
- • Relevant bindings include f :: t (bound at holes.hs:3:1)
-
-holes.hs:6:7: warning: [-Wtyped-holes (in -Wdefault)]
- • Found hole: _ :: Char
- • In the expression: _
- In an equation for ‘g’: g x = _
- • Relevant bindings include
- x :: Int (bound at holes.hs:6:3)
- g :: Int -> Char (bound at holes.hs:6:1)
-
-holes.hs:8:5: warning: [-Wtyped-holes (in -Wdefault)]
- • Found hole: _ :: [Char]
- • In the first argument of ‘(++)’, namely ‘_’
- In the expression: _ ++ "a"
- In an equation for ‘h’: h = _ ++ "a"
- • Relevant bindings include h :: [Char] (bound at holes.hs:8:1)
-
-holes.hs:11:15: warning: [-Wtyped-holes (in -Wdefault)]
- • Found hole: _ :: b0
- Where: ‘b0’ is an ambiguous type variable
- • In the second argument of ‘const’, namely ‘_’
- In the expression: const y _
- In an equation for ‘z’: z y = const y _
- • Relevant bindings include
- y :: [a] (bound at holes.hs:11:3)
- z :: [a] -> [a] (bound at holes.hs:11:1)
+ +holes.hs:3:5: warning: [-Wtyped-holes (in -Wdefault)] + • Found hole: _ :: t + Where: ‘t’ is a rigid type variable bound by + the inferred type of f :: t at holes.hs:3:1-5 + • In the expression: _ + In an equation for ‘f’: f = _ + • Relevant bindings include f :: t (bound at holes.hs:3:1) + +holes.hs:6:7: warning: [-Wtyped-holes (in -Wdefault)] + • Found hole: _ :: Char + • In the expression: _ + In an equation for ‘g’: g x = _ + • Relevant bindings include + x :: Int (bound at holes.hs:6:3) + g :: Int -> Char (bound at holes.hs:6:1) + +holes.hs:8:5: warning: [-Wtyped-holes (in -Wdefault)] + • Found hole: _ :: [Char] + • In the first argument of ‘(++)’, namely ‘_’ + In the expression: _ ++ "a" + In an equation for ‘h’: h = _ ++ "a" + • Relevant bindings include h :: [Char] (bound at holes.hs:8:1) + +holes.hs:11:15: warning: [-Wtyped-holes (in -Wdefault)] + • Found hole: _ :: b0 + Where: ‘b0’ is an ambiguous type variable + • In the second argument of ‘const’, namely ‘_’ + In the expression: const y _ + In an equation for ‘z’: z y = const y _ + • Relevant bindings include + y :: [a] (bound at holes.hs:11:3) + z :: [a] -> [a] (bound at holes.hs:11:1) diff --git a/testsuite/tests/typecheck/should_compile/holes3.stderr b/testsuite/tests/typecheck/should_compile/holes3.stderr index 7edaed8e3e..3a3fd572e1 100644 --- a/testsuite/tests/typecheck/should_compile/holes3.stderr +++ b/testsuite/tests/typecheck/should_compile/holes3.stderr @@ -1,36 +1,36 @@ -
-holes3.hs:3:5: error:
- • Found hole: _ :: t
- Where: ‘t’ is a rigid type variable bound by
- the inferred type of f :: t at holes3.hs:3:1-5
- • In the expression: _
- In an equation for ‘f’: f = _
- • Relevant bindings include f :: t (bound at holes3.hs:3:1)
-
-holes3.hs:6:7: error:
- • Found hole: _gr :: Char
- Or perhaps ‘_gr’ is mis-spelled, or not in scope
- • In the expression: _gr
- In an equation for ‘g’: g x = _gr
- • Relevant bindings include
- x :: Int (bound at holes3.hs:6:3)
- g :: Int -> Char (bound at holes3.hs:6:1)
-
-holes3.hs:8:5: error:
- • Found hole: _aa :: [Char]
- Or perhaps ‘_aa’ is mis-spelled, or not in scope
- • In the first argument of ‘(++)’, namely ‘_aa’
- In the expression: _aa ++ "a"
- In an equation for ‘h’: h = _aa ++ "a"
- • Relevant bindings include h :: [Char] (bound at holes3.hs:8:1)
-
-holes3.hs:11:15: error:
- • Found hole: _x :: b0
- Where: ‘b0’ is an ambiguous type variable
- Or perhaps ‘_x’ is mis-spelled, or not in scope
- • In the second argument of ‘const’, namely ‘_x’
- In the expression: const y _x
- In an equation for ‘z’: z y = const y _x
- • Relevant bindings include
- y :: [a] (bound at holes3.hs:11:3)
- z :: [a] -> [a] (bound at holes3.hs:11:1)
+ +holes3.hs:3:5: error: + • Found hole: _ :: t + Where: ‘t’ is a rigid type variable bound by + the inferred type of f :: t at holes3.hs:3:1-5 + • In the expression: _ + In an equation for ‘f’: f = _ + • Relevant bindings include f :: t (bound at holes3.hs:3:1) + +holes3.hs:6:7: error: + • Found hole: _gr :: Char + Or perhaps ‘_gr’ is mis-spelled, or not in scope + • In the expression: _gr + In an equation for ‘g’: g x = _gr + • Relevant bindings include + x :: Int (bound at holes3.hs:6:3) + g :: Int -> Char (bound at holes3.hs:6:1) + +holes3.hs:8:5: error: + • Found hole: _aa :: [Char] + Or perhaps ‘_aa’ is mis-spelled, or not in scope + • In the first argument of ‘(++)’, namely ‘_aa’ + In the expression: _aa ++ "a" + In an equation for ‘h’: h = _aa ++ "a" + • Relevant bindings include h :: [Char] (bound at holes3.hs:8:1) + +holes3.hs:11:15: error: + • Found hole: _x :: b0 + Where: ‘b0’ is an ambiguous type variable + Or perhaps ‘_x’ is mis-spelled, or not in scope + • In the second argument of ‘const’, namely ‘_x’ + In the expression: const y _x + In an equation for ‘z’: z y = const y _x + • Relevant bindings include + y :: [a] (bound at holes3.hs:11:3) + z :: [a] -> [a] (bound at holes3.hs:11:1) diff --git a/testsuite/tests/typecheck/should_fail/T10285.stderr b/testsuite/tests/typecheck/should_fail/T10285.stderr index a8e5b011e4..99edf39591 100644 --- a/testsuite/tests/typecheck/should_fail/T10285.stderr +++ b/testsuite/tests/typecheck/should_fail/T10285.stderr @@ -1,22 +1,22 @@ -
-T10285.hs:8:17: error:
- • Could not deduce: Coercible a b arising from a use of ‘coerce’
- from the context: Coercible (N a) (N b)
- bound by a pattern with constructor:
- Coercion :: forall k (a :: k) (b :: k).
- Coercible a b =>
- Coercion a b,
- in an equation for ‘oops’
- at T10285.hs:8:6-13
- ‘a’ is a rigid type variable bound by
- the type signature for:
- oops :: forall a b. Coercion (N a) (N b) -> a -> b
- at T10285.hs:7:1-38
- ‘b’ is a rigid type variable bound by
- the type signature for:
- oops :: forall a b. Coercion (N a) (N b) -> a -> b
- at T10285.hs:7:1-38
- • In the expression: coerce
- In an equation for ‘oops’: oops Coercion = coerce
- • Relevant bindings include
- oops :: Coercion (N a) (N b) -> a -> b (bound at T10285.hs:8:1)
+ +T10285.hs:8:17: error: + • Could not deduce: Coercible a b arising from a use of ‘coerce’ + from the context: Coercible (N a) (N b) + bound by a pattern with constructor: + Coercion :: forall k (a :: k) (b :: k). + Coercible a b => + Coercion a b, + in an equation for ‘oops’ + at T10285.hs:8:6-13 + ‘a’ is a rigid type variable bound by + the type signature for: + oops :: forall a b. Coercion (N a) (N b) -> a -> b + at T10285.hs:7:1-38 + ‘b’ is a rigid type variable bound by + the type signature for: + oops :: forall a b. Coercion (N a) (N b) -> a -> b + at T10285.hs:7:1-38 + • In the expression: coerce + In an equation for ‘oops’: oops Coercion = coerce + • Relevant bindings include + oops :: Coercion (N a) (N b) -> a -> b (bound at T10285.hs:8:1) diff --git a/testsuite/tests/typecheck/should_fail/T10534.stderr b/testsuite/tests/typecheck/should_fail/T10534.stderr index 5ba1c89d27..ef42727c9e 100644 --- a/testsuite/tests/typecheck/should_fail/T10534.stderr +++ b/testsuite/tests/typecheck/should_fail/T10534.stderr @@ -1,19 +1,19 @@ -
-T10534a.hs:10:9: error:
- • Could not deduce: Coercible a b arising from a use of ‘coerce’
- from the context: Coercible (DF a) (DF b)
- bound by the type signature for:
- silly :: Coercible (DF a) (DF b) => a -> b
- at T10534a.hs:9:1-42
- ‘a’ is a rigid type variable bound by
- the type signature for:
- silly :: forall a b. Coercible (DF a) (DF b) => a -> b
- at T10534a.hs:9:1-42
- ‘b’ is a rigid type variable bound by
- the type signature for:
- silly :: forall a b. Coercible (DF a) (DF b) => a -> b
- at T10534a.hs:9:1-42
- • In the expression: coerce
- In an equation for ‘silly’: silly = coerce
- • Relevant bindings include
- silly :: a -> b (bound at T10534a.hs:10:1)
+ +T10534a.hs:10:9: error: + • Could not deduce: Coercible a b arising from a use of ‘coerce’ + from the context: Coercible (DF a) (DF b) + bound by the type signature for: + silly :: Coercible (DF a) (DF b) => a -> b + at T10534a.hs:9:1-42 + ‘a’ is a rigid type variable bound by + the type signature for: + silly :: forall a b. Coercible (DF a) (DF b) => a -> b + at T10534a.hs:9:1-42 + ‘b’ is a rigid type variable bound by + the type signature for: + silly :: forall a b. Coercible (DF a) (DF b) => a -> b + at T10534a.hs:9:1-42 + • In the expression: coerce + In an equation for ‘silly’: silly = coerce + • Relevant bindings include + silly :: a -> b (bound at T10534a.hs:10:1) diff --git a/testsuite/tests/typecheck/should_fail/T10715.stderr b/testsuite/tests/typecheck/should_fail/T10715.stderr index 9b98acbfb5..19bc1b9af3 100644 --- a/testsuite/tests/typecheck/should_fail/T10715.stderr +++ b/testsuite/tests/typecheck/should_fail/T10715.stderr @@ -1,13 +1,13 @@ -
-T10715.hs:9:13: error:
- • Couldn't match representation of type ‘a’ with that of ‘X a’
- ‘a’ is a rigid type variable bound by
- the type signature for:
- doCoerce :: forall a. Coercible a (X a) => a -> X a
- at T10715.hs:9:13-41
- Inaccessible code in
- the type signature for:
- doCoerce :: Coercible a (X a) => a -> X a
- • In the ambiguity check for ‘doCoerce’
- To defer the ambiguity check to use sites, enable AllowAmbiguousTypes
- In the type signature: doCoerce :: Coercible a (X a) => a -> X a
+ +T10715.hs:9:13: error: + • Couldn't match representation of type ‘a’ with that of ‘X a’ + ‘a’ is a rigid type variable bound by + the type signature for: + doCoerce :: forall a. Coercible a (X a) => a -> X a + at T10715.hs:9:13-41 + Inaccessible code in + the type signature for: + doCoerce :: Coercible a (X a) => a -> X a + • In the ambiguity check for ‘doCoerce’ + To defer the ambiguity check to use sites, enable AllowAmbiguousTypes + In the type signature: doCoerce :: Coercible a (X a) => a -> X a diff --git a/testsuite/tests/typecheck/should_fail/T11347.stderr b/testsuite/tests/typecheck/should_fail/T11347.stderr index 54061068c6..5f1e7ad61e 100644 --- a/testsuite/tests/typecheck/should_fail/T11347.stderr +++ b/testsuite/tests/typecheck/should_fail/T11347.stderr @@ -1,11 +1,11 @@ -
-T11347.hs:6:41: error:
- • Couldn't match representation of type ‘a’ with that of ‘b’
- arising from the coercion of the method ‘unsafe’
- from type ‘Id1 a -> Discern (Id1 a) b’
- to type ‘Id2 a -> Discern (Id2 a) b’
- ‘a’ is a rigid type variable bound by
- the deriving clause for ‘UnsafeCast b (Id2 a)’ at T11347.hs:6:41-52
- ‘b’ is a rigid type variable bound by
- the deriving clause for ‘UnsafeCast b (Id2 a)’ at T11347.hs:6:41-52
- • When deriving the instance for (UnsafeCast b (Id2 a))
+ +T11347.hs:6:41: error: + • Couldn't match representation of type ‘a’ with that of ‘b’ + arising from the coercion of the method ‘unsafe’ + from type ‘Id1 a -> Discern (Id1 a) b’ + to type ‘Id2 a -> Discern (Id2 a) b’ + ‘a’ is a rigid type variable bound by + the deriving clause for ‘UnsafeCast b (Id2 a)’ at T11347.hs:6:41-52 + ‘b’ is a rigid type variable bound by + the deriving clause for ‘UnsafeCast b (Id2 a)’ at T11347.hs:6:41-52 + • When deriving the instance for (UnsafeCast b (Id2 a)) diff --git a/testsuite/tests/typecheck/should_fail/T1899.stderr b/testsuite/tests/typecheck/should_fail/T1899.stderr index c88ae9ace2..9fe71027c0 100644 --- a/testsuite/tests/typecheck/should_fail/T1899.stderr +++ b/testsuite/tests/typecheck/should_fail/T1899.stderr @@ -1,15 +1,15 @@ -
-T1899.hs:14:36: error:
- • Couldn't match type ‘a’ with ‘Proposition a0’
- ‘a’ is a rigid type variable bound by
- the type signature for:
- transRHS :: forall a. [a] -> Int -> Constraint a
- at T1899.hs:9:2-39
- Expected type: [Proposition a0]
- Actual type: [a]
- • In the first argument of ‘Auxiliary’, namely ‘varSet’
- In the first argument of ‘Prop’, namely ‘(Auxiliary varSet)’
- In the expression: Prop (Auxiliary varSet)
- • Relevant bindings include
- varSet :: [a] (bound at T1899.hs:10:11)
- transRHS :: [a] -> Int -> Constraint a (bound at T1899.hs:10:2)
+ +T1899.hs:14:36: error: + • Couldn't match type ‘a’ with ‘Proposition a0’ + ‘a’ is a rigid type variable bound by + the type signature for: + transRHS :: forall a. [a] -> Int -> Constraint a + at T1899.hs:9:2-39 + Expected type: [Proposition a0] + Actual type: [a] + • In the first argument of ‘Auxiliary’, namely ‘varSet’ + In the first argument of ‘Prop’, namely ‘(Auxiliary varSet)’ + In the expression: Prop (Auxiliary varSet) + • Relevant bindings include + varSet :: [a] (bound at T1899.hs:10:11) + transRHS :: [a] -> Int -> Constraint a (bound at T1899.hs:10:2) diff --git a/testsuite/tests/typecheck/should_fail/T2714.stderr b/testsuite/tests/typecheck/should_fail/T2714.stderr index f60855d682..c016586cc4 100644 --- a/testsuite/tests/typecheck/should_fail/T2714.stderr +++ b/testsuite/tests/typecheck/should_fail/T2714.stderr @@ -1,13 +1,13 @@ -
-T2714.hs:8:5: error:
- • Couldn't match type ‘a’ with ‘f0 b’
- ‘a’ is a rigid type variable bound by
- the type signature for:
- f :: forall a b. ((a -> b) -> b) -> forall c. c -> a
- at T2714.hs:7:1-42
- Expected type: ((a -> b) -> b) -> c -> a
- Actual type: ((a -> b) -> b) -> f0 (a -> b) -> f0 b
- • In the expression: ffmap
- In an equation for ‘f’: f = ffmap
- • Relevant bindings include
- f :: ((a -> b) -> b) -> forall c. c -> a (bound at T2714.hs:8:1)
+ +T2714.hs:8:5: error: + • Couldn't match type ‘a’ with ‘f0 b’ + ‘a’ is a rigid type variable bound by + the type signature for: + f :: forall a b. ((a -> b) -> b) -> forall c. c -> a + at T2714.hs:7:1-42 + Expected type: ((a -> b) -> b) -> c -> a + Actual type: ((a -> b) -> b) -> f0 (a -> b) -> f0 b + • In the expression: ffmap + In an equation for ‘f’: f = ffmap + • Relevant bindings include + f :: ((a -> b) -> b) -> forall c. c -> a (bound at T2714.hs:8:1) diff --git a/testsuite/tests/typecheck/should_fail/T3102.stderr b/testsuite/tests/typecheck/should_fail/T3102.stderr index 6ff8d1cb67..66979ddf8b 100644 --- a/testsuite/tests/typecheck/should_fail/T3102.stderr +++ b/testsuite/tests/typecheck/should_fail/T3102.stderr @@ -1,12 +1,12 @@ -
-T3102.hs:11:12: error:
- • Couldn't match type ‘a’ with ‘(?p::Int) => a0’
- ‘a’ is a rigid type variable bound by
- a type expected by the context:
- forall a. a -> String
- at T3102.hs:11:10-12
- Expected type: a -> String
- Actual type: ((?p::Int) => a0) -> String
- • In the first argument of ‘f’, namely ‘t’
- In the expression: f t
- In an equation for ‘result’: result = f t
+ +T3102.hs:11:12: error: + • Couldn't match type ‘a’ with ‘(?p::Int) => a0’ + ‘a’ is a rigid type variable bound by + a type expected by the context: + forall a. a -> String + at T3102.hs:11:10-12 + Expected type: a -> String + Actual type: ((?p::Int) => a0) -> String + • In the first argument of ‘f’, namely ‘t’ + In the expression: f t + In an equation for ‘result’: result = f t diff --git a/testsuite/tests/typecheck/should_fail/T5691.stderr b/testsuite/tests/typecheck/should_fail/T5691.stderr index 585dcdf71c..9d4e587166 100644 --- a/testsuite/tests/typecheck/should_fail/T5691.stderr +++ b/testsuite/tests/typecheck/should_fail/T5691.stderr @@ -1,19 +1,19 @@ -
-T5691.hs:15:24: error:
- • Couldn't match type ‘p’ with ‘PrintRuleInterp’
- Expected type: PrintRuleInterp a
- Actual type: p a
- • In the first argument of ‘printRule_’, namely ‘f’
- In the second argument of ‘($)’, namely ‘printRule_ f’
- In the expression: MkPRI $ printRule_ f
- • Relevant bindings include f :: p a (bound at T5691.hs:14:9)
-
-T5691.hs:24:10: error:
- • No instance for (Alternative RecDecParser)
- arising from the superclasses of an instance declaration
- • In the instance declaration for ‘MonadPlus RecDecParser’
-
-T5691.hs:24:10: error:
- • No instance for (Monad RecDecParser)
- arising from the superclasses of an instance declaration
- • In the instance declaration for ‘MonadPlus RecDecParser’
+ +T5691.hs:15:24: error: + • Couldn't match type ‘p’ with ‘PrintRuleInterp’ + Expected type: PrintRuleInterp a + Actual type: p a + • In the first argument of ‘printRule_’, namely ‘f’ + In the second argument of ‘($)’, namely ‘printRule_ f’ + In the expression: MkPRI $ printRule_ f + • Relevant bindings include f :: p a (bound at T5691.hs:14:9) + +T5691.hs:24:10: error: + • No instance for (Alternative RecDecParser) + arising from the superclasses of an instance declaration + • In the instance declaration for ‘MonadPlus RecDecParser’ + +T5691.hs:24:10: error: + • No instance for (Monad RecDecParser) + arising from the superclasses of an instance declaration + • In the instance declaration for ‘MonadPlus RecDecParser’ diff --git a/testsuite/tests/typecheck/should_fail/T7264.stderr b/testsuite/tests/typecheck/should_fail/T7264.stderr index 57d3699a37..71c99c5614 100644 --- a/testsuite/tests/typecheck/should_fail/T7264.stderr +++ b/testsuite/tests/typecheck/should_fail/T7264.stderr @@ -1,13 +1,13 @@ -
-T7264.hs:13:19: error:
- • Couldn't match type ‘a’ with ‘forall r. r -> String’
- ‘a’ is a rigid type variable bound by
- the inferred type of mkFoo2 :: a -> Maybe Foo at T7264.hs:13:1-32
- Expected type: a -> Foo
- Actual type: (forall r. r -> String) -> Foo
- • In the first argument of ‘mmap’, namely ‘Foo’
- In the expression: mmap Foo (Just val)
- In an equation for ‘mkFoo2’: mkFoo2 val = mmap Foo (Just val)
- • Relevant bindings include
- val :: a (bound at T7264.hs:13:8)
- mkFoo2 :: a -> Maybe Foo (bound at T7264.hs:13:1)
+ +T7264.hs:13:19: error: + • Couldn't match type ‘a’ with ‘forall r. r -> String’ + ‘a’ is a rigid type variable bound by + the inferred type of mkFoo2 :: a -> Maybe Foo at T7264.hs:13:1-32 + Expected type: a -> Foo + Actual type: (forall r. r -> String) -> Foo + • In the first argument of ‘mmap’, namely ‘Foo’ + In the expression: mmap Foo (Just val) + In an equation for ‘mkFoo2’: mkFoo2 val = mmap Foo (Just val) + • Relevant bindings include + val :: a (bound at T7264.hs:13:8) + mkFoo2 :: a -> Maybe Foo (bound at T7264.hs:13:1) diff --git a/testsuite/tests/typecheck/should_fail/T7748a.stderr b/testsuite/tests/typecheck/should_fail/T7748a.stderr index d63f406ce4..17d60cc32d 100644 --- a/testsuite/tests/typecheck/should_fail/T7748a.stderr +++ b/testsuite/tests/typecheck/should_fail/T7748a.stderr @@ -1,20 +1,20 @@ -
-T7748a.hs:16:24: error:
- • Couldn't match expected type ‘a’
- with actual type ‘Maybe (Maybe (r -> ()))’
- ‘a’ is a rigid type variable bound by
- the type signature for:
- test :: forall a r. a -> r -> ()
- at T7748a.hs:11:1-20
- • In the pattern: Just (Just p)
- In a case alternative: Just (Just p) -> p
- In the expression:
- case zd of {
- Nothing -> const ()
- Just Nothing -> const ()
- Just (Just p) -> p }
- • Relevant bindings include
- g :: r -> () (bound at T7748a.hs:13:16)
- f :: r -> () (bound at T7748a.hs:13:8)
- zd :: a (bound at T7748a.hs:12:6)
- test :: a -> r -> () (bound at T7748a.hs:12:1)
+ +T7748a.hs:16:24: error: + • Couldn't match expected type ‘a’ + with actual type ‘Maybe (Maybe (r -> ()))’ + ‘a’ is a rigid type variable bound by + the type signature for: + test :: forall a r. a -> r -> () + at T7748a.hs:11:1-20 + • In the pattern: Just (Just p) + In a case alternative: Just (Just p) -> p + In the expression: + case zd of { + Nothing -> const () + Just Nothing -> const () + Just (Just p) -> p } + • Relevant bindings include + g :: r -> () (bound at T7748a.hs:13:16) + f :: r -> () (bound at T7748a.hs:13:8) + zd :: a (bound at T7748a.hs:12:6) + test :: a -> r -> () (bound at T7748a.hs:12:1) diff --git a/testsuite/tests/typecheck/should_fail/T7869.stderr b/testsuite/tests/typecheck/should_fail/T7869.stderr index 95dc5a9ca4..00ea8e7438 100644 --- a/testsuite/tests/typecheck/should_fail/T7869.stderr +++ b/testsuite/tests/typecheck/should_fail/T7869.stderr @@ -1,14 +1,14 @@ -
-T7869.hs:3:12: error:
- • Couldn't match type ‘b’ with ‘b1’
- because type variable ‘b1’ would escape its scope
- This (rigid, skolem) type variable is bound by
- an expression type signature:
- [a1] -> b1
- at T7869.hs:3:20-27
- Expected type: [a1] -> b1
- Actual type: [a] -> b
- • In the expression: f x
- In the expression: (\ x -> f x) :: [a] -> b
- In an equation for ‘f’: f = (\ x -> f x) :: [a] -> b
- • Relevant bindings include f :: [a] -> b (bound at T7869.hs:3:1)
+ +T7869.hs:3:12: error: + • Couldn't match type ‘b’ with ‘b1’ + because type variable ‘b1’ would escape its scope + This (rigid, skolem) type variable is bound by + an expression type signature: + [a1] -> b1 + at T7869.hs:3:20-27 + Expected type: [a1] -> b1 + Actual type: [a] -> b + • In the expression: f x + In the expression: (\ x -> f x) :: [a] -> b + In an equation for ‘f’: f = (\ x -> f x) :: [a] -> b + • Relevant bindings include f :: [a] -> b (bound at T7869.hs:3:1) diff --git a/testsuite/tests/typecheck/should_fail/T8450.stderr b/testsuite/tests/typecheck/should_fail/T8450.stderr index c5a751d867..8ba84a76f1 100644 --- a/testsuite/tests/typecheck/should_fail/T8450.stderr +++ b/testsuite/tests/typecheck/should_fail/T8450.stderr @@ -1,11 +1,11 @@ -
-T8450.hs:8:7: error:
- • Couldn't match expected type ‘a’ with actual type ‘()’
- ‘a’ is a rigid type variable bound by
- the type signature for:
- run :: forall a. a
- at T8450.hs:7:1-18
- • In the expression: runEffect $ (undefined :: Either a ())
- In an equation for ‘run’:
- run = runEffect $ (undefined :: Either a ())
- • Relevant bindings include run :: a (bound at T8450.hs:8:1)
+ +T8450.hs:8:7: error: + • Couldn't match expected type ‘a’ with actual type ‘()’ + ‘a’ is a rigid type variable bound by + the type signature for: + run :: forall a. a + at T8450.hs:7:1-18 + • In the expression: runEffect $ (undefined :: Either a ()) + In an equation for ‘run’: + run = runEffect $ (undefined :: Either a ()) + • Relevant bindings include run :: a (bound at T8450.hs:8:1) diff --git a/testsuite/tests/typecheck/should_fail/mc19.stderr b/testsuite/tests/typecheck/should_fail/mc19.stderr index 4b00eeaecc..cffb7f61c5 100644 --- a/testsuite/tests/typecheck/should_fail/mc19.stderr +++ b/testsuite/tests/typecheck/should_fail/mc19.stderr @@ -1,12 +1,12 @@ -
-mc19.hs:10:31: error:
- • Couldn't match type ‘a’ with ‘[a]’
- ‘a’ is a rigid type variable bound by
- a type expected by the context:
- forall a. [a] -> [a]
- at mc19.hs:10:10-35
- Expected type: [a] -> [a]
- Actual type: [a] -> [[a]]
- • In the expression: inits
- In a stmt of a monad comprehension: then inits
- In the expression: [x | x <- [3, 2, 1], then inits]
+ +mc19.hs:10:31: error: + • Couldn't match type ‘a’ with ‘[a]’ + ‘a’ is a rigid type variable bound by + a type expected by the context: + forall a. [a] -> [a] + at mc19.hs:10:10-35 + Expected type: [a] -> [a] + Actual type: [a] -> [[a]] + • In the expression: inits + In a stmt of a monad comprehension: then inits + In the expression: [x | x <- [3, 2, 1], then inits] diff --git a/testsuite/tests/typecheck/should_fail/mc21.stderr b/testsuite/tests/typecheck/should_fail/mc21.stderr index d650f0ebda..9cffcfb492 100644 --- a/testsuite/tests/typecheck/should_fail/mc21.stderr +++ b/testsuite/tests/typecheck/should_fail/mc21.stderr @@ -1,13 +1,13 @@ -
-mc21.hs:12:26: error:
- • Couldn't match type ‘a’ with ‘[a]’
- ‘a’ is a rigid type variable bound by
- a type expected by the context:
- forall a. [a] -> [[a]]
- at mc21.hs:(11,9)-(12,31)
- Expected type: [a] -> [[a]]
- Actual type: [[a]] -> [[a]]
- • In the expression: take 5
- In a stmt of a monad comprehension: then group using take 5
- In the expression:
- [GHC.List.length x | x <- [Gnorf, Brain], then group using take 5]
+ +mc21.hs:12:26: error: + • Couldn't match type ‘a’ with ‘[a]’ + ‘a’ is a rigid type variable bound by + a type expected by the context: + forall a. [a] -> [[a]] + at mc21.hs:(11,9)-(12,31) + Expected type: [a] -> [[a]] + Actual type: [[a]] -> [[a]] + • In the expression: take 5 + In a stmt of a monad comprehension: then group using take 5 + In the expression: + [GHC.List.length x | x <- [Gnorf, Brain], then group using take 5] diff --git a/testsuite/tests/typecheck/should_fail/mc22.stderr b/testsuite/tests/typecheck/should_fail/mc22.stderr index a394859f1d..ec82baf620 100644 --- a/testsuite/tests/typecheck/should_fail/mc22.stderr +++ b/testsuite/tests/typecheck/should_fail/mc22.stderr @@ -1,15 +1,15 @@ -
-mc22.hs:10:26: error:
- • Couldn't match type ‘a’ with ‘t a’
- ‘a’ is a rigid type variable bound by
- a type expected by the context:
- forall a. [a] -> [t a]
- at mc22.hs:(9,9)-(10,31)
- Expected type: [a] -> [t a]
- Actual type: [t a] -> [t a]
- • In the expression: take 5
- In a stmt of a monad comprehension: then group using take 5
- In the expression:
- [x + 1 | x <- ["Hello", "World"], then group using take 5]
- • Relevant bindings include
- foo :: [t [Char]] (bound at mc22.hs:8:1)
+ +mc22.hs:10:26: error: + • Couldn't match type ‘a’ with ‘t a’ + ‘a’ is a rigid type variable bound by + a type expected by the context: + forall a. [a] -> [t a] + at mc22.hs:(9,9)-(10,31) + Expected type: [a] -> [t a] + Actual type: [t a] -> [t a] + • In the expression: take 5 + In a stmt of a monad comprehension: then group using take 5 + In the expression: + [x + 1 | x <- ["Hello", "World"], then group using take 5] + • Relevant bindings include + foo :: [t [Char]] (bound at mc22.hs:8:1) diff --git a/testsuite/tests/typecheck/should_fail/tcfail032.stderr b/testsuite/tests/typecheck/should_fail/tcfail032.stderr index b576a1e380..583e6e3ce5 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail032.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail032.stderr @@ -1,13 +1,13 @@ -
-tcfail032.hs:14:8: error:
- • Couldn't match expected type ‘a1 -> Int’ with actual type ‘t’
- because type variable ‘a1’ would escape its scope
- This (rigid, skolem) type variable is bound by
- an expression type signature:
- Eq a1 => a1 -> Int
- at tcfail032.hs:14:13-30
- • In the expression: (x :: (Eq a) => a -> Int)
- In an equation for ‘f’: f x = (x :: (Eq a) => a -> Int)
- • Relevant bindings include
- x :: t (bound at tcfail032.hs:14:3)
- f :: t -> forall a. Eq a => a -> Int (bound at tcfail032.hs:14:1)
+ +tcfail032.hs:14:8: error: + • Couldn't match expected type ‘a1 -> Int’ with actual type ‘t’ + because type variable ‘a1’ would escape its scope + This (rigid, skolem) type variable is bound by + an expression type signature: + Eq a1 => a1 -> Int + at tcfail032.hs:14:13-30 + • In the expression: (x :: (Eq a) => a -> Int) + In an equation for ‘f’: f x = (x :: (Eq a) => a -> Int) + • Relevant bindings include + x :: t (bound at tcfail032.hs:14:3) + f :: t -> forall a. Eq a => a -> Int (bound at tcfail032.hs:14:1) diff --git a/testsuite/tests/typecheck/should_fail/tcfail065.stderr b/testsuite/tests/typecheck/should_fail/tcfail065.stderr index e38196980d..c1f3283daa 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail065.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail065.stderr @@ -1,17 +1,17 @@ -
-tcfail065.hs:29:18: error:
- • Couldn't match type ‘x1’ with ‘x’
- ‘x1’ is a rigid type variable bound by
- the type signature for:
- setX :: forall x1. x1 -> X x -> X x
- at tcfail065.hs:29:3-6
- ‘x’ is a rigid type variable bound by
- the instance declaration at tcfail065.hs:28:10-19
- Expected type: X x
- Actual type: X x1
- • In the expression: X x
- In an equation for ‘setX’: setX x (X _) = X x
- In the instance declaration for ‘HasX (X x)’
- • Relevant bindings include
- x :: x1 (bound at tcfail065.hs:29:8)
- setX :: x1 -> X x -> X x (bound at tcfail065.hs:29:3)
+ +tcfail065.hs:29:18: error: + • Couldn't match type ‘x1’ with ‘x’ + ‘x1’ is a rigid type variable bound by + the type signature for: + setX :: forall x1. x1 -> X x -> X x + at tcfail065.hs:29:3-6 + ‘x’ is a rigid type variable bound by + the instance declaration at tcfail065.hs:28:10-19 + Expected type: X x + Actual type: X x1 + • In the expression: X x + In an equation for ‘setX’: setX x (X _) = X x + In the instance declaration for ‘HasX (X x)’ + • Relevant bindings include + x :: x1 (bound at tcfail065.hs:29:8) + setX :: x1 -> X x -> X x (bound at tcfail065.hs:29:3) diff --git a/testsuite/tests/typecheck/should_fail/tcfail068.stderr b/testsuite/tests/typecheck/should_fail/tcfail068.stderr index 66e7f09064..bb3f9ddb53 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail068.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail068.stderr @@ -1,142 +1,142 @@ -
-tcfail068.hs:14:9: error:
- • Couldn't match type ‘s1’ with ‘s’
- ‘s1’ is a rigid type variable bound by
- a type expected by the context:
- forall s1. GHC.ST.ST s1 (IndTree s a)
- at tcfail068.hs:(13,9)-(14,31)
- ‘s’ is a rigid type variable bound by
- the type signature for:
- itgen :: forall a s.
- Constructed a =>
- (Int, Int) -> a -> IndTree s a
- at tcfail068.hs:11:1-55
- Expected type: GHC.ST.ST s1 (IndTree s a)
- Actual type: GHC.ST.ST s1 (STArray s1 (Int, Int) a)
- • In the first argument of ‘runST’, namely
- ‘(newSTArray ((1, 1), n) x)’
- In the expression: runST (newSTArray ((1, 1), n) x)
- In an equation for ‘itgen’:
- itgen n x = runST (newSTArray ((1, 1), n) x)
- • Relevant bindings include
- itgen :: (Int, Int) -> a -> IndTree s a
- (bound at tcfail068.hs:12:1)
-
-tcfail068.hs:19:9: error:
- • Couldn't match type ‘s’ with ‘s1’
- ‘s’ is a rigid type variable bound by
- the type signature for:
- itiap :: forall a s.
- Constructed a =>
- (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a
- at tcfail068.hs:16:1-75
- ‘s1’ is a rigid type variable bound by
- a type expected by the context:
- forall s1. GHC.ST.ST s1 (IndTree s a)
- at tcfail068.hs:(18,9)-(21,19)
- Expected type: GHC.ST.ST s1 (IndTree s a)
- Actual type: GHC.ST.ST s (IndTree s a)
- • In the first argument of ‘runST’, namely
- ‘(readSTArray arr i
- >>= \ val -> writeSTArray arr i (f val) >> return arr)’
- In the expression:
- runST
- (readSTArray arr i
- >>= \ val -> writeSTArray arr i (f val) >> return arr)
- In an equation for ‘itiap’:
- itiap i f arr
- = runST
- (readSTArray arr i
- >>= \ val -> writeSTArray arr i (f val) >> return arr)
- • Relevant bindings include
- arr :: IndTree s a (bound at tcfail068.hs:17:11)
- itiap :: (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a
- (bound at tcfail068.hs:17:1)
-
-tcfail068.hs:24:36: error:
- • Couldn't match type ‘s’ with ‘s1’
- ‘s’ is a rigid type variable bound by
- the type signature for:
- itrap :: forall a s.
- Constructed a =>
- ((Int, Int), (Int, Int)) -> (a -> a) -> IndTree s a -> IndTree s a
- at tcfail068.hs:23:1-87
- ‘s1’ is a rigid type variable bound by
- a type expected by the context:
- forall s1. GHC.ST.ST s1 (IndTree s a)
- at tcfail068.hs:24:29-46
- Expected type: GHC.ST.ST s1 (IndTree s a)
- Actual type: GHC.ST.ST s (IndTree s a)
- • In the first argument of ‘runST’, namely ‘(itrap' i k)’
- In the expression: runST (itrap' i k)
- In an equation for ‘itrap’:
- itrap ((i, k), (j, l)) f arr
- = runST (itrap' i k)
- where
- itrap' i k
- = if k > l then return arr else (itrapsnd i k >> itrap' i (k + 1))
- itrapsnd i k
- = if i > j then
- return arr
- else
- (readSTArray arr (i, k) >>= \ val -> ...)
- • Relevant bindings include
- itrap' :: Int -> Int -> GHC.ST.ST s (IndTree s a)
- (bound at tcfail068.hs:26:9)
- itrapsnd :: Int -> Int -> GHC.ST.ST s (IndTree s a)
- (bound at tcfail068.hs:29:9)
- arr :: IndTree s a (bound at tcfail068.hs:24:23)
- itrap :: ((Int, Int), (Int, Int))
- -> (a -> a) -> IndTree s a -> IndTree s a
- (bound at tcfail068.hs:24:1)
-
-tcfail068.hs:36:46: error:
- • Couldn't match type ‘s’ with ‘s1’
- ‘s’ is a rigid type variable bound by
- the type signature for:
- itrapstate :: forall b a c s.
- Constructed b =>
- ((Int, Int), (Int, Int))
- -> (a -> b -> (a, b))
- -> ((Int, Int) -> c -> a)
- -> (a -> c)
- -> c
- -> IndTree s b
- -> (c, IndTree s b)
- at tcfail068.hs:(34,1)-(35,62)
- ‘s1’ is a rigid type variable bound by
- a type expected by the context:
- forall s1. GHC.ST.ST s1 (c, IndTree s b)
- at tcfail068.hs:36:40-63
- Expected type: GHC.ST.ST s1 (c, IndTree s b)
- Actual type: GHC.ST.ST s (c, IndTree s b)
- • In the first argument of ‘runST’, namely ‘(itrapstate' i k s)’
- In the expression: runST (itrapstate' i k s)
- In an equation for ‘itrapstate’:
- itrapstate ((i, k), (j, l)) f c d s arr
- = runST (itrapstate' i k s)
- where
- itrapstate' i k s
- = if k > l then
- return (s, arr)
- else
- (itrapstatesnd i k s >>= \ (s, arr) -> ...)
- itrapstatesnd i k s
- = if i > j then
- return (s, arr)
- else
- (readSTArray arr (i, k) >>= \ val -> ...)
- • Relevant bindings include
- itrapstate' :: Int -> Int -> c -> GHC.ST.ST s (c, IndTree s b)
- (bound at tcfail068.hs:38:9)
- itrapstatesnd :: Int -> Int -> c -> GHC.ST.ST s (c, IndTree s b)
- (bound at tcfail068.hs:41:9)
- arr :: IndTree s b (bound at tcfail068.hs:36:34)
- itrapstate :: ((Int, Int), (Int, Int))
- -> (a -> b -> (a, b))
- -> ((Int, Int) -> c -> a)
- -> (a -> c)
- -> c
- -> IndTree s b
- -> (c, IndTree s b)
- (bound at tcfail068.hs:36:1)
+ +tcfail068.hs:14:9: error: + • Couldn't match type ‘s1’ with ‘s’ + ‘s1’ is a rigid type variable bound by + a type expected by the context: + forall s1. GHC.ST.ST s1 (IndTree s a) + at tcfail068.hs:(13,9)-(14,31) + ‘s’ is a rigid type variable bound by + the type signature for: + itgen :: forall a s. + Constructed a => + (Int, Int) -> a -> IndTree s a + at tcfail068.hs:11:1-55 + Expected type: GHC.ST.ST s1 (IndTree s a) + Actual type: GHC.ST.ST s1 (STArray s1 (Int, Int) a) + • In the first argument of ‘runST’, namely + ‘(newSTArray ((1, 1), n) x)’ + In the expression: runST (newSTArray ((1, 1), n) x) + In an equation for ‘itgen’: + itgen n x = runST (newSTArray ((1, 1), n) x) + • Relevant bindings include + itgen :: (Int, Int) -> a -> IndTree s a + (bound at tcfail068.hs:12:1) + +tcfail068.hs:19:9: error: + • Couldn't match type ‘s’ with ‘s1’ + ‘s’ is a rigid type variable bound by + the type signature for: + itiap :: forall a s. + Constructed a => + (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a + at tcfail068.hs:16:1-75 + ‘s1’ is a rigid type variable bound by + a type expected by the context: + forall s1. GHC.ST.ST s1 (IndTree s a) + at tcfail068.hs:(18,9)-(21,19) + Expected type: GHC.ST.ST s1 (IndTree s a) + Actual type: GHC.ST.ST s (IndTree s a) + • In the first argument of ‘runST’, namely + ‘(readSTArray arr i + >>= \ val -> writeSTArray arr i (f val) >> return arr)’ + In the expression: + runST + (readSTArray arr i + >>= \ val -> writeSTArray arr i (f val) >> return arr) + In an equation for ‘itiap’: + itiap i f arr + = runST + (readSTArray arr i + >>= \ val -> writeSTArray arr i (f val) >> return arr) + • Relevant bindings include + arr :: IndTree s a (bound at tcfail068.hs:17:11) + itiap :: (Int, Int) -> (a -> a) -> IndTree s a -> IndTree s a + (bound at tcfail068.hs:17:1) + +tcfail068.hs:24:36: error: + • Couldn't match type ‘s’ with ‘s1’ + ‘s’ is a rigid type variable bound by + the type signature for: + itrap :: forall a s. + Constructed a => + ((Int, Int), (Int, Int)) -> (a -> a) -> IndTree s a -> IndTree s a + at tcfail068.hs:23:1-87 + ‘s1’ is a rigid type variable bound by + a type expected by the context: + forall s1. GHC.ST.ST s1 (IndTree s a) + at tcfail068.hs:24:29-46 + Expected type: GHC.ST.ST s1 (IndTree s a) + Actual type: GHC.ST.ST s (IndTree s a) + • In the first argument of ‘runST’, namely ‘(itrap' i k)’ + In the expression: runST (itrap' i k) + In an equation for ‘itrap’: + itrap ((i, k), (j, l)) f arr + = runST (itrap' i k) + where + itrap' i k + = if k > l then return arr else (itrapsnd i k >> itrap' i (k + 1)) + itrapsnd i k + = if i > j then + return arr + else + (readSTArray arr (i, k) >>= \ val -> ...) + • Relevant bindings include + itrap' :: Int -> Int -> GHC.ST.ST s (IndTree s a) + (bound at tcfail068.hs:26:9) + itrapsnd :: Int -> Int -> GHC.ST.ST s (IndTree s a) + (bound at tcfail068.hs:29:9) + arr :: IndTree s a (bound at tcfail068.hs:24:23) + itrap :: ((Int, Int), (Int, Int)) + -> (a -> a) -> IndTree s a -> IndTree s a + (bound at tcfail068.hs:24:1) + +tcfail068.hs:36:46: error: + • Couldn't match type ‘s’ with ‘s1’ + ‘s’ is a rigid type variable bound by + the type signature for: + itrapstate :: forall b a c s. + Constructed b => + ((Int, Int), (Int, Int)) + -> (a -> b -> (a, b)) + -> ((Int, Int) -> c -> a) + -> (a -> c) + -> c + -> IndTree s b + -> (c, IndTree s b) + at tcfail068.hs:(34,1)-(35,62) + ‘s1’ is a rigid type variable bound by + a type expected by the context: + forall s1. GHC.ST.ST s1 (c, IndTree s b) + at tcfail068.hs:36:40-63 + Expected type: GHC.ST.ST s1 (c, IndTree s b) + Actual type: GHC.ST.ST s (c, IndTree s b) + • In the first argument of ‘runST’, namely ‘(itrapstate' i k s)’ + In the expression: runST (itrapstate' i k s) + In an equation for ‘itrapstate’: + itrapstate ((i, k), (j, l)) f c d s arr + = runST (itrapstate' i k s) + where + itrapstate' i k s + = if k > l then + return (s, arr) + else + (itrapstatesnd i k s >>= \ (s, arr) -> ...) + itrapstatesnd i k s + = if i > j then + return (s, arr) + else + (readSTArray arr (i, k) >>= \ val -> ...) + • Relevant bindings include + itrapstate' :: Int -> Int -> c -> GHC.ST.ST s (c, IndTree s b) + (bound at tcfail068.hs:38:9) + itrapstatesnd :: Int -> Int -> c -> GHC.ST.ST s (c, IndTree s b) + (bound at tcfail068.hs:41:9) + arr :: IndTree s b (bound at tcfail068.hs:36:34) + itrapstate :: ((Int, Int), (Int, Int)) + -> (a -> b -> (a, b)) + -> ((Int, Int) -> c -> a) + -> (a -> c) + -> c + -> IndTree s b + -> (c, IndTree s b) + (bound at tcfail068.hs:36:1) diff --git a/testsuite/tests/typecheck/should_fail/tcfail076.stderr b/testsuite/tests/typecheck/should_fail/tcfail076.stderr index bee39a2c68..546715aa4a 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail076.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail076.stderr @@ -1,19 +1,19 @@ -
-tcfail076.hs:18:82: error:
- • Couldn't match type ‘res’ with ‘res1’
- ‘res’ is a rigid type variable bound by
- a type expected by the context:
- forall res. (a -> m res) -> m res
- at tcfail076.hs:18:28-96
- ‘res1’ is a rigid type variable bound by
- a type expected by the context:
- forall res1. (b -> m res1) -> m res1
- at tcfail076.hs:18:64-88
- Expected type: m res1
- Actual type: m res
- • In the expression: cont a
- In the first argument of ‘KContT’, namely ‘(\ cont' -> cont a)’
- In the expression: KContT (\ cont' -> cont a)
- • Relevant bindings include
- cont' :: b -> m res1 (bound at tcfail076.hs:18:73)
- cont :: a -> m res (bound at tcfail076.hs:18:37)
+ +tcfail076.hs:18:82: error: + • Couldn't match type ‘res’ with ‘res1’ + ‘res’ is a rigid type variable bound by + a type expected by the context: + forall res. (a -> m res) -> m res + at tcfail076.hs:18:28-96 + ‘res1’ is a rigid type variable bound by + a type expected by the context: + forall res1. (b -> m res1) -> m res1 + at tcfail076.hs:18:64-88 + Expected type: m res1 + Actual type: m res + • In the expression: cont a + In the first argument of ‘KContT’, namely ‘(\ cont' -> cont a)’ + In the expression: KContT (\ cont' -> cont a) + • Relevant bindings include + cont' :: b -> m res1 (bound at tcfail076.hs:18:73) + cont :: a -> m res (bound at tcfail076.hs:18:37) diff --git a/testsuite/tests/typecheck/should_fail/tcfail103.stderr b/testsuite/tests/typecheck/should_fail/tcfail103.stderr index 59635a3638..dd4d074223 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail103.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail103.stderr @@ -1,24 +1,24 @@ -
-tcfail103.hs:15:13: error:
- • Couldn't match type ‘t’ with ‘s’
- ‘t’ is a rigid type variable bound by
- the type signature for:
- f :: forall t. ST t Int
- at tcfail103.hs:10:1-12
- ‘s’ is a rigid type variable bound by
- the type signature for:
- g :: forall s. ST s Int
- at tcfail103.hs:13:9-21
- Expected type: ST s Int
- Actual type: ST t Int
- • In the expression: readSTRef v
- In an equation for ‘g’: g = readSTRef v
- In the expression:
- do { v <- newSTRef 5;
- let g :: ST s Int
- g = readSTRef v;
- g }
- • Relevant bindings include
- g :: ST s Int (bound at tcfail103.hs:15:9)
- v :: STRef t Int (bound at tcfail103.hs:12:5)
- f :: ST t Int (bound at tcfail103.hs:11:1)
+ +tcfail103.hs:15:13: error: + • Couldn't match type ‘t’ with ‘s’ + ‘t’ is a rigid type variable bound by + the type signature for: + f :: forall t. ST t Int + at tcfail103.hs:10:1-12 + ‘s’ is a rigid type variable bound by + the type signature for: + g :: forall s. ST s Int + at tcfail103.hs:13:9-21 + Expected type: ST s Int + Actual type: ST t Int + • In the expression: readSTRef v + In an equation for ‘g’: g = readSTRef v + In the expression: + do { v <- newSTRef 5; + let g :: ST s Int + g = readSTRef v; + g } + • Relevant bindings include + g :: ST s Int (bound at tcfail103.hs:15:9) + v :: STRef t Int (bound at tcfail103.hs:12:5) + f :: ST t Int (bound at tcfail103.hs:11:1) diff --git a/testsuite/tests/typecheck/should_fail/tcfail131.stderr b/testsuite/tests/typecheck/should_fail/tcfail131.stderr index e9920ea55e..04fa000204 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail131.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail131.stderr @@ -1,13 +1,13 @@ -
-tcfail131.hs:7:11: error:
- • Couldn't match expected type ‘Integer’ with actual type ‘b’
- ‘b’ is a rigid type variable bound by
- the type signature for:
- g :: forall b. Num b => b -> b
- at tcfail131.hs:6:3-22
- • In the first argument of ‘f’, namely ‘x’
- In the expression: f x x
- In an equation for ‘g’: g x = f x x
- • Relevant bindings include
- x :: b (bound at tcfail131.hs:7:5)
- g :: b -> b (bound at tcfail131.hs:7:3)
+ +tcfail131.hs:7:11: error: + • Couldn't match expected type ‘Integer’ with actual type ‘b’ + ‘b’ is a rigid type variable bound by + the type signature for: + g :: forall b. Num b => b -> b + at tcfail131.hs:6:3-22 + • In the first argument of ‘f’, namely ‘x’ + In the expression: f x x + In an equation for ‘g’: g x = f x x + • Relevant bindings include + x :: b (bound at tcfail131.hs:7:5) + g :: b -> b (bound at tcfail131.hs:7:3) diff --git a/testsuite/tests/typecheck/should_fail/tcfail153.stderr b/testsuite/tests/typecheck/should_fail/tcfail153.stderr index e80add6e90..4faca8f037 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail153.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail153.stderr @@ -1,17 +1,17 @@ -
-tcfail153.hs:6:9: error:
- • Couldn't match expected type ‘Bool’ with actual type ‘a’
- ‘a’ is a rigid type variable bound by
- the type signature for:
- f :: forall a. a -> [a]
- at tcfail153.hs:5:1-13
- • In the first argument of ‘g’, namely ‘x’
- In the expression: g x
- In an equation for ‘f’:
- f x
- = g x
- where
- g y = if y then [] else [...]
- • Relevant bindings include
- x :: a (bound at tcfail153.hs:6:3)
- f :: a -> [a] (bound at tcfail153.hs:6:1)
+ +tcfail153.hs:6:9: error: + • Couldn't match expected type ‘Bool’ with actual type ‘a’ + ‘a’ is a rigid type variable bound by + the type signature for: + f :: forall a. a -> [a] + at tcfail153.hs:5:1-13 + • In the first argument of ‘g’, namely ‘x’ + In the expression: g x + In an equation for ‘f’: + f x + = g x + where + g y = if y then [] else [...] + • Relevant bindings include + x :: a (bound at tcfail153.hs:6:3) + f :: a -> [a] (bound at tcfail153.hs:6:1) diff --git a/testsuite/tests/typecheck/should_fail/tcfail174.stderr b/testsuite/tests/typecheck/should_fail/tcfail174.stderr index 66a057bd9b..653daaffbb 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail174.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail174.stderr @@ -1,30 +1,30 @@ -
-tcfail174.hs:14:14: error:
- • Couldn't match type ‘a’ with ‘a1’
- because type variable ‘a1’ would escape its scope
- This (rigid, skolem) type variable is bound by
- the type a1 -> a1
- at tcfail174.hs:14:1-14
- Expected type: Capture (forall x. x -> a)
- Actual type: Capture (forall a. a -> a)
- • In the first argument of ‘Capture’, namely ‘g’
- In the expression: Capture g
- In an equation for ‘h1’: h1 = Capture g
- • Relevant bindings include
- h1 :: Capture a (bound at tcfail174.hs:14:1)
-
-tcfail174.hs:17:14: error:
- • Couldn't match type ‘a’ with ‘b’
- ‘a’ is a rigid type variable bound by
- the type a -> a at tcfail174.hs:1:1
- ‘b’ is a rigid type variable bound by
- the type signature for:
- h2 :: forall b. Capture b
- at tcfail174.hs:16:1-15
- Expected type: Capture (forall x. x -> b)
- Actual type: Capture (forall a. a -> a)
- • In the first argument of ‘Capture’, namely ‘g’
- In the expression: Capture g
- In an equation for ‘h2’: h2 = Capture g
- • Relevant bindings include
- h2 :: Capture b (bound at tcfail174.hs:17:1)
+ +tcfail174.hs:14:14: error: + • Couldn't match type ‘a’ with ‘a1’ + because type variable ‘a1’ would escape its scope + This (rigid, skolem) type variable is bound by + the type a1 -> a1 + at tcfail174.hs:14:1-14 + Expected type: Capture (forall x. x -> a) + Actual type: Capture (forall a. a -> a) + • In the first argument of ‘Capture’, namely ‘g’ + In the expression: Capture g + In an equation for ‘h1’: h1 = Capture g + • Relevant bindings include + h1 :: Capture a (bound at tcfail174.hs:14:1) + +tcfail174.hs:17:14: error: + • Couldn't match type ‘a’ with ‘b’ + ‘a’ is a rigid type variable bound by + the type a -> a at tcfail174.hs:1:1 + ‘b’ is a rigid type variable bound by + the type signature for: + h2 :: forall b. Capture b + at tcfail174.hs:16:1-15 + Expected type: Capture (forall x. x -> b) + Actual type: Capture (forall a. a -> a) + • In the first argument of ‘Capture’, namely ‘g’ + In the expression: Capture g + In an equation for ‘h2’: h2 = Capture g + • Relevant bindings include + h2 :: Capture b (bound at tcfail174.hs:17:1) diff --git a/testsuite/tests/typecheck/should_fail/tcfail175.stderr b/testsuite/tests/typecheck/should_fail/tcfail175.stderr index b55203de3f..6fbb6d4cd6 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail175.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail175.stderr @@ -1,12 +1,12 @@ -
-tcfail175.hs:11:1: error:
- • Couldn't match expected type ‘a’
- with actual type ‘String -> String -> String’
- ‘a’ is a rigid type variable bound by
- the type signature for:
- evalRHS :: forall a. Int -> a
- at tcfail175.hs:10:1-19
- • The equation(s) for ‘evalRHS’ have three arguments,
- but its type ‘Int -> a’ has only one
- • Relevant bindings include
- evalRHS :: Int -> a (bound at tcfail175.hs:11:1)
+ +tcfail175.hs:11:1: error: + • Couldn't match expected type ‘a’ + with actual type ‘String -> String -> String’ + ‘a’ is a rigid type variable bound by + the type signature for: + evalRHS :: forall a. Int -> a + at tcfail175.hs:10:1-19 + • The equation(s) for ‘evalRHS’ have three arguments, + but its type ‘Int -> a’ has only one + • Relevant bindings include + evalRHS :: Int -> a (bound at tcfail175.hs:11:1) diff --git a/testsuite/tests/typecheck/should_fail/tcfail179.stderr b/testsuite/tests/typecheck/should_fail/tcfail179.stderr index cb01a3c483..7d16288b1f 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail179.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail179.stderr @@ -1,22 +1,22 @@ -
-tcfail179.hs:14:41: error:
- • Couldn't match type ‘x’ with ‘s’
- ‘x’ is a rigid type variable bound by
- a pattern with constructor:
- T :: forall s x. (s -> (x -> s) -> (x, s, Int)) -> T s,
- in a case alternative
- at tcfail179.hs:14:14-16
- ‘s’ is a rigid type variable bound by
- the type signature for:
- run :: forall s. T s -> Int
- at tcfail179.hs:12:1-17
- Expected type: x -> s
- Actual type: s -> s
- • In the second argument of ‘g’, namely ‘id’
- In the expression: g x id
- In a pattern binding: (x, _, b) = g x id
- • Relevant bindings include
- x :: s (bound at tcfail179.hs:14:26)
- g :: s -> (x -> s) -> (x, s, Int) (bound at tcfail179.hs:14:16)
- ts :: T s (bound at tcfail179.hs:13:5)
- run :: T s -> Int (bound at tcfail179.hs:13:1)
+ +tcfail179.hs:14:41: error: + • Couldn't match type ‘x’ with ‘s’ + ‘x’ is a rigid type variable bound by + a pattern with constructor: + T :: forall s x. (s -> (x -> s) -> (x, s, Int)) -> T s, + in a case alternative + at tcfail179.hs:14:14-16 + ‘s’ is a rigid type variable bound by + the type signature for: + run :: forall s. T s -> Int + at tcfail179.hs:12:1-17 + Expected type: x -> s + Actual type: s -> s + • In the second argument of ‘g’, namely ‘id’ + In the expression: g x id + In a pattern binding: (x, _, b) = g x id + • Relevant bindings include + x :: s (bound at tcfail179.hs:14:26) + g :: s -> (x -> s) -> (x, s, Int) (bound at tcfail179.hs:14:16) + ts :: T s (bound at tcfail179.hs:13:5) + run :: T s -> Int (bound at tcfail179.hs:13:1) diff --git a/testsuite/tests/typecheck/should_fail/tcfail191.stderr b/testsuite/tests/typecheck/should_fail/tcfail191.stderr index fe831aeae2..8eb11f9c62 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail191.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail191.stderr @@ -1,13 +1,13 @@ -
-tcfail191.hs:11:26: error:
- • Couldn't match type ‘a’ with ‘[a]’
- ‘a’ is a rigid type variable bound by
- a type expected by the context:
- forall a. [a] -> [[a]]
- at tcfail191.hs:(10,9)-(11,31)
- Expected type: [a] -> [[a]]
- Actual type: [[a]] -> [[a]]
- • In the expression: take 5
- In a stmt of a list comprehension: then group using take 5
- In the expression:
- [() | x <- [Gnorf, Brain], then group using take 5]
+ +tcfail191.hs:11:26: error: + • Couldn't match type ‘a’ with ‘[a]’ + ‘a’ is a rigid type variable bound by + a type expected by the context: + forall a. [a] -> [[a]] + at tcfail191.hs:(10,9)-(11,31) + Expected type: [a] -> [[a]] + Actual type: [[a]] -> [[a]] + • In the expression: take 5 + In a stmt of a list comprehension: then group using take 5 + In the expression: + [() | x <- [Gnorf, Brain], then group using take 5] diff --git a/testsuite/tests/typecheck/should_fail/tcfail193.stderr b/testsuite/tests/typecheck/should_fail/tcfail193.stderr index 0e24649578..6259dfc2a2 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail193.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail193.stderr @@ -1,12 +1,12 @@ -
-tcfail193.hs:10:31: error:
- • Couldn't match type ‘a’ with ‘[a]’
- ‘a’ is a rigid type variable bound by
- a type expected by the context:
- forall a. [a] -> [a]
- at tcfail193.hs:10:10-35
- Expected type: [a] -> [a]
- Actual type: [a] -> [[a]]
- • In the expression: inits
- In a stmt of a list comprehension: then inits
- In the expression: [x | x <- [3, 2, 1], then inits]
+ +tcfail193.hs:10:31: error: + • Couldn't match type ‘a’ with ‘[a]’ + ‘a’ is a rigid type variable bound by + a type expected by the context: + forall a. [a] -> [a] + at tcfail193.hs:10:10-35 + Expected type: [a] -> [a] + Actual type: [a] -> [[a]] + • In the expression: inits + In a stmt of a list comprehension: then inits + In the expression: [x | x <- [3, 2, 1], then inits] diff --git a/testsuite/tests/typecheck/should_fail/tcfail198.stderr b/testsuite/tests/typecheck/should_fail/tcfail198.stderr index f073b5e66e..373c570863 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail198.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail198.stderr @@ -1,15 +1,15 @@ -
-tcfail198.hs:6:36: error:
- • Couldn't match expected type ‘a1’ with actual type ‘a’
- because type variable ‘a1’ would escape its scope
- This (rigid, skolem) type variable is bound by
- an expression type signature:
- a1
- at tcfail198.hs:6:41
- • In the expression: x :: a
- In the second argument of ‘(++)’, namely ‘[x :: a]’
- In the expression: xs ++ [x :: a]
- • Relevant bindings include
- xs :: [a] (bound at tcfail198.hs:6:21)
- x :: a (bound at tcfail198.hs:6:19)
- f3 :: [a] -> [a] (bound at tcfail198.hs:6:6)
+ +tcfail198.hs:6:36: error: + • Couldn't match expected type ‘a1’ with actual type ‘a’ + because type variable ‘a1’ would escape its scope + This (rigid, skolem) type variable is bound by + an expression type signature: + a1 + at tcfail198.hs:6:41 + • In the expression: x :: a + In the second argument of ‘(++)’, namely ‘[x :: a]’ + In the expression: xs ++ [x :: a] + • Relevant bindings include + xs :: [a] (bound at tcfail198.hs:6:21) + x :: a (bound at tcfail198.hs:6:19) + f3 :: [a] -> [a] (bound at tcfail198.hs:6:6) diff --git a/testsuite/tests/typecheck/should_fail/tcfail206.stderr b/testsuite/tests/typecheck/should_fail/tcfail206.stderr index 3eb7bfc029..51fbbb3825 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail206.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail206.stderr @@ -1,55 +1,55 @@ -
-tcfail206.hs:5:5: error:
- • Couldn't match type ‘Bool’ with ‘Int’
- Expected type: Bool -> (Int, Bool)
- Actual type: Int -> (Int, Bool)
- • In the expression: (, True)
- In an equation for ‘a’: a = (, True)
-
-tcfail206.hs:8:5: error:
- • Couldn't match type ‘(Integer, Int)’ with ‘Bool -> (Int, Bool)’
- Expected type: Int -> Bool -> (Int, Bool)
- Actual type: Int -> (Integer, Int)
- • In the expression: (1,)
- In an equation for ‘b’: b = (1,)
-
-tcfail206.hs:11:5: error:
- • Couldn't match type ‘a’ with ‘Bool’
- ‘a’ is a rigid type variable bound by
- the type signature for:
- c :: forall a. a -> (a, Bool)
- at tcfail206.hs:10:1-19
- Expected type: a -> (a, Bool)
- Actual type: Bool -> (a, Bool)
- • In the expression: (True || False,)
- In an equation for ‘c’: c = (True || False,)
- • Relevant bindings include
- c :: a -> (a, Bool) (bound at tcfail206.hs:11:1)
-
-tcfail206.hs:14:5: error:
- • Couldn't match type ‘Bool’ with ‘Int’
- Expected type: Bool -> (# Int, Bool #)
- Actual type: Int -> (# Int, Bool #)
- • In the expression: (# , True #)
- In an equation for ‘d’: d = (# , True #)
-
-tcfail206.hs:17:5: error:
- • Couldn't match type ‘(# Integer, Int #)’
- with ‘Bool -> (# Int, Bool #)’
- Expected type: Int -> Bool -> (# Int, Bool #)
- Actual type: Int -> (# Integer, Int #)
- • In the expression: (# 1, #)
- In an equation for ‘e’: e = (# 1, #)
-
-tcfail206.hs:20:5: error:
- • Couldn't match type ‘a’ with ‘Bool’
- ‘a’ is a rigid type variable bound by
- the type signature for:
- f :: forall a. a -> (# a, Bool #)
- at tcfail206.hs:19:1-21
- Expected type: a -> (# a, Bool #)
- Actual type: Bool -> (# a, Bool #)
- • In the expression: (# True || False, #)
- In an equation for ‘f’: f = (# True || False, #)
- • Relevant bindings include
- f :: a -> (# a, Bool #) (bound at tcfail206.hs:20:1)
+ +tcfail206.hs:5:5: error: + • Couldn't match type ‘Bool’ with ‘Int’ + Expected type: Bool -> (Int, Bool) + Actual type: Int -> (Int, Bool) + • In the expression: (, True) + In an equation for ‘a’: a = (, True) + +tcfail206.hs:8:5: error: + • Couldn't match type ‘(Integer, Int)’ with ‘Bool -> (Int, Bool)’ + Expected type: Int -> Bool -> (Int, Bool) + Actual type: Int -> (Integer, Int) + • In the expression: (1,) + In an equation for ‘b’: b = (1,) + +tcfail206.hs:11:5: error: + • Couldn't match type ‘a’ with ‘Bool’ + ‘a’ is a rigid type variable bound by + the type signature for: + c :: forall a. a -> (a, Bool) + at tcfail206.hs:10:1-19 + Expected type: a -> (a, Bool) + Actual type: Bool -> (a, Bool) + • In the expression: (True || False,) + In an equation for ‘c’: c = (True || False,) + • Relevant bindings include + c :: a -> (a, Bool) (bound at tcfail206.hs:11:1) + +tcfail206.hs:14:5: error: + • Couldn't match type ‘Bool’ with ‘Int’ + Expected type: Bool -> (# Int, Bool #) + Actual type: Int -> (# Int, Bool #) + • In the expression: (# , True #) + In an equation for ‘d’: d = (# , True #) + +tcfail206.hs:17:5: error: + • Couldn't match type ‘(# Integer, Int #)’ + with ‘Bool -> (# Int, Bool #)’ + Expected type: Int -> Bool -> (# Int, Bool #) + Actual type: Int -> (# Integer, Int #) + • In the expression: (# 1, #) + In an equation for ‘e’: e = (# 1, #) + +tcfail206.hs:20:5: error: + • Couldn't match type ‘a’ with ‘Bool’ + ‘a’ is a rigid type variable bound by + the type signature for: + f :: forall a. a -> (# a, Bool #) + at tcfail206.hs:19:1-21 + Expected type: a -> (# a, Bool #) + Actual type: Bool -> (# a, Bool #) + • In the expression: (# True || False, #) + In an equation for ‘f’: f = (# True || False, #) + • Relevant bindings include + f :: a -> (# a, Bool #) (bound at tcfail206.hs:20:1) |