summaryrefslogtreecommitdiff
path: root/testsuite/tests/parser/should_fail/T7848.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/parser/should_fail/T7848.stderr')
-rw-r--r--testsuite/tests/parser/should_fail/T7848.stderr31
1 files changed, 29 insertions, 2 deletions
diff --git a/testsuite/tests/parser/should_fail/T7848.stderr b/testsuite/tests/parser/should_fail/T7848.stderr
index 1cbf5f4a85..202c66c07e 100644
--- a/testsuite/tests/parser/should_fail/T7848.stderr
+++ b/testsuite/tests/parser/should_fail/T7848.stderr
@@ -1,12 +1,39 @@
+T7848.hs:6:57:
+ Occurs check: cannot construct the infinite type:
+ t2 ~ t0 -> t -> t1 -> A -> A -> A -> A -> t2
+ Relevant bindings include
+ y :: forall t3. t3 -> t -> t1 -> A -> A -> A -> A -> t2
+ (bound at T7848.hs:8:9)
+ (&) :: t -> t1 -> A -> A -> A -> A -> t2 (bound at T7848.hs:11:9)
+ z :: t1 (bound at T7848.hs:6:12)
+ (&) :: t1 (bound at T7848.hs:6:8)
+ (+) :: t (bound at T7848.hs:6:3)
+ x :: t -> t1 -> A -> A -> A -> A -> t2 (bound at T7848.hs:6:1)
+ In the expression: y
+ In an equation for ‘x’:
+ x (+) ((&)@z) ((:&&) a b) (c :&& d) (e `A` f) (A g h)
+ = y
+ where
+ infixl 3 `y`
+ y _ = (&)
+ {-# INLINE (&) #-}
+ {-# SPECIALIZE (&) :: a #-}
+ (&) = x
+
T7848.hs:10:9:
- Couldn't match expected type ‘forall a. a’
- with actual type ‘t -> t1 -> A -> A -> A -> A -> t2’
+ Couldn't match type ‘a’ with ‘t -> t1 -> A -> A -> A -> A -> t2’
+ ‘a’ is a rigid type variable bound by
+ the type signature for (&) :: a at T7848.hs:10:9
+ Expected type: forall a. a
+ Actual type: t -> t1 -> A -> A -> A -> A -> t2
Relevant bindings include
z :: t1 (bound at T7848.hs:6:12)
(&) :: t1 (bound at T7848.hs:6:8)
(+) :: t (bound at T7848.hs:6:3)
x :: t -> t1 -> A -> A -> A -> A -> t2 (bound at T7848.hs:6:1)
+ When checking that: t -> t1 -> A -> A -> A -> A -> t2
+ is more polymorphic than: forall a. a
In the SPECIALISE pragma {-# SPECIALIZE (&) :: a #-}
In an equation for ‘x’:
x (+) ((&)@z) ((:&&) a b) (c :&& d) (e `A` f) (A g h)