InferenceConform

Trait InferenceConform 

Source
pub trait InferenceConform<'db> {
Show 15 methods // Required methods fn conform_ty( &mut self, ty0: TypeId<'db>, ty1: TypeId<'db>, ) -> InferenceResult<TypeId<'db>>; fn conform_ty_ex( &mut self, ty0: TypeId<'db>, ty1: TypeId<'db>, ty0_is_self: bool, ) -> InferenceResult<(TypeId<'db>, usize)>; fn conform_const( &mut self, ty0: ConstValueId<'db>, ty1: ConstValueId<'db>, ) -> InferenceResult<ConstValueId<'db>>; fn maybe_peel_snapshots( &mut self, ty0_is_self: bool, ty1: TypeId<'db>, ) -> (usize, TypeLongId<'db>); fn conform_generic_args( &mut self, gargs0: &[GenericArgumentId<'db>], gargs1: &[GenericArgumentId<'db>], ) -> InferenceResult<Vec<GenericArgumentId<'db>>>; fn conform_generic_arg( &mut self, garg0: GenericArgumentId<'db>, garg1: GenericArgumentId<'db>, ) -> InferenceResult<GenericArgumentId<'db>>; fn conform_impl( &mut self, impl0: ImplId<'db>, impl1: ImplId<'db>, ) -> InferenceResult<ImplId<'db>>; fn conform_neg_impl( &mut self, neg_impl0: NegativeImplId<'db>, neg_impl1: NegativeImplId<'db>, ) -> InferenceResult<NegativeImplId<'db>>; fn conform_traits( &mut self, trt0: ConcreteTraitId<'db>, trt1: ConcreteTraitId<'db>, ) -> InferenceResult<ConcreteTraitId<'db>>; fn conform_generic_function( &mut self, trt0: GenericFunctionId<'db>, trt1: GenericFunctionId<'db>, ) -> InferenceResult<GenericFunctionId<'db>>; fn ty_contains_var(&mut self, ty: TypeId<'db>, var: InferenceVar) -> bool; fn generic_args_contain_var( &mut self, generic_args: &[GenericArgumentId<'db>], var: InferenceVar, ) -> bool; fn impl_contains_var( &mut self, impl_id: ImplId<'db>, var: InferenceVar, ) -> bool; fn negative_impl_contains_var( &mut self, neg_impl_id: NegativeImplId<'db>, var: InferenceVar, ) -> bool; fn function_contains_var( &mut self, function_id: FunctionId<'db>, var: InferenceVar, ) -> bool;
}
Expand description

Functions for conforming semantic objects with each other.

Required Methods§

Source

fn conform_ty( &mut self, ty0: TypeId<'db>, ty1: TypeId<'db>, ) -> InferenceResult<TypeId<'db>>

Source

fn conform_ty_ex( &mut self, ty0: TypeId<'db>, ty1: TypeId<'db>, ty0_is_self: bool, ) -> InferenceResult<(TypeId<'db>, usize)>

Source

fn conform_const( &mut self, ty0: ConstValueId<'db>, ty1: ConstValueId<'db>, ) -> InferenceResult<ConstValueId<'db>>

Source

fn maybe_peel_snapshots( &mut self, ty0_is_self: bool, ty1: TypeId<'db>, ) -> (usize, TypeLongId<'db>)

Source

fn conform_generic_args( &mut self, gargs0: &[GenericArgumentId<'db>], gargs1: &[GenericArgumentId<'db>], ) -> InferenceResult<Vec<GenericArgumentId<'db>>>

Source

fn conform_generic_arg( &mut self, garg0: GenericArgumentId<'db>, garg1: GenericArgumentId<'db>, ) -> InferenceResult<GenericArgumentId<'db>>

Source

fn conform_impl( &mut self, impl0: ImplId<'db>, impl1: ImplId<'db>, ) -> InferenceResult<ImplId<'db>>

Source

fn conform_neg_impl( &mut self, neg_impl0: NegativeImplId<'db>, neg_impl1: NegativeImplId<'db>, ) -> InferenceResult<NegativeImplId<'db>>

Source

fn conform_traits( &mut self, trt0: ConcreteTraitId<'db>, trt1: ConcreteTraitId<'db>, ) -> InferenceResult<ConcreteTraitId<'db>>

Source

fn conform_generic_function( &mut self, trt0: GenericFunctionId<'db>, trt1: GenericFunctionId<'db>, ) -> InferenceResult<GenericFunctionId<'db>>

Source

fn ty_contains_var(&mut self, ty: TypeId<'db>, var: InferenceVar) -> bool

Source

fn generic_args_contain_var( &mut self, generic_args: &[GenericArgumentId<'db>], var: InferenceVar, ) -> bool

Source

fn impl_contains_var(&mut self, impl_id: ImplId<'db>, var: InferenceVar) -> bool

Source

fn negative_impl_contains_var( &mut self, neg_impl_id: NegativeImplId<'db>, var: InferenceVar, ) -> bool

Source

fn function_contains_var( &mut self, function_id: FunctionId<'db>, var: InferenceVar, ) -> bool

Implementors§

Source§

impl<'db> InferenceConform<'db> for Inference<'db, '_>