diff options
Diffstat (limited to 'testsuite/tests/parser/should_fail/T7848.stderr')
-rw-r--r-- | testsuite/tests/parser/should_fail/T7848.stderr | 31 |
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) |