pub trait InjectableHelper {
// Required methods
fn extract_dependencies() -> Vec<ServiceId>;
fn create_with_resolver<R: DependencyResolver>(
resolver: &R,
) -> Result<Box<dyn Any + Send + Sync>, CoreError>;
}
Expand description
Helper macro to implement Injectable for services with constructor injection This would typically be provided by a proc macro, but we’ll implement it manually for now
Required Methods§
Sourcefn extract_dependencies() -> Vec<ServiceId>
fn extract_dependencies() -> Vec<ServiceId>
Extract dependencies from constructor signature
Sourcefn create_with_resolver<R: DependencyResolver>(
resolver: &R,
) -> Result<Box<dyn Any + Send + Sync>, CoreError>
fn create_with_resolver<R: DependencyResolver>( resolver: &R, ) -> Result<Box<dyn Any + Send + Sync>, CoreError>
Create instance by resolving constructor parameters
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.