summaryrefslogtreecommitdiff
path: root/testsuite/tests/parser/should_fail/T7848.stderr
blob: 179ff4f5aa2cd4a375b53b48391d03e95e3b93fc (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
46

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 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)
          = y
          where
              infixl 3 `y`
              y _ = (&)
              {-# INLINE (&) #-}
              {-# SPECIALIZE (&) :: a #-}
              (&) = x