Improve error messages around kind mismatches.
[ghc.git] / testsuite / tests / typecheck / should_fail / T6018failclosed.stderr
1
2 T6018failclosed.hs:11:5: error:
3     • Type family equation violates injectivity annotation.
4       RHS of injective type family equation cannot be a type family:
5         IdProxyClosed a = IdClosed a -- Defined at T6018failclosed.hs:11:5
6     • In the equations for closed type family ‘IdProxyClosed’
7       In the type family declaration for ‘IdProxyClosed’
8
9 T6018failclosed.hs:19:5: error:
10     • Type family equation violates injectivity annotation.
11       RHS of injective type family equation is a bare type variable
12       but these LHS type and kind patterns are not bare variables: ‘'Z’
13         PClosed 'Z m = m -- Defined at T6018failclosed.hs:19:5
14     • In the equations for closed type family ‘PClosed’
15       In the type family declaration for ‘PClosed’
16
17 T6018failclosed.hs:19:5: error:
18     • Type family equations violate injectivity annotation:
19         PClosed 'Z m = m -- Defined at T6018failclosed.hs:19:5
20         PClosed ('S n) m = 'S (PClosed n m)
21           -- Defined at T6018failclosed.hs:20:5
22     • In the equations for closed type family ‘PClosed’
23       In the type family declaration for ‘PClosed’
24
25 T6018failclosed.hs:25:5: error:
26     • Type family equation violates injectivity annotation.
27       Type and kind variables ‘k2’, ‘b’
28       cannot be inferred from the right-hand side.
29       Use -fprint-explicit-kinds to see the kind arguments
30       In the type family equation:
31         forall k1 k2 (b :: k2) (c :: k1).
32           JClosed Int b c = Char -- Defined at T6018failclosed.hs:25:5
33     • In the equations for closed type family ‘JClosed’
34       In the type family declaration for ‘JClosed’
35
36 T6018failclosed.hs:30:5: error:
37     • Type family equation violates injectivity annotation.
38       Type variable ‘n’ cannot be inferred from the right-hand side.
39       In the type family equation:
40         KClosed ('S n) m = 'S m -- Defined at T6018failclosed.hs:30:5
41     • In the equations for closed type family ‘KClosed’
42       In the type family declaration for ‘KClosed’
43
44 T6018failclosed.hs:35:5: error:
45     • Type family equation violates injectivity annotation.
46       RHS of injective type family equation cannot be a type family:
47         forall k (a :: k).
48           LClosed a = MaybeSynClosed a -- Defined at T6018failclosed.hs:35:5
49     • In the equations for closed type family ‘LClosed’
50       In the type family declaration for ‘LClosed’
51
52 T6018failclosed.hs:39:5: error:
53     • Type family equations violate injectivity annotation:
54         FClosed Char Bool Int = Int -- Defined at T6018failclosed.hs:39:5
55         FClosed Bool Int Char = Int -- Defined at T6018failclosed.hs:40:5
56     • In the equations for closed type family ‘FClosed’
57       In the type family declaration for ‘FClosed’
58
59 T6018failclosed.hs:43:5: error:
60     • Type family equations violate injectivity annotation:
61         IClosed Int Char Bool = Bool -- Defined at T6018failclosed.hs:43:5
62         IClosed Int Int Int = Bool -- Defined at T6018failclosed.hs:44:5
63     • In the equations for closed type family ‘IClosed’
64       In the type family declaration for ‘IClosed’
65
66 T6018failclosed.hs:49:3: error:
67     • Type family equations violate injectivity annotation:
68         E2 'True = 'False -- Defined at T6018failclosed.hs:49:3
69         E2 a = 'False -- Defined at T6018failclosed.hs:50:3
70     • In the equations for closed type family ‘E2’
71       In the type family declaration for ‘E2’
72
73 T6018failclosed.hs:50:3: error:
74     • Type family equation violates injectivity annotation.
75       Type variable ‘a’ cannot be inferred from the right-hand side.
76       In the type family equation:
77         E2 a = 'False -- Defined at T6018failclosed.hs:50:3
78     • In the equations for closed type family ‘E2’
79       In the type family declaration for ‘E2’
80
81 T6018failclosed.hs:61:3: error:
82     • Type family equations violate injectivity annotation:
83         F a IO = IO a -- Defined at T6018failclosed.hs:61:3
84         F Char b = b Int -- Defined at T6018failclosed.hs:62:3
85     • In the equations for closed type family ‘F’
86       In the type family declaration for ‘F’
87
88 T6018failclosed.hs:66:5: error:
89     • Type family equation violates injectivity annotation.
90       Kind variable ‘k’ cannot be inferred from the right-hand side.
91       Use -fprint-explicit-kinds to see the kind arguments
92       In the type family equation:
93         forall k (a :: k) (b :: k).
94           Gc a b = Int -- Defined at T6018failclosed.hs:66:5
95     • In the equations for closed type family ‘Gc’
96       In the type family declaration for ‘Gc’