Improve typechecking of let-bindings
[ghc.git] / testsuite / tests / indexed-types / should_fail / T7786.stderr
1 \r
2 T7786.hs:86:49: error:\r
3     • Couldn't match type ‘xxx’\r
4                      with ‘Intersect (BuriedUnder sub k 'Empty) inv’\r
5       Expected type: Sing xxx\r
6         Actual type: Sing (Intersect (BuriedUnder sub k 'Empty) inv)\r
7     • In the first argument of ‘return’, namely\r
8         ‘(buryUnder (dbKeys sub) k Nil `intersectPaths` dbKeys db)’\r
9       In a stmt of a 'do' block:\r
10         Nil :: Sing xxx <- return\r
11                              (buryUnder (dbKeys sub) k Nil `intersectPaths` dbKeys db)\r
12       In the expression:\r
13         do { Nil :: Sing xxx <- return\r
14                                   (buryUnder (dbKeys sub) k Nil `intersectPaths` dbKeys db);\r
15              return $ Sub db k sub }\r
16     • Relevant bindings include\r
17         sub :: Database sub (bound at T7786.hs:86:13)\r
18         k :: Sing k (bound at T7786.hs:86:11)\r
19         db :: Database inv (bound at T7786.hs:86:8)\r
20         addSub :: Database inv\r
21                   -> Sing k\r
22                   -> Database sub\r
23                   -> Maybe (Database (BuriedUnder sub k inv))\r
24           (bound at T7786.hs:86:1)\r
25 \r
26 T7786.hs:90:31: error:\r
27     • Could not deduce: Intersect (BuriedUnder sub k 'Empty) inv\r
28                         ~\r
29                         'Empty\r
30         arising from a use of ‘Sub’\r
31       from the context: xxx ~ 'Empty\r
32         bound by a pattern with constructor: Nil :: forall a. Sing 'Empty,\r
33                  in a pattern binding in\r
34                       'do' block\r
35         at T7786.hs:86:22-24\r
36     • In the second argument of ‘($)’, namely ‘Sub db k sub’\r
37       In a stmt of a 'do' block: return $ Sub db k sub\r
38       In the expression:\r
39         do { Nil :: Sing xxx <- return\r
40                                   (buryUnder (dbKeys sub) k Nil `intersectPaths` dbKeys db);\r
41              return $ Sub db k sub }\r
42     • Relevant bindings include\r
43         sub :: Database sub (bound at T7786.hs:86:13)\r
44         k :: Sing k (bound at T7786.hs:86:11)\r
45         db :: Database inv (bound at T7786.hs:86:8)\r
46         addSub :: Database inv\r
47                   -> Sing k\r
48                   -> Database sub\r
49                   -> Maybe (Database (BuriedUnder sub k inv))\r
50           (bound at T7786.hs:86:1)\r