summaryrefslogtreecommitdiff
path: root/testsuite/tests/parser/should_fail/T7848.stderr
blob: b957433e9bcd11a56aa6d4be03dd6678abf7da86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45

T7848.hs:6:57: error:
    • Occurs check: cannot construct the infinite type:
        t2 ~ r0 -> t -> t1 -> A -> A -> A -> A -> t2
    • 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
    • Relevant bindings include
        y :: forall r. r -> 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)

T7848.hs:10:9: error:
    • Couldn't match expected type ‘t -> t1 -> A -> A -> A -> A -> t2’
                  with actual type ‘a’
      ‘a’ is a rigid type variable bound by
        the type signature for:
          (&) :: forall a. a
        at T7848.hs:10:9
    • In the SPECIALISE pragma {-# SPECIALIZE (&) :: a #-}
      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
    • 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)