Major patch to introduce TyConBinder
[ghc.git] / testsuite / tests / rebindable / rebindable6.stderr
1
2 rebindable6.hs:110:17: error:
3     • Ambiguous type variable ‘t0’ arising from a do statement
4       prevents the constraint ‘(HasSeq
5                                   (IO a -> t0 -> IO b))’ from being solved.
6         (maybe you haven't applied a function to enough arguments?)
7       Relevant bindings include
8         g :: IO (Maybe b) (bound at rebindable6.hs:108:19)
9         f :: IO a (bound at rebindable6.hs:108:17)
10         test_do :: IO a -> IO (Maybe b) -> IO b
11           (bound at rebindable6.hs:108:9)
12       Probable fix: use a type annotation to specify what ‘t0’ should be.
13       These potential instance exist:
14         instance HasSeq (IO a -> IO b -> IO b)
15           -- Defined at rebindable6.hs:56:18
16     • In a stmt of a 'do' block: f
17       In the expression:
18         do { f;
19              Just (b :: b) <- g;
20              return b }
21       In an equation for ‘test_do’:
22           test_do f g
23             = do { f;
24                    Just (b :: b) <- g;
25                    return b }
26
27 rebindable6.hs:111:17: error:
28     • Ambiguous type variables ‘t1’, ‘t0’ arising from a do statement
29       prevents the constraint ‘(HasBind
30                                   (IO (Maybe b) -> (Maybe b -> t1) -> t0))’ from being solved.
31         (maybe you haven't applied a function to enough arguments?)
32       Relevant bindings include
33         g :: IO (Maybe b) (bound at rebindable6.hs:108:19)
34         test_do :: IO a -> IO (Maybe b) -> IO b
35           (bound at rebindable6.hs:108:9)
36       Probable fix: use a type annotation to specify what ‘t1’, ‘t0’ should be.
37       These potential instance exist:
38         instance HasBind (IO a -> (a -> IO b) -> IO b)
39           -- Defined at rebindable6.hs:51:18
40     • In a stmt of a 'do' block: Just (b :: b) <- g
41       In the expression:
42         do { f;
43              Just (b :: b) <- g;
44              return b }
45       In an equation for ‘test_do’:
46           test_do f g
47             = do { f;
48                    Just (b :: b) <- g;
49                    return b }
50
51 rebindable6.hs:112:17: error:
52     • Ambiguous type variable ‘t1’ arising from a use of ‘return’
53       prevents the constraint ‘(HasReturn (b -> t1))’ from being solved.
54         (maybe you haven't applied a function to enough arguments?)
55       Relevant bindings include
56         b :: b (bound at rebindable6.hs:111:23)
57         g :: IO (Maybe b) (bound at rebindable6.hs:108:19)
58         test_do :: IO a -> IO (Maybe b) -> IO b
59           (bound at rebindable6.hs:108:9)
60       Probable fix: use a type annotation to specify what ‘t1’ should be.
61       These potential instance exist:
62         instance HasReturn (a -> IO a) -- Defined at rebindable6.hs:46:18
63     • In a stmt of a 'do' block: return b
64       In the expression:
65         do { f;
66              Just (b :: b) <- g;
67              return b }
68       In an equation for ‘test_do’:
69           test_do f g
70             = do { f;
71                    Just (b :: b) <- g;
72                    return b }