@@ -210,7 +210,15 @@ fn coinductive_unsound1() {
210
210
211
211
goal {
212
212
forall<X > { X : C1orC2 }
213
- } yields_all[ SolverChoice :: slg( 3 , None ) ] {
213
+ } yields[ SolverChoice :: slg( 3 , None ) ] {
214
+ "No possible solution"
215
+ }
216
+
217
+ goal {
218
+ forall<X > { X : C1orC2 }
219
+ } yields[ SolverChoice :: recursive( ) ] {
220
+ // FIXME -- recursive solver doesn't handle coinduction correctly
221
+ "Unique; substitution [], lifetime constraints []"
214
222
}
215
223
}
216
224
}
@@ -251,7 +259,8 @@ fn coinductive_unsound2() {
251
259
252
260
goal {
253
261
forall<X > { X : C1orC2 }
254
- } yields_all[ SolverChoice :: slg( 3 , None ) ] {
262
+ } yields {
263
+ "No possible solution"
255
264
}
256
265
}
257
266
}
@@ -298,8 +307,8 @@ fn coinductive_multicycle1() {
298
307
299
308
goal {
300
309
forall<X > { X : Any }
301
- } yields_all [ SolverChoice :: slg ( 3 , None ) ] {
302
- "substitution [], lifetime constraints []"
310
+ } yields {
311
+ "Unique; substitution [], lifetime constraints []"
303
312
}
304
313
}
305
314
}
@@ -338,8 +347,8 @@ fn coinductive_multicycle2() {
338
347
339
348
goal {
340
349
forall<X > { X : Any }
341
- } yields_all [ SolverChoice :: slg ( 3 , None ) ] {
342
- "substitution [], lifetime constraints []"
350
+ } yields {
351
+ "Unique; substitution [], lifetime constraints []"
343
352
}
344
353
}
345
354
}
@@ -388,7 +397,8 @@ fn coinductive_multicycle3() {
388
397
389
398
goal {
390
399
forall<X > { X : Any }
391
- } yields_all[ SolverChoice :: slg( 3 , None ) ] {
400
+ } yields {
401
+ "No possible solution"
392
402
}
393
403
}
394
404
}
@@ -439,5 +449,12 @@ fn coinductive_multicycle4() {
439
449
forall<X > { X : Any }
440
450
} yields_all[ SolverChoice :: slg( 3 , None ) ] {
441
451
}
452
+
453
+ goal {
454
+ forall<X > { X : Any }
455
+ } yields[ SolverChoice :: recursive( ) ] {
456
+ // FIXME -- recursive solver doesn't have coinduction correctly
457
+ "Unique; substitution [], lifetime constraints []"
458
+ }
442
459
}
443
460
}
0 commit comments