File tree 1 file changed +7
-2
lines changed 1 file changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -72,6 +72,10 @@ pub struct Fulfill<'s> {
72
72
/// Lifetime constraints that must be fulfilled for a solution to be fully
73
73
/// validated.
74
74
constraints : HashSet < InEnvironment < Constraint > > ,
75
+
76
+ /// Record that a goal has been processed that can neither be proved nor
77
+ /// refuted. In such a case the solution will be either `CannotProve`, or `Err`
78
+ /// in the case where some other goal leads to an error.
75
79
cannot_prove : bool ,
76
80
}
77
81
@@ -320,8 +324,9 @@ impl<'s> Fulfill<'s> {
320
324
obligations. push ( obligation) ;
321
325
}
322
326
323
- // If one of the obligations cannot be proven, then the whole goal
324
- // cannot be proven either.
327
+ // If one of the obligations cannot be proven then the whole goal
328
+ // cannot be proven either, unless another obligation leads to an error
329
+ // in which case the function will bail out normally.
325
330
self . cannot_prove = self . cannot_prove || cannot_prove;
326
331
}
327
332
You can’t perform that action at this time.
0 commit comments