[−][src]Trait rustc_trait_selection::traits::query::evaluate_obligation::InferCtxtExt

pub trait InferCtxtExt<'tcx> {
    pub fn predicate_may_hold(
        &self,
        obligation: &PredicateObligation<'tcx>
    ) -> bool;
pub fn predicate_must_hold_considering_regions(
        &self,
        obligation: &PredicateObligation<'tcx>
    ) -> bool;
pub fn predicate_must_hold_modulo_regions(
        &self,
        obligation: &PredicateObligation<'tcx>
    ) -> bool;
pub fn evaluate_obligation(
        &self,
        obligation: &PredicateObligation<'tcx>
    ) -> Result<EvaluationResult, OverflowError>;
pub fn evaluate_obligation_no_overflow(
        &self,
        obligation: &PredicateObligation<'tcx>
    ) -> EvaluationResult; }

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]

pub fn predicate_must_hold_modulo_regions(
    &self,
    obligation: &PredicateObligation<'tcx>
) -> bool
[src]

pub fn evaluate_obligation(
    &self,
    obligation: &PredicateObligation<'tcx>
) -> Result<EvaluationResult, OverflowError>
[src]

pub fn evaluate_obligation_no_overflow(
    &self,
    obligation: &PredicateObligation<'tcx>
) -> EvaluationResult
[src]

Loading content...

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]

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]

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]

Evaluate a given predicate, capturing overflow and propagating it back.

Loading content...