pub trait InferenceConform {
Show 13 methods
// Required methods
fn conform_ty(
&mut self,
ty0: TypeId,
ty1: TypeId,
) -> InferenceResult<TypeId>;
fn conform_ty_ex(
&mut self,
ty0: TypeId,
ty1: TypeId,
ty0_is_self: bool,
) -> InferenceResult<(TypeId, usize)>;
fn conform_const(
&mut self,
ty0: ConstValueId,
ty1: ConstValueId,
) -> InferenceResult<ConstValueId>;
fn maybe_peel_snapshots(
&mut self,
ty0_is_self: bool,
ty1: TypeId,
) -> (usize, TypeLongId);
fn conform_generic_args(
&mut self,
gargs0: &[GenericArgumentId],
gargs1: &[GenericArgumentId],
) -> InferenceResult<Vec<GenericArgumentId>>;
fn conform_generic_arg(
&mut self,
garg0: GenericArgumentId,
garg1: GenericArgumentId,
) -> InferenceResult<GenericArgumentId>;
fn conform_impl(
&mut self,
impl0: ImplId,
impl1: ImplId,
) -> InferenceResult<ImplId>;
fn conform_traits(
&mut self,
trt0: ConcreteTraitId,
trt1: ConcreteTraitId,
) -> InferenceResult<ConcreteTraitId>;
fn conform_generic_function(
&mut self,
trt0: GenericFunctionId,
trt1: GenericFunctionId,
) -> InferenceResult<GenericFunctionId>;
fn ty_contains_var(&mut self, ty: TypeId, var: InferenceVar) -> bool;
fn generic_args_contain_var(
&mut self,
generic_args: &[GenericArgumentId],
var: InferenceVar,
) -> bool;
fn impl_contains_var(&mut self, impl_id: ImplId, var: InferenceVar) -> bool;
fn function_contains_var(
&mut self,
function_id: FunctionId,
var: InferenceVar,
) -> bool;
}
Expand description
Functions for conforming semantic objects with each other.