pub trait TraitSemantic<'db>: Database {
Show 41 methods
// Provided methods
fn trait_semantic_declaration_diagnostics(
&'db self,
trait_id: TraitId<'db>,
) -> Diagnostics<'db, SemanticDiagnostic<'db>> { ... }
fn trait_generic_params(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db [GenericParam<'db>]> { ... }
fn trait_generic_params_ids(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db [GenericParamId<'db>]> { ... }
fn trait_attributes(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db [Attribute<'db>]> { ... }
fn trait_resolver_data(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<Arc<ResolverData<'db>>> { ... }
fn trait_semantic_definition_diagnostics(
&'db self,
trait_id: TraitId<'db>,
) -> Diagnostics<'db, SemanticDiagnostic<'db>> { ... }
fn trait_required_item_names(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashSet<SmolStrId<'db>>> { ... }
fn trait_item_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitItemId<'db>>> { ... }
fn trait_item_info_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitItemInfo<'db>>> { ... }
fn trait_all_used_uses(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashSet<UseId<'db>>> { ... }
fn trait_functions(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitFunctionId<'db>>> { ... }
fn trait_function_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitFunctionId<'db>>> { ... }
fn trait_types(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitTypeId<'db>>> { ... }
fn trait_type_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitTypeId<'db>>> { ... }
fn trait_constants(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitConstantId<'db>>> { ... }
fn trait_constant_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitConstantId<'db>>> { ... }
fn trait_impls(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitImplId<'db>>> { ... }
fn trait_impl_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitImplId<'db>>> { ... }
fn trait_type_generic_params(
&'db self,
trait_type_id: TraitTypeId<'db>,
) -> Maybe<&'db [GenericParam<'db>]> { ... }
fn trait_type_attributes(
&'db self,
trait_type_id: TraitTypeId<'db>,
) -> Maybe<&'db [Attribute<'db>]> { ... }
fn trait_type_resolver_data(
&'db self,
trait_type_id: TraitTypeId<'db>,
) -> Maybe<Arc<ResolverData<'db>>> { ... }
fn trait_constant_attributes(
&'db self,
id: TraitConstantId<'db>,
) -> Maybe<Vec<Attribute<'db>>> { ... }
fn trait_constant_type(
&'db self,
id: TraitConstantId<'db>,
) -> Maybe<TypeId<'db>> { ... }
fn trait_constant_resolver_data(
&'db self,
id: TraitConstantId<'db>,
) -> Maybe<Arc<ResolverData<'db>>> { ... }
fn concrete_trait_constant_type(
&'db self,
concrete_trait_constant_id: ConcreteTraitConstantId<'db>,
) -> Maybe<TypeId<'db>> { ... }
fn trait_impl_concrete_trait(
&'db self,
id: TraitImplId<'db>,
) -> Maybe<ConcreteTraitId<'db>> { ... }
fn trait_impl_resolver_data(
&'db self,
id: TraitImplId<'db>,
) -> Maybe<Arc<ResolverData<'db>>> { ... }
fn concrete_trait_impl_concrete_trait(
&'db self,
concrete_trait_impl_id: ConcreteTraitImplId<'db>,
) -> Maybe<ConcreteTraitId<'db>> { ... }
fn trait_function_declaration_diagnostics(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Diagnostics<'db, SemanticDiagnostic<'db>> { ... }
fn trait_function_signature(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<&'db Signature<'db>> { ... }
fn trait_function_generic_params(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<&'db [GenericParam<'db>]> { ... }
fn trait_function_attributes(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<&'db [Attribute<'db>]> { ... }
fn trait_function_resolver_data(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<Arc<ResolverData<'db>>> { ... }
fn trait_function_declaration_inline_config(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<InlineConfiguration<'db>> { ... }
fn trait_function_declaration_implicit_precedence(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<&'db ImplicitPrecedence<'db>> { ... }
fn trait_function_body_diagnostics(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Diagnostics<'db, SemanticDiagnostic<'db>> { ... }
fn trait_function_body(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<Option<&'db FunctionBody<'db>>> { ... }
fn trait_function_body_resolver_data(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<Option<Arc<ResolverData<'db>>>> { ... }
fn priv_trait_function_body_data(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<Option<&'db FunctionBodyData<'db>>> { ... }
fn concrete_trait_function_generic_params(
&'db self,
concrete_trait_function_id: ConcreteTraitGenericFunctionId<'db>,
) -> Maybe<&'db [GenericParam<'db>]> { ... }
fn concrete_trait_function_signature(
&'db self,
concrete_trait_function_id: ConcreteTraitGenericFunctionId<'db>,
) -> Maybe<&'db Signature<'db>> { ... }
}Expand description
Trait for trait-related semantic queries.
Provided Methods§
Sourcefn trait_semantic_declaration_diagnostics(
&'db self,
trait_id: TraitId<'db>,
) -> Diagnostics<'db, SemanticDiagnostic<'db>>
fn trait_semantic_declaration_diagnostics( &'db self, trait_id: TraitId<'db>, ) -> Diagnostics<'db, SemanticDiagnostic<'db>>
Returns the semantic declaration diagnostics of a trait.
Sourcefn trait_generic_params(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db [GenericParam<'db>]>
fn trait_generic_params( &'db self, trait_id: TraitId<'db>, ) -> Maybe<&'db [GenericParam<'db>]>
Returns the generic parameters of a trait.
Sourcefn trait_generic_params_ids(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db [GenericParamId<'db>]>
fn trait_generic_params_ids( &'db self, trait_id: TraitId<'db>, ) -> Maybe<&'db [GenericParamId<'db>]>
Returns the ids of the generic parameters of a trait.
Sourcefn trait_attributes(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db [Attribute<'db>]>
fn trait_attributes( &'db self, trait_id: TraitId<'db>, ) -> Maybe<&'db [Attribute<'db>]>
Returns the attributes of a trait.
Sourcefn trait_resolver_data(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<Arc<ResolverData<'db>>>
fn trait_resolver_data( &'db self, trait_id: TraitId<'db>, ) -> Maybe<Arc<ResolverData<'db>>>
Returns the resolution resolved_items of a trait.
Sourcefn trait_semantic_definition_diagnostics(
&'db self,
trait_id: TraitId<'db>,
) -> Diagnostics<'db, SemanticDiagnostic<'db>>
fn trait_semantic_definition_diagnostics( &'db self, trait_id: TraitId<'db>, ) -> Diagnostics<'db, SemanticDiagnostic<'db>>
Returns the semantic definition diagnostics of a trait.
Sourcefn trait_required_item_names(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashSet<SmolStrId<'db>>>
fn trait_required_item_names( &'db self, trait_id: TraitId<'db>, ) -> Maybe<&'db OrderedHashSet<SmolStrId<'db>>>
Returns the names of all the non default implemented items of a trait.
Sourcefn trait_item_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitItemId<'db>>>
fn trait_item_by_name( &'db self, trait_id: TraitId<'db>, name: SmolStrId<'db>, ) -> Maybe<Option<TraitItemId<'db>>>
Returns the item of the trait, by the given name, if exists.
Sourcefn trait_item_info_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitItemInfo<'db>>>
fn trait_item_info_by_name( &'db self, trait_id: TraitId<'db>, name: SmolStrId<'db>, ) -> Maybe<Option<TraitItemInfo<'db>>>
Returns the metadata for a trait item, by the given name, if exists.
Sourcefn trait_all_used_uses(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashSet<UseId<'db>>>
fn trait_all_used_uses( &'db self, trait_id: TraitId<'db>, ) -> Maybe<&'db OrderedHashSet<UseId<'db>>>
Returns all the items used within the trait.
Sourcefn trait_functions(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitFunctionId<'db>>>
fn trait_functions( &'db self, trait_id: TraitId<'db>, ) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitFunctionId<'db>>>
Returns the functions of a trait.
Sourcefn trait_function_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitFunctionId<'db>>>
fn trait_function_by_name( &'db self, trait_id: TraitId<'db>, name: SmolStrId<'db>, ) -> Maybe<Option<TraitFunctionId<'db>>>
Returns the function with the given name of the given trait, if exists.
Sourcefn trait_types(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitTypeId<'db>>>
fn trait_types( &'db self, trait_id: TraitId<'db>, ) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitTypeId<'db>>>
Returns the types of a trait.
Sourcefn trait_type_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitTypeId<'db>>>
fn trait_type_by_name( &'db self, trait_id: TraitId<'db>, name: SmolStrId<'db>, ) -> Maybe<Option<TraitTypeId<'db>>>
Returns the item type with the given name of the given trait, if exists.
Sourcefn trait_constants(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitConstantId<'db>>>
fn trait_constants( &'db self, trait_id: TraitId<'db>, ) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitConstantId<'db>>>
Returns the constants of a trait.
Sourcefn trait_constant_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitConstantId<'db>>>
fn trait_constant_by_name( &'db self, trait_id: TraitId<'db>, name: SmolStrId<'db>, ) -> Maybe<Option<TraitConstantId<'db>>>
Returns the item constants with the given name of the given trait, if exists.
Sourcefn trait_impls(
&'db self,
trait_id: TraitId<'db>,
) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitImplId<'db>>>
fn trait_impls( &'db self, trait_id: TraitId<'db>, ) -> Maybe<&'db OrderedHashMap<SmolStrId<'db>, TraitImplId<'db>>>
Returns the constants of a trait.
Sourcefn trait_impl_by_name(
&'db self,
trait_id: TraitId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<TraitImplId<'db>>>
fn trait_impl_by_name( &'db self, trait_id: TraitId<'db>, name: SmolStrId<'db>, ) -> Maybe<Option<TraitImplId<'db>>>
Returns the item impls with the given name of the given trait, if exists.
Sourcefn trait_type_generic_params(
&'db self,
trait_type_id: TraitTypeId<'db>,
) -> Maybe<&'db [GenericParam<'db>]>
fn trait_type_generic_params( &'db self, trait_type_id: TraitTypeId<'db>, ) -> Maybe<&'db [GenericParam<'db>]>
Returns the generic params of a trait type.
Sourcefn trait_type_attributes(
&'db self,
trait_type_id: TraitTypeId<'db>,
) -> Maybe<&'db [Attribute<'db>]>
fn trait_type_attributes( &'db self, trait_type_id: TraitTypeId<'db>, ) -> Maybe<&'db [Attribute<'db>]>
Returns the attributes of a trait type.
Sourcefn trait_type_resolver_data(
&'db self,
trait_type_id: TraitTypeId<'db>,
) -> Maybe<Arc<ResolverData<'db>>>
fn trait_type_resolver_data( &'db self, trait_type_id: TraitTypeId<'db>, ) -> Maybe<Arc<ResolverData<'db>>>
Returns the resolution resolved_items of a trait type.
Sourcefn trait_constant_attributes(
&'db self,
id: TraitConstantId<'db>,
) -> Maybe<Vec<Attribute<'db>>>
fn trait_constant_attributes( &'db self, id: TraitConstantId<'db>, ) -> Maybe<Vec<Attribute<'db>>>
Returns the attributes of a trait constants.
Sourcefn trait_constant_type(
&'db self,
id: TraitConstantId<'db>,
) -> Maybe<TypeId<'db>>
fn trait_constant_type( &'db self, id: TraitConstantId<'db>, ) -> Maybe<TypeId<'db>>
Returns the type of a trait constant.
Sourcefn trait_constant_resolver_data(
&'db self,
id: TraitConstantId<'db>,
) -> Maybe<Arc<ResolverData<'db>>>
fn trait_constant_resolver_data( &'db self, id: TraitConstantId<'db>, ) -> Maybe<Arc<ResolverData<'db>>>
Returns the resolution resolved_items of a trait constants.
Sourcefn concrete_trait_constant_type(
&'db self,
concrete_trait_constant_id: ConcreteTraitConstantId<'db>,
) -> Maybe<TypeId<'db>>
fn concrete_trait_constant_type( &'db self, concrete_trait_constant_id: ConcreteTraitConstantId<'db>, ) -> Maybe<TypeId<'db>>
Returns the type of a trait constant.
Sourcefn trait_impl_concrete_trait(
&'db self,
id: TraitImplId<'db>,
) -> Maybe<ConcreteTraitId<'db>>
fn trait_impl_concrete_trait( &'db self, id: TraitImplId<'db>, ) -> Maybe<ConcreteTraitId<'db>>
Returns the concrete trait of a trait impl.
Sourcefn trait_impl_resolver_data(
&'db self,
id: TraitImplId<'db>,
) -> Maybe<Arc<ResolverData<'db>>>
fn trait_impl_resolver_data( &'db self, id: TraitImplId<'db>, ) -> Maybe<Arc<ResolverData<'db>>>
Returns the resolution resolved_items of a trait impls.
Sourcefn concrete_trait_impl_concrete_trait(
&'db self,
concrete_trait_impl_id: ConcreteTraitImplId<'db>,
) -> Maybe<ConcreteTraitId<'db>>
fn concrete_trait_impl_concrete_trait( &'db self, concrete_trait_impl_id: ConcreteTraitImplId<'db>, ) -> Maybe<ConcreteTraitId<'db>>
Returns the concrete trait of a concrete trait impl.
Sourcefn trait_function_declaration_diagnostics(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Diagnostics<'db, SemanticDiagnostic<'db>>
fn trait_function_declaration_diagnostics( &'db self, trait_function_id: TraitFunctionId<'db>, ) -> Diagnostics<'db, SemanticDiagnostic<'db>>
Returns the semantic diagnostics of a trait function.
Sourcefn trait_function_signature(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<&'db Signature<'db>>
fn trait_function_signature( &'db self, trait_function_id: TraitFunctionId<'db>, ) -> Maybe<&'db Signature<'db>>
Returns the signature of a trait function.
Sourcefn trait_function_generic_params(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<&'db [GenericParam<'db>]>
fn trait_function_generic_params( &'db self, trait_function_id: TraitFunctionId<'db>, ) -> Maybe<&'db [GenericParam<'db>]>
Returns the generic params of a trait function.
Sourcefn trait_function_attributes(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<&'db [Attribute<'db>]>
fn trait_function_attributes( &'db self, trait_function_id: TraitFunctionId<'db>, ) -> Maybe<&'db [Attribute<'db>]>
Returns the attributes of a trait function.
Sourcefn trait_function_resolver_data(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<Arc<ResolverData<'db>>>
fn trait_function_resolver_data( &'db self, trait_function_id: TraitFunctionId<'db>, ) -> Maybe<Arc<ResolverData<'db>>>
Returns the resolver data of a trait function.
Sourcefn trait_function_declaration_inline_config(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<InlineConfiguration<'db>>
fn trait_function_declaration_inline_config( &'db self, trait_function_id: TraitFunctionId<'db>, ) -> Maybe<InlineConfiguration<'db>>
Returns the inline configuration of a trait function’s declaration.
Sourcefn trait_function_declaration_implicit_precedence(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<&'db ImplicitPrecedence<'db>>
fn trait_function_declaration_implicit_precedence( &'db self, trait_function_id: TraitFunctionId<'db>, ) -> Maybe<&'db ImplicitPrecedence<'db>>
Returns the implicits precedence of a trait function.
Sourcefn trait_function_body_diagnostics(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Diagnostics<'db, SemanticDiagnostic<'db>>
fn trait_function_body_diagnostics( &'db self, trait_function_id: TraitFunctionId<'db>, ) -> Diagnostics<'db, SemanticDiagnostic<'db>>
Returns the semantic diagnostics of a trait function definition (declaration + body).
Sourcefn trait_function_body(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<Option<&'db FunctionBody<'db>>>
fn trait_function_body( &'db self, trait_function_id: TraitFunctionId<'db>, ) -> Maybe<Option<&'db FunctionBody<'db>>>
Returns the body of a trait function, if any.
Sourcefn trait_function_body_resolver_data(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<Option<Arc<ResolverData<'db>>>>
fn trait_function_body_resolver_data( &'db self, trait_function_id: TraitFunctionId<'db>, ) -> Maybe<Option<Arc<ResolverData<'db>>>>
Returns the resolution resolved_items of a trait function.
Sourcefn priv_trait_function_body_data(
&'db self,
trait_function_id: TraitFunctionId<'db>,
) -> Maybe<Option<&'db FunctionBodyData<'db>>>
fn priv_trait_function_body_data( &'db self, trait_function_id: TraitFunctionId<'db>, ) -> Maybe<Option<&'db FunctionBodyData<'db>>>
Private query to compute data about a trait function definition (declaration + body)
Sourcefn concrete_trait_function_generic_params(
&'db self,
concrete_trait_function_id: ConcreteTraitGenericFunctionId<'db>,
) -> Maybe<&'db [GenericParam<'db>]>
fn concrete_trait_function_generic_params( &'db self, concrete_trait_function_id: ConcreteTraitGenericFunctionId<'db>, ) -> Maybe<&'db [GenericParam<'db>]>
Returns the generic params of a concrete trait function.
Sourcefn concrete_trait_function_signature(
&'db self,
concrete_trait_function_id: ConcreteTraitGenericFunctionId<'db>,
) -> Maybe<&'db Signature<'db>>
fn concrete_trait_function_signature( &'db self, concrete_trait_function_id: ConcreteTraitGenericFunctionId<'db>, ) -> Maybe<&'db Signature<'db>>
Returns the signature of a concrete trait function.