Module imp

Source

Structs§

ConcreteImplId
ConcreteImplLongId
GeneratedImplId
GeneratedImplItems
GeneratedImplLongId
An impl that is generated by the compiler for a specific trait. There can be only one such impl per concrete trait as otherwise there would be a MultipleImplsFound ambiguity.
ImplDeclarationData
ImplDefinitionData
ImplFunctionDeclarationData
ImplId
ImplImplId
An impl item of kind impl.
ImplItemConstantData
ImplItemImplData
ImplItemTypeData
ImplLookupContext
ImplicitImplImplData
TraitFilter
A filter for trait lookup that is not based on current inference state. This is used for caching queries.
UninferredGeneratedImplId
UninferredGeneratedImplLongId
Generated impls before inference, see GeneratedImplLongId for more details.

Enums§

GeneratedImplAssociatedTypes
GenericsHeadFilter
A lookup filter on generic arguments that is not based on current inference state. This is used for caching queries.
ImplHead
Head of an impl.
ImplLongId
Represents a “callee” impl that can be referred to in the code. Traits should be resolved to this.
ImplOrModuleById
UninferredImpl
A candidate impl for later inference.

Functions§

can_infer_impl_by_self
Checks if an impl of a trait function with a given self_ty exists. This function does not change the state of the inference context.
filter_candidate_traits
Returns all the trait functions that fit the given function name, can be called on the given self_ty, and have at least one implementation in context.
find_candidates_at_context
Finds all the implementations of a concrete trait, in a specific lookup context.
find_closure_generated_candidate
Finds the generated candidate for a concrete trait.
impl_all_used_items
Query implementation of SemanticGroup::impl_all_used_items.
impl_concrete_trait
Query implementation of crate::db::SemanticGroup::impl_concrete_trait.
impl_constant_by_trait_constant
Query implementation of crate::db::SemanticGroup::impl_constant_by_trait_constant.
impl_constant_concrete_implized_type
Query implementation of crate::db::SemanticGroup::impl_constant_concrete_implized_type.
impl_constant_concrete_implized_type_cycle
Cycle handling for crate::db::SemanticGroup::impl_constant_concrete_implized_type.
impl_constant_concrete_implized_value
Query implementation of crate::db::SemanticGroup::impl_constant_concrete_implized_value.
impl_constant_concrete_implized_value_cycle
Cycle handling for crate::db::SemanticGroup::impl_constant_concrete_implized_value.
impl_constant_def_resolver_data
Query implementation of crate::db::SemanticGroup::impl_constant_def_resolver_data.
impl_constant_def_semantic_diagnostics
Query implementation of crate::db::SemanticGroup::impl_constant_def_semantic_diagnostics.
impl_constant_def_trait_constant
Query implementation of crate::db::SemanticGroup::impl_constant_def_trait_constant.
impl_constant_def_value
Query implementation of crate::db::SemanticGroup::impl_constant_def_value.
impl_constant_def_value_cycle
Cycle handling for crate::db::SemanticGroup::impl_constant_def_value.
impl_constant_implized_by_context
Query implementation of crate::db::SemanticGroup::impl_constant_implized_by_context.
impl_constant_implized_by_context_cycle
Cycle handling for crate::db::SemanticGroup::impl_constant_implized_by_context.
impl_constants
Query implementation of crate::db::SemanticGroup::impl_constants.
impl_def_attributes
Query implementation of crate::db::SemanticGroup::impl_def_attributes.
impl_def_concrete_trait
Query implementation of crate::db::SemanticGroup::impl_def_concrete_trait.
impl_def_concrete_trait_cycle
Trivial cycle handler for crate::db::SemanticGroup::impl_def_concrete_trait.
impl_def_generic_params
Query implementation of crate::db::SemanticGroup::impl_def_generic_params.
impl_def_generic_params_data
Query implementation of crate::db::SemanticGroup::impl_def_generic_params_data.
impl_def_resolver_data
Query implementation of crate::db::SemanticGroup::impl_def_resolver_data.
impl_def_resolver_data_cycle
Trivial cycle handler for crate::db::SemanticGroup::impl_def_resolver_data.
impl_def_substitution
Query implementation of crate::db::SemanticGroup::impl_def_substitution.
impl_def_trait
Query implementation of crate::db::SemanticGroup::impl_def_trait.
impl_function_attributes
Query implementation of crate::db::SemanticGroup::impl_function_attributes.
impl_function_body
Query implementation of crate::db::SemanticGroup::impl_function_body.
impl_function_body_diagnostics
Query implementation of crate::db::SemanticGroup::impl_function_body_diagnostics.
impl_function_body_resolver_data
Query implementation of crate::db::SemanticGroup::impl_function_body_resolver_data.
impl_function_by_trait_function
Query implementation of crate::db::SemanticGroup::impl_function_by_trait_function.
impl_function_declaration_diagnostics
Query implementation of crate::db::SemanticGroup::impl_function_declaration_diagnostics.
impl_function_declaration_implicit_precedence
Query implementation of SemanticGroup::impl_function_declaration_implicit_precedence.
impl_function_declaration_implicits
Query implementation of crate::db::SemanticGroup::impl_function_declaration_implicits.
impl_function_declaration_inline_config
Query implementation of crate::db::SemanticGroup::impl_function_declaration_inline_config.
impl_function_generic_params
Query implementation of crate::db::SemanticGroup::impl_function_generic_params.
impl_function_resolver_data
Query implementation of crate::db::SemanticGroup::impl_function_resolver_data.
impl_function_signature
Query implementation of crate::db::SemanticGroup::impl_function_signature.
impl_function_trait_function
Query implementation of crate::db::SemanticGroup::impl_function_trait_function.
impl_functions
Query implementation of crate::db::SemanticGroup::impl_functions.
impl_impl_by_id
Query implementation of crate::db::SemanticGroup::impl_impl_by_id.
impl_impl_by_trait_impl
Query implementation of crate::db::SemanticGroup::impl_impl_by_trait_impl.
impl_impl_concrete_implized
Query implementation of crate::db::SemanticGroup::impl_impl_concrete_implized.
impl_impl_concrete_implized_cycle
Cycle handling for crate::db::SemanticGroup::impl_impl_concrete_implized.
impl_impl_concrete_trait
Query implementation of crate::db::SemanticGroup::impl_impl_concrete_trait.
impl_impl_def_impl
Query implementation of crate::db::SemanticGroup::impl_impl_def_impl.
impl_impl_def_impl_cycle
Cycle handling for crate::db::SemanticGroup::impl_impl_def_impl.
impl_impl_def_resolver_data
Query implementation of crate::db::SemanticGroup::impl_impl_def_resolver_data.
impl_impl_def_semantic_diagnostics
Query implementation of crate::db::SemanticGroup::impl_impl_def_semantic_diagnostics.
impl_impl_def_trait_impl
Query implementation of crate::db::SemanticGroup::impl_impl_def_trait_impl.
impl_impl_ids
Query implementation of crate::db::SemanticGroup::impl_impl_ids.
impl_impl_ids_for_trait_filter
Query implementation of crate::db::SemanticGroup::impl_impl_ids_for_trait_filter.
impl_impl_ids_for_trait_filter_cycle
Cycle handling for crate::db::SemanticGroup::impl_impl_ids_for_trait_filter.
impl_impl_implized_by_context
Query implementation of crate::db::SemanticGroup::impl_impl_implized_by_context.
impl_impl_implized_by_context_cycle
Cycle handling for crate::db::SemanticGroup::impl_impl_implized_by_context.
impl_implicit_impl_by_name
Query implementation of crate::db::SemanticGroup::impl_implicit_impl_by_name.
impl_impls
Query implementation of crate::db::SemanticGroup::impl_impls.
impl_item_by_name
Query implementation of crate::db::SemanticGroup::impl_item_by_name.
impl_semantic_declaration_diagnostics
Query implementation of crate::db::SemanticGroup::impl_semantic_declaration_diagnostics.
impl_semantic_definition_diagnostics
Query implementation of crate::db::SemanticGroup::impl_semantic_definition_diagnostics.
impl_type_by_id
Query implementation of crate::db::SemanticGroup::impl_type_by_id.
impl_type_by_trait_type
Query implementation of crate::db::SemanticGroup::impl_type_by_trait_type.
impl_type_concrete_implized
Query implementation of crate::db::SemanticGroup::impl_type_concrete_implized.
impl_type_concrete_implized_cycle
Cycle handling for crate::db::SemanticGroup::impl_type_concrete_implized.
impl_type_def_attributes
Query implementation of crate::db::SemanticGroup::impl_type_def_attributes.
impl_type_def_generic_params
Query implementation of crate::db::SemanticGroup::impl_type_def_generic_params.
impl_type_def_resolved_type
Query implementation of crate::db::SemanticGroup::impl_type_def_resolved_type.
impl_type_def_resolved_type_cycle
Cycle handling for crate::db::SemanticGroup::impl_type_def_resolved_type.
impl_type_def_resolver_data
Query implementation of crate::db::SemanticGroup::impl_type_def_resolver_data.
impl_type_def_semantic_diagnostics
Query implementation of crate::db::SemanticGroup::impl_type_def_semantic_diagnostics.
impl_type_def_trait_type
Query implementation of crate::db::SemanticGroup::impl_type_def_trait_type.
impl_type_ids
Query implementation of crate::db::SemanticGroup::impl_type_ids.
impl_types
Query implementation of crate::db::SemanticGroup::impl_types.
implicit_impl_impl_impl
Query implementation of crate::db::SemanticGroup::implicit_impl_impl_impl.
implicit_impl_impl_impl_cycle
Cycle handling for crate::db::SemanticGroup::implicit_impl_impl_impl.
implicit_impl_impl_semantic_diagnostics
Query implementation of crate::db::SemanticGroup::implicit_impl_impl_semantic_diagnostics.
infer_impl_by_self
Returns an impl of a given trait function with a given self_ty, as well as the number of snapshots needed to be added to it.
is_implicit_impl_impl
Query implementation of crate::db::SemanticGroup::is_implicit_impl_impl.
module_impl_ids_for_trait_filter
Query implementation of crate::db::SemanticGroup::module_impl_ids_for_trait_filter.
module_impl_ids_for_trait_filter_cycle
Cycle handling for crate::db::SemanticGroup::module_impl_ids_for_trait_filter.
priv_impl_constant_semantic_data
Query implementation of crate::db::SemanticGroup::priv_impl_constant_semantic_data.
priv_impl_constant_semantic_data_cycle
Cycle handling for crate::db::SemanticGroup::priv_impl_constant_semantic_data.
priv_impl_declaration_data
Query implementation of crate::db::SemanticGroup::priv_impl_declaration_data.
priv_impl_declaration_data_cycle
Cycle handling for crate::db::SemanticGroup::priv_impl_declaration_data.
priv_impl_declaration_data_inner
Shared code for the query and cycle handling. The cycle handling logic needs to pass resolve_trait=false to prevent the cycle.
priv_impl_definition_data
Query implementation of crate::db::SemanticGroup::priv_impl_definition_data.
priv_impl_function_body_data
Query implementation of crate::db::SemanticGroup::priv_impl_function_body_data.
priv_impl_function_declaration_data
Query implementation of crate::db::SemanticGroup::priv_impl_function_declaration_data.
priv_impl_function_generic_params_data
Query implementation of crate::db::SemanticGroup::priv_impl_function_generic_params_data.
priv_impl_impl_def_generic_params_data
Query implementation of crate::db::SemanticGroup::priv_impl_impl_def_generic_params_data.
priv_impl_impl_semantic_data
Query implementation of crate::db::SemanticGroup::priv_impl_impl_semantic_data.
priv_impl_impl_semantic_data_cycle
Cycle handling for crate::db::SemanticGroup::priv_impl_impl_semantic_data.
priv_impl_is_fully_concrete
priv_impl_is_var_free
priv_impl_type_def_generic_params_data
Query implementation of crate::db::SemanticGroup::priv_impl_type_def_generic_params_data.
priv_impl_type_semantic_data
Query implementation of crate::db::SemanticGroup::priv_impl_type_semantic_data.
priv_impl_type_semantic_data_cycle
Cycle handling for crate::db::SemanticGroup::priv_impl_type_semantic_data.
priv_implicit_impl_impl_semantic_data
Query implementation of crate::db::SemanticGroup::priv_implicit_impl_impl_semantic_data.
priv_implicit_impl_impl_semantic_data_cycle
Cycle handling for crate::db::SemanticGroup::priv_implicit_impl_impl_semantic_data.