Improve typechecking of let-bindings
[ghc.git] / testsuite / tests / arrows / should_fail / T5380.stderr
1 \r
2 T5380.hs:7:27: error:\r
3     • Couldn't match expected type ‘Bool’ with actual type ‘not_bool’\r
4       ‘not_bool’ is a rigid type variable bound by\r
5         the type signature for:\r
6           testB :: forall not_bool not_unit.\r
7                    not_bool -> (() -> ()) -> () -> not_unit\r
8         at T5380.hs:6:1-49\r
9     • In the expression: b\r
10       In the expression: proc () -> if b then f -< () else f -< ()\r
11       In an equation for ‘testB’:\r
12           testB b f = proc () -> if b then f -< () else f -< ()\r
13     • Relevant bindings include\r
14         b :: not_bool (bound at T5380.hs:7:7)\r
15         testB :: not_bool -> (() -> ()) -> () -> not_unit\r
16           (bound at T5380.hs:7:1)\r
17 \r
18 T5380.hs:7:34: error:\r
19     • Couldn't match type ‘not_unit’ with ‘()’\r
20       ‘not_unit’ is a rigid type variable bound by\r
21         the type signature for:\r
22           testB :: forall not_bool not_unit.\r
23                    not_bool -> (() -> ()) -> () -> not_unit\r
24         at T5380.hs:6:1-49\r
25       Expected type: () -> not_unit\r
26         Actual type: () -> ()\r
27     • In the expression: f\r
28       In the command: f -< ()\r
29       In the expression: proc () -> if b then f -< () else f -< ()\r
30     • Relevant bindings include\r
31         testB :: not_bool -> (() -> ()) -> () -> not_unit\r
32           (bound at T5380.hs:7:1)\r