summaryrefslogtreecommitdiff
path: root/testsuite/tests/basic-more/robustmatch.compilers.reference
blob: f213748f334f3d296561ea6dc7593c317296f18a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
File "robustmatch.ml", lines 33-37, characters 6-23:
33 | ......match t1, t2, x with
34 |       | AB, AB, A -> ()
35 |       | MAB, _, A -> ()
36 |       | _,  AB, B -> ()
37 |       | _, MAB, B -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(AB, MAB, A)

File "robustmatch.ml", lines 43-47, characters 4-21:
43 | ....match t1, t2, x with
44 |     | AB,  AB, A -> ()
45 |     | MAB, _, A -> ()
46 |     | _,  AB, B -> ()
47 |     | _, MAB, B -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(AB, MAB, A)

File "robustmatch.ml", lines 54-56, characters 4-27:
54 | ....match r1, r2, a with
55 |     | R1, _, 0 -> ()
56 |     | _, R2, "coucou" -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, 1)

File "robustmatch.ml", lines 64-66, characters 4-27:
64 | ....match r1, r2, a with
65 |     | R1, _, A -> ()
66 |     | _, R2, "coucou" -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, (B|C))

File "robustmatch.ml", lines 69-71, characters 4-20:
69 | ....match r1, r2, a with
70 |     | _, R2, "coucou" -> ()
71 |     | R1, _, A -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, (B|C))

File "robustmatch.ml", lines 74-76, characters 4-20:
74 | ....match r1, r2, a with
75 |     | _, R2, "coucou" -> ()
76 |     | R1, _, _ -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R2, R2, "")

File "robustmatch.ml", lines 85-87, characters 4-20:
85 | ....match r1, r2, a with
86 |     | R1, _, A -> ()
87 |     | _, R2, X -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, (B|C))

File "robustmatch.ml", lines 90-93, characters 4-20:
90 | ....match r1, r2, a with
91 |     | R1, _, A -> ()
92 |     | _, R2, X -> ()
93 |     | R1, _, _ -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R2, R2, (Y|Z))

File "robustmatch.ml", lines 96-98, characters 4-20:
96 | ....match r1, r2, a with
97 |     | R1, _, _ -> ()
98 |     | _, R2, X -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R2, R2, (Y|Z))

File "robustmatch.ml", lines 107-109, characters 4-20:
107 | ....match r1, r2, a with
108 |     | R1, _, A -> ()
109 |     | _, R2, X -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, (B|C))

File "robustmatch.ml", lines 129-131, characters 4-20:
129 | ....match r1, r2, a with
130 |     | R1, _, A -> ()
131 |     | _, R2, X -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, B)

File "robustmatch.ml", lines 151-153, characters 4-20:
151 | ....match r1, r2, a with
152 |     | R1, _, A -> ()
153 |     | _, R2, X -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, B)

File "robustmatch.ml", lines 156-159, characters 4-20:
156 | ....match r1, r2, a with
157 |     | R1, _, A -> ()
158 |     | _, R2, X -> ()
159 |     | R1, _, _ -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R2, R2, Y)

File "robustmatch.ml", lines 162-164, characters 4-20:
162 | ....match r1, r2, a with
163 |     | R1, _, _ -> ()
164 |     | _, R2, X -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R2, R2, Y)

File "robustmatch.ml", lines 167-169, characters 4-20:
167 | ....match r1, r2, a with
168 |     | R1, _, C -> ()
169 |     | _, R2, Y -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, A)

File "robustmatch.ml", lines 176-179, characters 4-20:
176 | ....match r1, r2, a with
177 |     | _, R1, 0 -> ()
178 |     | R2, _, [||] -> ()
179 |     | _, R1, 1 -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R2, R2, [| _ |])

File "robustmatch.ml", lines 182-184, characters 4-23:
182 | ....match r1, r2, a with
183 |     | R1, _, _ -> ()
184 |     | _, R2, [||] -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R2, R2, [| _ |])

File "robustmatch.ml", lines 187-190, characters 4-20:
187 | ....match r1, r2, a with
188 |     | _, R2, [||] -> ()
189 |     | R1, _, 0 -> ()
190 |     | R1, _, _ -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R2, R2, [| _ |])

File "robustmatch.ml", lines 200-203, characters 4-19:
200 | ....match r1, r2, a with
201 |     | _, R2, [||] -> ()
202 |     | R1, _, 0 -> ()
203 |     | _, _, _ -> ()
Warning 4 [fragile-match]: this pattern-matching is fragile.
It will remain exhaustive when constructors are added to type repr.

File "robustmatch.ml", lines 210-212, characters 4-27:
210 | ....match r1, r2, a with
211 |     | R1, _, 'c' -> ()
212 |     | _, R2, "coucou" -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, 'a')

File "robustmatch.ml", lines 219-221, characters 4-27:
219 | ....match r1, r2, a with
220 |     | R1, _, `A -> ()
221 |     | _, R2, "coucou" -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, `B)

File "robustmatch.ml", lines 228-230, characters 4-37:
228 | ....match r1, r2, a with
229 |     | R1, _, (3, "") -> ()
230 |     | _, R2, (1, "coucou", 'a') -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, (3, "*"))

File "robustmatch.ml", lines 239-241, characters 4-51:
239 | ....match r1, r2, a with
240 |     | R1, _, { x = 3; y = "" } -> ()
241 |     | _, R2, { a = 1; b = "coucou"; c = 'a' } -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, {x=3; y="*"})

File "robustmatch.ml", lines 244-246, characters 4-36:
244 | ....match r1, r2, a with
245 |     | R2, _, { a = 1; b = "coucou"; c = 'a' } -> ()
246 |     | _, R1, { x = 3; y = "" } -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R2, R2, {a=1; b="coucou"; c='b'})

File "robustmatch.ml", lines 253-255, characters 4-20:
253 | ....match r1, r2, a with
254 |     | R1, _, (3, "") -> ()
255 |     | _, R2, 1 -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, (3, "*"))

File "robustmatch.ml", lines 263-265, characters 4-20:
263 | ....match r1, r2, a with
264 |     | R1, _, { x = 3; y = "" } -> ()
265 |     | _, R2, 1 -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, {x=3; y="*"})

File "robustmatch.ml", lines 272-274, characters 4-20:
272 | ....match r1, r2, a with
273 |     | R1, _, lazy 1 -> ()
274 |     | _, R2, 1 -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R1, R1, lazy 0)

File "robustmatch.ml", lines 281-284, characters 4-24:
281 | ....match r1, r2, a with
282 |     | R1, _, () -> ()
283 |     | _, R2, "coucou" -> ()
284 |     | _, R2, "foo" -> ()
Warning 8 [partial-match]: this pattern-matching is not exhaustive.
Here is an example of a case that is not matched:
(R2, R2, "")