pub trait TypedComponentDefinitionRegistry {
// Required methods
fn register_component_typed<T: Component>(
&mut self,
metadata: &ComponentMetadata,
) -> Result<(), ComponentDefinitionRegistryError>;
fn register_alias_typed<Source: ComponentDowncast<Target> + ?Sized, Target: Component>(
&mut self,
metadata: &ComponentAliasMetadata,
) -> Result<(), ComponentDefinitionRegistryError>;
fn components_by_type_typed<T: Injectable + ?Sized>(
&self,
) -> Vec<ComponentDefinition>;
fn primary_component_typed<T: Injectable + ?Sized>(
&self,
) -> Option<ComponentDefinition>;
fn is_registered_typed<T: Injectable>(&self) -> bool;
}Expand description
Helper trait for ComponentDefinitionRegistry providing strongly-typed access.
Required Methods§
Sourcefn register_component_typed<T: Component>(
&mut self,
metadata: &ComponentMetadata,
) -> Result<(), ComponentDefinitionRegistryError>
fn register_component_typed<T: Component>( &mut self, metadata: &ComponentMetadata, ) -> Result<(), ComponentDefinitionRegistryError>
Typesafe version of ComponentDefinitionRegistry::register_component.
Sourcefn register_alias_typed<Source: ComponentDowncast<Target> + ?Sized, Target: Component>(
&mut self,
metadata: &ComponentAliasMetadata,
) -> Result<(), ComponentDefinitionRegistryError>
fn register_alias_typed<Source: ComponentDowncast<Target> + ?Sized, Target: Component>( &mut self, metadata: &ComponentAliasMetadata, ) -> Result<(), ComponentDefinitionRegistryError>
Typesafe version of ComponentDefinitionRegistry::register_alias.
Sourcefn components_by_type_typed<T: Injectable + ?Sized>(
&self,
) -> Vec<ComponentDefinition>
fn components_by_type_typed<T: Injectable + ?Sized>( &self, ) -> Vec<ComponentDefinition>
Typesafe version of ComponentDefinitionRegistry::components_by_type.
Sourcefn primary_component_typed<T: Injectable + ?Sized>(
&self,
) -> Option<ComponentDefinition>
fn primary_component_typed<T: Injectable + ?Sized>( &self, ) -> Option<ComponentDefinition>
Typesafe version of ComponentDefinitionRegistry::primary_component.
Sourcefn is_registered_typed<T: Injectable>(&self) -> bool
fn is_registered_typed<T: Injectable>(&self) -> bool
Typesafe version of ComponentDefinitionRegistry::is_registered.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.