pub trait ServiceProviderExt: ServiceProvider {
// Provided methods
fn get_service<T: 'static + Send + Sync>(&self) -> DiResult<Option<Arc<T>>> { ... }
fn get_required_service<T: 'static + Send + Sync>(&self) -> DiResult<Arc<T>> { ... }
fn get_keyed_service<T: 'static + Send + Sync>(
&self,
key: &str,
) -> DiResult<Option<Arc<T>>> { ... }
fn get_required_keyed_service<T: 'static + Send + Sync>(
&self,
key: &str,
) -> DiResult<Arc<T>> { ... }
fn downcast_arc<T: 'static + Send + Sync>(
&self,
any_arc: Arc<dyn Any + Send + Sync>,
) -> DiResult<Option<Arc<T>>> { ... }
}Expand description
Service provider extension trait - contains generic methods
Provided Methods§
Sourcefn get_service<T: 'static + Send + Sync>(&self) -> DiResult<Option<Arc<T>>>
fn get_service<T: 'static + Send + Sync>(&self) -> DiResult<Option<Arc<T>>>
Get a service of the specified type
Sourcefn get_required_service<T: 'static + Send + Sync>(&self) -> DiResult<Arc<T>>
fn get_required_service<T: 'static + Send + Sync>(&self) -> DiResult<Arc<T>>
Get a required service of the specified type
Sourcefn get_keyed_service<T: 'static + Send + Sync>(
&self,
key: &str,
) -> DiResult<Option<Arc<T>>>
fn get_keyed_service<T: 'static + Send + Sync>( &self, key: &str, ) -> DiResult<Option<Arc<T>>>
Get a service of the specified name and type
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.
Implementors§
impl<T: ServiceProvider + ?Sized> ServiceProviderExt for T
Automatically implement ServiceProviderExt for all types that implement ServiceProvider