summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorThomas Miedema <thomasmiedema@gmail.com>2016-06-18 22:05:51 +0200
committerThomas Miedema <thomasmiedema@gmail.com>2016-06-20 16:22:07 +0200
commitcdc14b480adc58c2937d54d0db0fd36e4ed532b0 (patch)
tree9767ea498b2391a67822c9a5b001af90b81a4fc8 /testsuite
parente7e42c838e32ef1e05daf04b0b6afb62ffc4ec97 (diff)
downloadhaskell-cdc14b480adc58c2937d54d0db0fd36e4ed532b0.tar.gz
Testsuite: remove Windows CR again.. [skip ci]
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/tests/patsyn/should_fail/T11010.stderr28
-rw-r--r--testsuite/tests/patsyn/should_fail/T11039.stderr18
-rw-r--r--testsuite/tests/patsyn/should_fail/T11667.stderr82
-rw-r--r--testsuite/tests/typecheck/should_compile/ExPatFail.stderr28
-rw-r--r--testsuite/tests/typecheck/should_compile/FD1.stderr20
-rw-r--r--testsuite/tests/typecheck/should_compile/FD2.stderr40
-rw-r--r--testsuite/tests/typecheck/should_compile/FD3.stderr30
-rw-r--r--testsuite/tests/typecheck/should_compile/T10072.stderr16
-rw-r--r--testsuite/tests/typecheck/should_compile/T10632.stderr10
-rw-r--r--testsuite/tests/typecheck/should_compile/T11339.stderr30
-rw-r--r--testsuite/tests/typecheck/should_compile/T2494.stderr72
-rw-r--r--testsuite/tests/typecheck/should_compile/T9834.stderr92
-rw-r--r--testsuite/tests/typecheck/should_compile/T9939.stderr40
-rw-r--r--testsuite/tests/typecheck/should_compile/holes.stderr66
-rw-r--r--testsuite/tests/typecheck/should_compile/holes3.stderr72
-rw-r--r--testsuite/tests/typecheck/should_fail/T10285.stderr44
-rw-r--r--testsuite/tests/typecheck/should_fail/T10534.stderr38
-rw-r--r--testsuite/tests/typecheck/should_fail/T10715.stderr26
-rw-r--r--testsuite/tests/typecheck/should_fail/T11347.stderr22
-rw-r--r--testsuite/tests/typecheck/should_fail/T1899.stderr30
-rw-r--r--testsuite/tests/typecheck/should_fail/T2714.stderr26
-rw-r--r--testsuite/tests/typecheck/should_fail/T3102.stderr24
-rw-r--r--testsuite/tests/typecheck/should_fail/T5691.stderr38
-rw-r--r--testsuite/tests/typecheck/should_fail/T7264.stderr26
-rw-r--r--testsuite/tests/typecheck/should_fail/T7748a.stderr40
-rw-r--r--testsuite/tests/typecheck/should_fail/T7869.stderr28
-rw-r--r--testsuite/tests/typecheck/should_fail/T8450.stderr22
-rw-r--r--testsuite/tests/typecheck/should_fail/mc19.stderr24
-rw-r--r--testsuite/tests/typecheck/should_fail/mc21.stderr26
-rw-r--r--testsuite/tests/typecheck/should_fail/mc22.stderr30
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail032.stderr26
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail065.stderr34
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail068.stderr284
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail076.stderr38
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail103.stderr48
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail131.stderr26
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail153.stderr34
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail174.stderr60
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail175.stderr24
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail179.stderr44
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail191.stderr26
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail193.stderr24
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail198.stderr30
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail206.stderr110
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)