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§
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)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".