summaryrefslogtreecommitdiff
path: root/testsuite/tests/typecheck/should_fail/T22707.stderr
blob: 92ebbf6c00694c9622498ca1f3aa50e20cea29b2 (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

T22707.hs:6:59: error: [GHC-25897]
    • Couldn't match expected type ‘i1’
                  with actual type ‘m0 GHC.Types.LiftedRep GHC.Types.LiftedRep b0’
      ‘i1’ is a rigid type variable bound by
        the type signature for:
          t1 :: forall i2 o i1 a. Cont (i2 -> o) i1 a -> Cont o i2 (a -> i1)
        at T22707.hs:5:1-47
    • In the expression: evalCont (t1 c) >>== \ ati1 -> return ati1 xa
      In the second argument of ‘($)’, namely
        ‘\ xa -> evalCont (t1 c) >>== \ ati1 -> return ati1 xa’
      In the second argument of ‘runCont’, namely
        ‘(ati1tti2
            $ \ xa -> evalCont (t1 c) >>== \ ati1 -> return ati1 xa)’
    • Relevant bindings include
        ati1tti2 :: (a -> i1) -> i2 (bound at T22707.hs:6:16)
        c :: Cont (i2 -> o) i1 a (bound at T22707.hs:6:4)
        t1 :: Cont (i2 -> o) i1 a -> Cont o i2 (a -> i1)
          (bound at T22707.hs:6:1)

T22707.hs:6:72: error: [GHC-25897]
    • Couldn't match type ‘o’
                     with ‘m0
                             GHC.Types.LiftedRep
                             GHC.Types.LiftedRep
                             (m0 GHC.Types.LiftedRep GHC.Types.LiftedRep b0)’
      Expected: Cont
                  ((a -> i1)
                   -> m0
                        GHC.Types.LiftedRep
                        GHC.Types.LiftedRep
                        (m0 GHC.Types.LiftedRep GHC.Types.LiftedRep b0))
                  i1
                  a
        Actual: Cont (i2 -> o) i1 a
      ‘o’ is a rigid type variable bound by
        the type signature for:
          t1 :: forall i2 o i1 a. Cont (i2 -> o) i1 a -> Cont o i2 (a -> i1)
        at T22707.hs:5:1-47
    • In the first argument of ‘t1’, namely ‘c’
      In the first argument of ‘evalCont’, namely ‘(t1 c)’
      In the first argument of ‘(>>==)’, namely ‘evalCont (t1 c)’
    • Relevant bindings include
        c :: Cont (i2 -> o) i1 a (bound at T22707.hs:6:4)
        t1 :: Cont (i2 -> o) i1 a -> Cont o i2 (a -> i1)
          (bound at T22707.hs:6:1)