Skip to content

Commit

Permalink
rename evaluate_obligation_recursively
Browse files Browse the repository at this point in the history
It does not, in fact, execute in a recursive context.
  • Loading branch information
nikomatsakis committed Jun 11, 2019
1 parent 8e948df commit db1dfb2
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/librustc/traits/query/evaluate_obligation.rs
Expand Up @@ -64,7 +64,7 @@ impl<'cx, 'gcx, 'tcx> InferCtxt<'cx, 'gcx, 'tcx> {
Err(OverflowError) => {
let mut selcx =
SelectionContext::with_query_mode(&self, TraitQueryMode::Standard);
selcx.evaluate_obligation_recursively(obligation)
selcx.evaluate_root_obligation(obligation)
.unwrap_or_else(|r| {
span_bug!(
obligation.cause.span,
Expand Down
9 changes: 5 additions & 4 deletions src/librustc/traits/select.rs
Expand Up @@ -649,14 +649,15 @@ impl<'cx, 'gcx, 'tcx> SelectionContext<'cx, 'gcx, 'tcx> {
// where we do not expect overflow to be propagated.
assert!(self.query_mode == TraitQueryMode::Standard);

self.evaluate_obligation_recursively(obligation)
self.evaluate_root_obligation(obligation)
.expect("Overflow should be caught earlier in standard query mode")
.may_apply()
}

/// Evaluates whether the obligation `obligation` can be satisfied and returns
/// an `EvaluationResult`.
pub fn evaluate_obligation_recursively(
/// Evaluates whether the obligation `obligation` can be satisfied
/// and returns an `EvaluationResult`. This is meant for the
/// *initial* call.
pub fn evaluate_root_obligation(
&mut self,
obligation: &PredicateObligation<'tcx>,
) -> Result<EvaluationResult, OverflowError> {
Expand Down
2 changes: 1 addition & 1 deletion src/librustc_traits/evaluate_obligation.rs
Expand Up @@ -29,7 +29,7 @@ fn evaluate_obligation<'tcx>(
let mut selcx = SelectionContext::with_query_mode(&infcx, TraitQueryMode::Canonical);
let obligation = Obligation::new(ObligationCause::dummy(), param_env, predicate);

selcx.evaluate_obligation_recursively(&obligation)
selcx.evaluate_root_obligation(&obligation)
},
)
}

0 comments on commit db1dfb2

Please sign in to comment.