Skip to main content

IProvider

Trait IProvider 

Source
pub trait IProvider: IServiceResolver {
    // Required methods
    fn get_named_any(&self, name: &str) -> Option<Arc<dyn Any + Send + Sync>>;
    fn rdi_register_named(
        &self,
        name: &str,
        service: Arc<dyn Any + Send + Sync>,
    );
    fn rdi_remove_named(&self, name: &str);
}
Expand description

Unified provider trait for service resolution and named registry access.

ServiceProvider, Scope, and ServiceProviderWrapper all implement this trait, enabling polymorphic dispatch via Arc<dyn IProvider> instead of enum matching.

Required Methods§

Source

fn get_named_any(&self, name: &str) -> Option<Arc<dyn Any + Send + Sync>>

Source

fn rdi_register_named(&self, name: &str, service: Arc<dyn Any + Send + Sync>)

Source

fn rdi_remove_named(&self, name: &str)

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§