summaryrefslogtreecommitdiff
path: root/testsuite/tests/rebindable/rebindable6.stderr
blob: 712724d28f49347ea6ad21342b57dbc8d4e30dc2 (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
63
64
65
66
67
68
69
70
71
72

rebindable6.hs:110:17: error:
    • Ambiguous type variable ‘t0’ arising from a do statement
      prevents the constraint ‘(HasSeq
                                  (IO a -> t0 -> IO b))’ from being solved.
        (maybe you haven't applied a function to enough arguments?)
      Relevant bindings include
        g :: IO (Maybe b) (bound at rebindable6.hs:108:19)
        f :: IO a (bound at rebindable6.hs:108:17)
        test_do :: IO a -> IO (Maybe b) -> IO b
          (bound at rebindable6.hs:108:9)
      Probable fix: use a type annotation to specify what ‘t0’ should be.
      These potential instance exist:
        instance HasSeq (IO a -> IO b -> IO b)
          -- Defined at rebindable6.hs:56:18
    • In a stmt of a 'do' block: f
      In the expression:
        do { f;
             Just (b :: b) <- g;
             return b }
      In an equation for ‘test_do’:
          test_do f g
            = do { f;
                   Just (b :: b) <- g;
                   return b }

rebindable6.hs:111:17: error:
    • Ambiguous type variables ‘p0’, ‘t0’ arising from a do statement
      prevents the constraint ‘(HasBind
                                  (IO (Maybe b) -> (Maybe b -> p0) -> t0))’ from being solved.
        (maybe you haven't applied a function to enough arguments?)
      Relevant bindings include
        g :: IO (Maybe b) (bound at rebindable6.hs:108:19)
        test_do :: IO a -> IO (Maybe b) -> IO b
          (bound at rebindable6.hs:108:9)
      Probable fix: use a type annotation to specify what ‘p0’, ‘t0’ should be.
      These potential instance exist:
        instance HasBind (IO a -> (a -> IO b) -> IO b)
          -- Defined at rebindable6.hs:51:18
    • In a stmt of a 'do' block: Just (b :: b) <- g
      In the expression:
        do { f;
             Just (b :: b) <- g;
             return b }
      In an equation for ‘test_do’:
          test_do f g
            = do { f;
                   Just (b :: b) <- g;
                   return b }

rebindable6.hs:112:17: error:
    • Ambiguous type variable ‘p0’ arising from a use of ‘return’
      prevents the constraint ‘(HasReturn (b -> p0))’ from being solved.
        (maybe you haven't applied a function to enough arguments?)
      Relevant bindings include
        b :: b (bound at rebindable6.hs:111:23)
        g :: IO (Maybe b) (bound at rebindable6.hs:108:19)
        test_do :: IO a -> IO (Maybe b) -> IO b
          (bound at rebindable6.hs:108:9)
      Probable fix: use a type annotation to specify what ‘p0’ should be.
      These potential instance exist:
        instance HasReturn (a -> IO a) -- Defined at rebindable6.hs:46:18
    • In a stmt of a 'do' block: return b
      In the expression:
        do { f;
             Just (b :: b) <- g;
             return b }
      In an equation for ‘test_do’:
          test_do f g
            = do { f;
                   Just (b :: b) <- g;
                   return b }