noema 0.4.0

Noema IOC and DI framework for Rust
Documentation
1
2
3
4
5
6
7
8
9
10
11
use std::sync::Arc;

/// Resolves every implementation registered for a service type.
pub trait ManyResolver<T: ?Sized + Send + Sync> {
    fn resolve_many() -> Arc<[Arc<T>]>;
}

/// Resolves a keyed service: `K` → `Arc<S>`.
pub trait KeyedResolver<K, S: ?Sized + Send + Sync + 'static> {
    fn resolve_keyed(key: K) -> Option<Arc<S>>;
}