Trait chalk_engine::context::InferenceTable [] [src]

pub trait InferenceTable<C: Context>: ResolventOps<C> + TruncateOps<C> {
    fn instantiate_binders_universally(
        &mut self,
        arg: &C::BindersGoal
    ) -> C::Goal;
fn instantiate_binders_existentially(
        &mut self,
        arg: &C::BindersGoal
    ) -> C::Goal;
fn debug_ex_clause<'v>(&mut self, value: &'v ExClause<C>) -> Box<Debug + 'v>;
fn canonicalize_goal(
        &mut self,
        value: &C::GoalInEnvironment
    ) -> C::CanonicalGoalInEnvironment;
fn canonicalize_ex_clause(
        &mut self,
        value: &ExClause<C>
    ) -> C::CanonicalExClause;
fn canonicalize_constrained_subst(
        &mut self,
        subst: C::Substitution,
        constraints: Vec<C::RegionConstraint>
    ) -> C::CanonicalConstrainedSubst;
fn u_canonicalize_goal(
        &mut self,
        value: &C::CanonicalGoalInEnvironment
    ) -> (C::UCanonicalGoalInEnvironment, C::UniverseMap);
fn invert_goal(
        &mut self,
        value: &C::GoalInEnvironment
    ) -> Option<C::GoalInEnvironment>;
fn unify_parameters(
        &mut self,
        environment: &C::Environment,
        a: &C::Parameter,
        b: &C::Parameter
    ) -> Fallible<C::UnificationResult>; }

Required Methods

Implementors