@@ -180,8 +180,8 @@ pub enum SelectionCandidate<'tcx> {
180
180
///
181
181
/// The evaluation results are ordered:
182
182
/// - `EvaluatedToOk` implies `EvaluatedToOkModuloRegions`
183
- /// implies `EvaluatedToAmbig` implies `EvaluatedToUnknown `
184
- /// - `EvaluatedToErr` implies `EvaluatedToRecur `
183
+ /// implies `EvaluatedToAmbig` implies `EvaluatedToAmbigStackDependent `
184
+ /// - `EvaluatedToErr` implies `EvaluatedToErrStackDependent `
185
185
/// - the "union" of evaluation results is equal to their maximum -
186
186
/// all the "potential success" candidates can potentially succeed,
187
187
/// so they are noops when unioned with a definite error, and within
@@ -199,16 +199,16 @@ pub enum EvaluationResult {
199
199
/// Evaluation is known to be ambiguous -- it *might* hold for some
200
200
/// assignment of inference variables, but it might not.
201
201
///
202
- /// While this has the same meaning as `EvaluatedToUnknown ` -- we can't
202
+ /// While this has the same meaning as `EvaluatedToAmbigStackDependent ` -- we can't
203
203
/// know whether this obligation holds or not -- it is the result we
204
204
/// would get with an empty stack, and therefore is cacheable.
205
205
EvaluatedToAmbig ,
206
206
/// Evaluation failed because of recursion involving inference
207
207
/// variables. We are somewhat imprecise there, so we don't actually
208
208
/// know the real result.
209
209
///
210
- /// This can't be trivially cached for the same reason as `EvaluatedToRecur `.
211
- EvaluatedToUnknown ,
210
+ /// This can't be trivially cached for the same reason as `EvaluatedToErrStackDependent `.
211
+ EvaluatedToAmbigStackDependent ,
212
212
/// Evaluation failed because we encountered an obligation we are already
213
213
/// trying to prove on this branch.
214
214
///
@@ -247,12 +247,12 @@ pub enum EvaluationResult {
247
247
/// does not hold, because of the bound (which can indeed be satisfied
248
248
/// by `SomeUnsizedType` from another crate).
249
249
//
250
- // FIXME: when an `EvaluatedToRecur ` goes past its parent root, we
250
+ // FIXME: when an `EvaluatedToErrStackDependent ` goes past its parent root, we
251
251
// ought to convert it to an `EvaluatedToErr`, because we know
252
252
// there definitely isn't a proof tree for that obligation. Not
253
253
// doing so is still sound -- there isn't any proof tree, so the
254
254
// branch still can't be a part of a minimal one -- but does not re-enable caching.
255
- EvaluatedToRecur ,
255
+ EvaluatedToErrStackDependent ,
256
256
/// Evaluation failed.
257
257
EvaluatedToErr ,
258
258
}
@@ -276,15 +276,15 @@ impl EvaluationResult {
276
276
| EvaluatedToOk
277
277
| EvaluatedToOkModuloRegions
278
278
| EvaluatedToAmbig
279
- | EvaluatedToUnknown => true ,
279
+ | EvaluatedToAmbigStackDependent => true ,
280
280
281
- EvaluatedToErr | EvaluatedToRecur => false ,
281
+ EvaluatedToErr | EvaluatedToErrStackDependent => false ,
282
282
}
283
283
}
284
284
285
285
pub fn is_stack_dependent ( self ) -> bool {
286
286
match self {
287
- EvaluatedToUnknown | EvaluatedToRecur => true ,
287
+ EvaluatedToAmbigStackDependent | EvaluatedToErrStackDependent => true ,
288
288
289
289
EvaluatedToOkModuloOpaqueTypes
290
290
| EvaluatedToOk
0 commit comments