pub trait ModuleSemantic<'db>: Database {
// Provided methods
fn priv_module_semantic_data(
&'db self,
module_id: ModuleId<'db>,
) -> Maybe<&'db ModuleSemanticData<'db>> { ... }
fn module_item_by_name(
&'db self,
module_id: ModuleId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<ModuleItemId<'db>>> { ... }
fn module_item_info_by_name(
&'db self,
module_id: ModuleId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<ModuleItemInfo<'db>>> { ... }
fn module_all_used_uses(
&'db self,
module_id: ModuleId<'db>,
) -> Maybe<&'db OrderedHashSet<UseId<'db>>> { ... }
fn module_attributes(
&'db self,
module_id: ModuleId<'db>,
) -> Maybe<&'db [Attribute<'db>]> { ... }
fn module_usable_trait_ids(
&'db self,
module_id: ModuleId<'db>,
) -> &'db OrderedHashMap<TraitId<'db>, LookupItemId<'db>> { ... }
fn get_prelude_submodule(
&'db self,
settings: &CrateSettings,
) -> Option<ModuleId<'db>> { ... }
}Expand description
Trait for module-related semantic queries.
Provided Methods§
Sourcefn priv_module_semantic_data(
&'db self,
module_id: ModuleId<'db>,
) -> Maybe<&'db ModuleSemanticData<'db>>
fn priv_module_semantic_data( &'db self, module_id: ModuleId<'db>, ) -> Maybe<&'db ModuleSemanticData<'db>>
Private query to compute data about the module.
Sourcefn module_item_by_name(
&'db self,
module_id: ModuleId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<ModuleItemId<'db>>>
fn module_item_by_name( &'db self, module_id: ModuleId<'db>, name: SmolStrId<'db>, ) -> Maybe<Option<ModuleItemId<'db>>>
Returns Maybe::Err if the module was not properly resolved. Returns [Maybe::Ok(None)] if the item does not exist.
Sourcefn module_item_info_by_name(
&'db self,
module_id: ModuleId<'db>,
name: SmolStrId<'db>,
) -> Maybe<Option<ModuleItemInfo<'db>>>
fn module_item_info_by_name( &'db self, module_id: ModuleId<'db>, name: SmolStrId<'db>, ) -> Maybe<Option<ModuleItemInfo<'db>>>
Returns Maybe::Err if the module was not properly resolved. Returns [Maybe::Ok(None)] if the item does not exist.
Sourcefn module_all_used_uses(
&'db self,
module_id: ModuleId<'db>,
) -> Maybe<&'db OrderedHashSet<UseId<'db>>>
fn module_all_used_uses( &'db self, module_id: ModuleId<'db>, ) -> Maybe<&'db OrderedHashSet<UseId<'db>>>
Returns all the items used within the module.
Sourcefn module_attributes(
&'db self,
module_id: ModuleId<'db>,
) -> Maybe<&'db [Attribute<'db>]>
fn module_attributes( &'db self, module_id: ModuleId<'db>, ) -> Maybe<&'db [Attribute<'db>]>
Returns the attributes of a module.
Sourcefn module_usable_trait_ids(
&'db self,
module_id: ModuleId<'db>,
) -> &'db OrderedHashMap<TraitId<'db>, LookupItemId<'db>>
fn module_usable_trait_ids( &'db self, module_id: ModuleId<'db>, ) -> &'db OrderedHashMap<TraitId<'db>, LookupItemId<'db>>
Finds all the trait ids usable in the module.
Sourcefn get_prelude_submodule(
&'db self,
settings: &CrateSettings,
) -> Option<ModuleId<'db>>
fn get_prelude_submodule( &'db self, settings: &CrateSettings, ) -> Option<ModuleId<'db>>
Finds the prelude submodule of the core module according to the crate settings.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".