summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_fail/T10619.stderr
blob: fde2daf8c68b9ce70311336c37371e08d0dfa980 (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62

T10619.hs:9:15: error:
    • Couldn't match type ‘forall a. a -> a’ with ‘b -> b’
      Expected type: (b -> b) -> b -> b
        Actual type: (forall a. a -> a) -> b -> b
    • In the expression:
        ((\ x -> x) :: (forall a. a -> a) -> forall b. b -> b)
      In the expression:
        if True then
            ((\ x -> x) :: (forall a. a -> a) -> forall b. b -> b)
        else
            \ y -> y
      In an equation for ‘foo’:
          foo _
            = if True then
                  ((\ x -> x) :: (forall a. a -> a) -> forall b. b -> b)
              else
                  \ y -> y
    • Relevant bindings include
        foo :: p -> (b -> b) -> b -> b (bound at T10619.hs:8:1)

T10619.hs:14:15: error:
    • Couldn't match type ‘forall a. a -> a’ with ‘b -> b’
      Expected type: (b -> b) -> b -> b
        Actual type: (forall a. a -> a) -> b -> b
    • In the expression:
        ((\ x -> x) :: (forall a. a -> a) -> forall b. b -> b)
      In the expression:
        if True then
            \ y -> y
        else
            ((\ x -> x) :: (forall a. a -> a) -> forall b. b -> b)
      In an equation for ‘bar’:
          bar _
            = if True then
                  \ y -> y
              else
                  ((\ x -> x) :: (forall a. a -> a) -> forall b. b -> b)
    • Relevant bindings include
        bar :: p -> (b -> b) -> b -> b (bound at T10619.hs:12:1)

T10619.hs:16:13: error:
    • Couldn't match type ‘forall a. a -> a’ with ‘b -> b’
      Expected type: (b -> b) -> b -> b
        Actual type: (forall a. a -> a) -> b -> b
    • In the expression:
          (\ x -> x) :: (forall a. a -> a) -> forall b. b -> b
      In an equation for ‘baz’:
          baz True = (\ x -> x) :: (forall a. a -> a) -> forall b. b -> b
    • Relevant bindings include
        baz :: Bool -> (b -> b) -> b -> b (bound at T10619.hs:16:1)

T10619.hs:20:14: error:
    • Couldn't match type ‘forall a. a -> a’ with ‘b -> b’
      Expected type: (b -> b) -> b -> b
        Actual type: (forall a. a -> a) -> b -> b
    • In the expression:
          (\ x -> x) :: (forall a. a -> a) -> forall b. b -> b
      In an equation for ‘quux’:
          quux True = (\ x -> x) :: (forall a. a -> a) -> forall b. b -> b
    • Relevant bindings include
        quux :: Bool -> (b -> b) -> b -> b (bound at T10619.hs:19:1)