[−][src]Trait rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt
Required methods
pub fn predicate_may_hold(&self, obligation: &PredicateObligation<'tcx>) -> bool[src]
pub fn predicate_must_hold_considering_regions(
&self,
obligation: &PredicateObligation<'tcx>
) -> bool[src]
&self,
obligation: &PredicateObligation<'tcx>
) -> bool
pub fn predicate_must_hold_modulo_regions(
&self,
obligation: &PredicateObligation<'tcx>
) -> bool[src]
&self,
obligation: &PredicateObligation<'tcx>
) -> bool
pub fn evaluate_obligation(
&self,
obligation: &PredicateObligation<'tcx>
) -> Result<EvaluationResult, OverflowError>[src]
&self,
obligation: &PredicateObligation<'tcx>
) -> Result<EvaluationResult, OverflowError>
pub fn evaluate_obligation_no_overflow(
&self,
obligation: &PredicateObligation<'tcx>
) -> EvaluationResult[src]
&self,
obligation: &PredicateObligation<'tcx>
) -> EvaluationResult
Implementors
impl<'cx, 'tcx> InferCtxtExt<'tcx> for InferCtxt<'cx, 'tcx>[src]
pub fn predicate_may_hold(&self, obligation: &PredicateObligation<'tcx>) -> bool[src]
Evaluates whether the predicate can be satisfied (by any means)
in the given ParamEnv.
pub fn predicate_must_hold_considering_regions(
&self,
obligation: &PredicateObligation<'tcx>
) -> bool[src]
&self,
obligation: &PredicateObligation<'tcx>
) -> bool
Evaluates whether the predicate can be satisfied in the given
ParamEnv, and returns false if not certain. However, this is
not entirely accurate if inference variables are involved.
This version may conservatively fail when outlives obligations are required.
pub fn predicate_must_hold_modulo_regions(
&self,
obligation: &PredicateObligation<'tcx>
) -> bool[src]
&self,
obligation: &PredicateObligation<'tcx>
) -> bool
Evaluates whether the predicate can be satisfied in the given
ParamEnv, and returns false if not certain. However, this is
not entirely accurate if inference variables are involved.
This version ignores all outlives constraints.
pub fn evaluate_obligation(
&self,
obligation: &PredicateObligation<'tcx>
) -> Result<EvaluationResult, OverflowError>[src]
&self,
obligation: &PredicateObligation<'tcx>
) -> Result<EvaluationResult, OverflowError>
Evaluate a given predicate, capturing overflow and propagating it back.
pub fn evaluate_obligation_no_overflow(
&self,
obligation: &PredicateObligation<'tcx>
) -> EvaluationResult[src]
&self,
obligation: &PredicateObligation<'tcx>
) -> EvaluationResult