Improve error messages around kind mismatches.
[ghc.git] / testsuite / tests / typecheck / should_fail / T7453.stderr
1
2 T7453.hs:10:30: error:
3     • Couldn't match expected type ‘t’ with actual type ‘p’
4         because type variable ‘t’ would escape its scope
5       This (rigid, skolem) type variable is bound by
6         the type signature for:
7           z :: forall t. Id t
8         at T7453.hs:8:11-19
9     • In the first argument of ‘Id’, namely ‘v’
10       In the expression: Id v
11       In an equation for ‘aux’: aux = Id v
12     • Relevant bindings include
13         aux :: Id t (bound at T7453.hs:10:21)
14         z :: Id t (bound at T7453.hs:9:11)
15         v :: p (bound at T7453.hs:7:7)
16         cast1 :: p -> a (bound at T7453.hs:7:1)
17
18 T7453.hs:16:33: error:
19     • Couldn't match expected type ‘t1’ with actual type ‘p’
20         because type variable ‘t1’ would escape its scope
21       This (rigid, skolem) type variable is bound by
22         the type signature for:
23           z :: forall t1. () -> t1
24         at T7453.hs:14:11-22
25     • In the first argument of ‘const’, namely ‘v’
26       In the expression: const v
27       In an equation for ‘aux’: aux = const v
28     • Relevant bindings include
29         aux :: b -> t1 (bound at T7453.hs:16:21)
30         z :: () -> t1 (bound at T7453.hs:15:11)
31         v :: p (bound at T7453.hs:13:7)
32         cast2 :: p -> t (bound at T7453.hs:13:1)
33
34 T7453.hs:21:15: error:
35     • Couldn't match expected type ‘t1’ with actual type ‘p’
36         because type variable ‘t1’ would escape its scope
37       This (rigid, skolem) type variable is bound by
38         the type signature for:
39           z :: forall t1. t1
40         at T7453.hs:20:11-16
41     • In the expression: v
42       In an equation for ‘z’:
43           z = v
44             where
45                 aux = const v
46       In an equation for ‘cast3’:
47           cast3 v
48             = z
49             where
50                 z :: t
51                 z = v
52                   where
53                       aux = const v
54     • Relevant bindings include
55         aux :: forall b. b -> p (bound at T7453.hs:22:21)
56         z :: t1 (bound at T7453.hs:21:11)
57         v :: p (bound at T7453.hs:19:7)
58         cast3 :: p -> t (bound at T7453.hs:19:1)