InferenceEmbeddings

Trait InferenceEmbeddings 

Source
pub trait InferenceEmbeddings<'db> {
Show 14 methods // Required methods fn infer_impl( &mut self, uninferred_impl: UninferredImpl<'db>, concrete_trait_id: ConcreteTraitId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<ImplId<'db>>; fn infer_impl_def( &mut self, impl_def_id: ImplDefId<'db>, concrete_trait_id: ConcreteTraitId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<ImplId<'db>>; fn infer_impl_alias( &mut self, impl_alias_id: ImplAliasId<'db>, concrete_trait_id: ConcreteTraitId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<ImplId<'db>>; fn infer_generic_assignment( &mut self, generic_params: &[GenericParam<'db>], generic_args: &[GenericArgumentId<'db>], expected_generic_args: &[GenericArgumentId<'db>], lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<Vec<GenericArgumentId<'db>>>; fn infer_generic_args( &mut self, generic_params: &[GenericParam<'db>], lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<Vec<GenericArgumentId<'db>>>; fn infer_concrete_trait_by_self( &mut self, trait_function: TraitFunctionId<'db>, self_ty: TypeId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, inference_errors: &mut Vec<(TraitFunctionId<'db>, InferenceError<'db>)>, ) -> Option<(ConcreteTraitId<'db>, usize)>; fn infer_concrete_trait_by_self_without_errors( &mut self, trait_function: TraitFunctionId<'db>, self_ty: TypeId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> Option<(ConcreteTraitId<'db>, usize)>; fn infer_generic_arg( &mut self, param: &GenericParam<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<GenericArgumentId<'db>>; fn infer_trait_function( &mut self, concrete_trait_function: ConcreteTraitGenericFunctionId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<FunctionId<'db>>; fn infer_generic_function( &mut self, generic_function: GenericFunctionId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<FunctionId<'db>>; fn infer_trait_generic_function( &mut self, concrete_trait_function: ConcreteTraitGenericFunctionId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> ImplGenericFunctionId<'db>; fn infer_trait_type( &mut self, concrete_trait_type: ConcreteTraitTypeId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> TypeId<'db>; fn infer_trait_constant( &mut self, concrete_trait_constant: ConcreteTraitConstantId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> ImplConstantId<'db>; fn infer_trait_impl( &mut self, concrete_trait_constant: ConcreteTraitImplId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> ImplImplId<'db>;
}
Expand description

Functions for embedding generic semantic objects in an existing Inference object, by introducing new variables.

Required Methods§

Source

fn infer_impl( &mut self, uninferred_impl: UninferredImpl<'db>, concrete_trait_id: ConcreteTraitId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<ImplId<'db>>

Source

fn infer_impl_def( &mut self, impl_def_id: ImplDefId<'db>, concrete_trait_id: ConcreteTraitId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<ImplId<'db>>

Source

fn infer_impl_alias( &mut self, impl_alias_id: ImplAliasId<'db>, concrete_trait_id: ConcreteTraitId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<ImplId<'db>>

Source

fn infer_generic_assignment( &mut self, generic_params: &[GenericParam<'db>], generic_args: &[GenericArgumentId<'db>], expected_generic_args: &[GenericArgumentId<'db>], lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<Vec<GenericArgumentId<'db>>>

Source

fn infer_generic_args( &mut self, generic_params: &[GenericParam<'db>], lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<Vec<GenericArgumentId<'db>>>

Source

fn infer_concrete_trait_by_self( &mut self, trait_function: TraitFunctionId<'db>, self_ty: TypeId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, inference_errors: &mut Vec<(TraitFunctionId<'db>, InferenceError<'db>)>, ) -> Option<(ConcreteTraitId<'db>, usize)>

Source

fn infer_concrete_trait_by_self_without_errors( &mut self, trait_function: TraitFunctionId<'db>, self_ty: TypeId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> Option<(ConcreteTraitId<'db>, usize)>

Source

fn infer_generic_arg( &mut self, param: &GenericParam<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<GenericArgumentId<'db>>

Source

fn infer_trait_function( &mut self, concrete_trait_function: ConcreteTraitGenericFunctionId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<FunctionId<'db>>

Source

fn infer_generic_function( &mut self, generic_function: GenericFunctionId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> InferenceResult<FunctionId<'db>>

Source

fn infer_trait_generic_function( &mut self, concrete_trait_function: ConcreteTraitGenericFunctionId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> ImplGenericFunctionId<'db>

Source

fn infer_trait_type( &mut self, concrete_trait_type: ConcreteTraitTypeId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> TypeId<'db>

Source

fn infer_trait_constant( &mut self, concrete_trait_constant: ConcreteTraitConstantId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> ImplConstantId<'db>

Source

fn infer_trait_impl( &mut self, concrete_trait_constant: ConcreteTraitImplId<'db>, lookup_context: ImplLookupContextId<'db>, stable_ptr: Option<SyntaxStablePtrId<'db>>, ) -> ImplImplId<'db>

Implementors§

Source§

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