summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_compile/T2494.stderr
blob: d7c96aeeaab6758334f2dc58cc4cb9fa2e1e2e96 (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

T2494.hs:15:14: error:
    • Couldn't match type ‘b’ with ‘a’
      Expected: Maybe (m a) -> Maybe (m a)
        Actual: Maybe (m b) -> Maybe (m b)
      ‘b’ is a rigid type variable bound by
        the RULE "foo/foo"
        at T2494.hs:(12,1)-(15,33)
      ‘a’ is a rigid type variable bound by
        the RULE "foo/foo"
        at T2494.hs:(12,1)-(15,33)
    • In the first argument of ‘foo’, namely ‘g’
      In the second argument of ‘foo’, namely ‘(foo g x)’
      In the expression: foo f (foo g x)
    • Relevant bindings include
        f :: forall (m :: * -> *). Monad m => Maybe (m a) -> Maybe (m a)
          (bound at T2494.hs:13:11)
        g :: forall (m :: * -> *). Monad m => Maybe (m b) -> Maybe (m b)
          (bound at T2494.hs:14:11)
        x :: Maybe a (bound at T2494.hs:14:65)

T2494.hs:15:30: error:
    • Couldn't match type ‘b’ with ‘a’
      Expected: Maybe (m a) -> Maybe (m a)
        Actual: Maybe (m b) -> Maybe (m b)
      ‘b’ is a rigid type variable bound by
        the RULE "foo/foo"
        at T2494.hs:(12,1)-(15,33)
      ‘a’ is a rigid type variable bound by
        the RULE "foo/foo"
        at T2494.hs:(12,1)-(15,33)
    • In the second argument of ‘(.)’, namely ‘g’
      In the first argument of ‘foo’, namely ‘(f . g)’
      In the expression: foo (f . g) x
    • Relevant bindings include
        f :: forall (m :: * -> *). Monad m => Maybe (m a) -> Maybe (m a)
          (bound at T2494.hs:13:11)
        g :: forall (m :: * -> *). Monad m => Maybe (m b) -> Maybe (m b)
          (bound at T2494.hs:14:11)
        x :: Maybe a (bound at T2494.hs:14:65)