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
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
&mut self,
value: &C::GoalInEnvironment
) -> C::CanonicalGoalInEnvironment
fn canonicalize_ex_clause(
&mut self,
value: &ExClause<C>
) -> C::CanonicalExClause
&mut self,
value: &ExClause<C>
) -> C::CanonicalExClause
fn canonicalize_constrained_subst(
&mut self,
subst: C::Substitution,
constraints: Vec<C::RegionConstraint>
) -> C::CanonicalConstrainedSubst
&mut self,
subst: C::Substitution,
constraints: Vec<C::RegionConstraint>
) -> C::CanonicalConstrainedSubst
fn u_canonicalize_goal(
&mut self,
value: &C::CanonicalGoalInEnvironment
) -> (C::UCanonicalGoalInEnvironment, C::UniverseMap)
&mut self,
value: &C::CanonicalGoalInEnvironment
) -> (C::UCanonicalGoalInEnvironment, C::UniverseMap)
fn invert_goal(
&mut self,
value: &C::GoalInEnvironment
) -> Option<C::GoalInEnvironment>
&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>
&mut self,
environment: &C::Environment,
a: &C::Parameter,
b: &C::Parameter
) -> Fallible<C::UnificationResult>