Re-polish error messages around injective TFs.
[ghc.git] / testsuite / tests / typecheck / should_fail / T6018fail.stderr
1 [1 of 5] Compiling T6018Bfail       ( T6018Bfail.hs, T6018Bfail.o )
2 [2 of 5] Compiling T6018Dfail       ( T6018Dfail.hs, T6018Dfail.o )
3 [3 of 5] Compiling T6018Cfail       ( T6018Cfail.hs, T6018Cfail.o )
4 [4 of 5] Compiling T6018Afail       ( T6018Afail.hs, T6018Afail.o )
5 [5 of 5] Compiling T6018fail        ( T6018fail.hs, T6018fail.o )
6
7 T6018Afail.hs:7:15: error:
8     Type family equations violate injectivity annotation:
9       G Char Bool Int = Int
10       G Bool Int Char = Int
11
12 T6018Dfail.hs:7:15: error:
13     Type family equations violate injectivity annotation:
14       T6018Bfail.H Bool Int Char = Int
15       T6018Bfail.H Char Bool Int = Int
16
17 T6018fail.hs:13:15: error:
18     Type family equations violate injectivity annotation:
19       F Bool Int Char = Int
20       F Char Bool Int = Int
21
22 T6018fail.hs:19:15: error:
23     Type family equations violate injectivity annotation:
24       I Int Int Int = Bool
25       I Int Char Bool = Bool
26
27 T6018fail.hs:28:15: error:
28     Type family equation violates injectivity annotation.
29     RHS of injective type family equation cannot be a type family:
30       IdProxy a = Id a
31
32 T6018fail.hs:36:15: error:
33     Type family equation violates injectivity annotation.
34     RHS of injective type family equation is a bare type variable
35     but these LHS type and kind patterns are not bare variables: ‘'Z’
36       P 'Z m = m
37
38 T6018fail.hs:37:15: error:
39     Type family equations violate injectivity annotation:
40       P ('S n) m = 'S (P n m)
41       P 'Z m = m
42
43 T6018fail.hs:42:15: error:
44     Type family equation violates injectivity annotation.
45     Type variable ‘b’ cannot be inferred from the right-hand side.
46     In the type family equation:
47       J Int b c = Char
48
49 T6018fail.hs:46:15: error:
50     Type family equation violates injectivity annotation.
51     Type variable ‘n’ cannot be inferred from the right-hand side.
52     In the type family equation:
53       K ('S n) m = 'S m
54
55 T6018fail.hs:51:15: error:
56     Type family equation violates injectivity annotation.
57     RHS of injective type family equation cannot be a type family:
58       L a = MaybeSyn a
59
60 T6018fail.hs:59:10: error:
61     Type family equation violates injectivity annotation.
62     Kind variable ‘k’ cannot be inferred from the right-hand side.
63     (enabling -fprint-explicit-kinds might help)
64     In the type family equation:
65       PolyKindVarsF '[] = '[]
66
67 T6018fail.hs:62:15: error:
68     Type family equation violates injectivity annotation.
69     Kind variable ‘k1’ cannot be inferred from the right-hand side.
70     (enabling -fprint-explicit-kinds might help)
71     In the type family equation:
72       PolyKindVars '[] = '[]
73
74 T6018fail.hs:66:15: error:
75     Type family equation violates injectivity annotation.
76     Kind variable ‘k’ cannot be inferred from the right-hand side.
77     (enabling -fprint-explicit-kinds might help)
78     In the type family equation:
79     forall (k :: BOX) (a :: k) (b :: k). Fc a b = Int
80
81 T6018fail.hs:70:15: error:
82     Type family equation violates injectivity annotation.
83     Type and kind variables ‘k’, ‘a’, ‘b’
84     cannot be inferred from the right-hand side.
85     (enabling -fprint-explicit-kinds might help)
86     In the type family equation:
87     forall (k :: BOX) (a :: k) (b :: k). Gc a b = Int
88
89 T6018fail.hs:75:15: error:
90     Type family equations violate injectivity annotation:
91       F1 (Maybe a) = Maybe (GF2 a)
92       F1 [a] = Maybe (GF1 a)
93
94 T6018fail.hs:87:15: error:
95     Type family equation violates injectivity annotation.
96     RHS of injective type family equation is a bare type variable
97     but these LHS type and kind patterns are not bare variables: ‘[a]’
98       W1 [a] = a
99
100 T6018fail.hs:90:15: error:
101     Type family equation violates injectivity annotation.
102     RHS of injective type family equation cannot be a type family:
103       W2 [a] = W2 a
104
105 T6018fail.hs:95:15: error:
106     Type family equations violate injectivity annotation:
107       Z1 (Maybe b) = (b, [b])
108       Z1 [a] = (a, a)
109
110 T6018fail.hs:99:15: error:
111     Type family equations violate injectivity annotation:
112       G1 (Maybe b) = [(b, b)]
113       G1 [a] = [a]
114
115 T6018fail.hs:103:15: error:
116     Type family equations violate injectivity annotation:
117       G3 a Bool = (Bool, a)
118       G3 a Int = (a, Int)
119
120 T6018fail.hs:106:15: error:
121     Type family equation violates injectivity annotation.
122     Type variable ‘b’ cannot be inferred from the right-hand side.
123     In the type family equation:
124       G4 a b = [a]
125
126 T6018fail.hs:110:15: error:
127     Type family equations violate injectivity annotation:
128       G5 Int = [Bool]
129       G5 [a] = [GF1 a]
130
131 T6018fail.hs:113:15: error:
132     Type family equation violates injectivity annotation.
133     Type variable ‘a’ cannot be inferred from the right-hand side.
134     In the type family equation:
135       G6 [a] = [HF1 a]
136
137 T6018fail.hs:118:15: error:
138     Type family equation violates injectivity annotation.
139     Type and kind variables ‘k’, ‘c’
140     cannot be inferred from the right-hand side.
141     (enabling -fprint-explicit-kinds might help)
142     In the type family equation:
143     forall (k :: BOX) a b (c :: k). G7 a b c = [G7a a b c]
144
145 T6018fail.hs:129:1: error:
146     Type family equations violate injectivity annotation:
147       FC Int Bool = Bool
148       FC Int Char = Bool
149
150 T6018fail.hs:134:1: error:
151     Type family equation violates injectivity annotation.
152     RHS of injective type family equation is a bare type variable
153     but these LHS type and kind patterns are not bare variables: ‘*’, ‘Char’
154       FC Char a = a