Crate dyn_inject
source ·Expand description
This crates provides utilities for dependency injection in Rust,
also supporting dyn Trait
trait objects instead of only static, sized types.
Example
use dyn_inject::Registry;
trait Foo {
fn foo();
}
struct Bar;
impl Foo for Bar {
fn foo() {
println!("Hello");
}
}
fn main() {
let mut registry = Registry::new();
registry.put_dyn::<dyn Foo>(Bar);
// Calls Bar::foo()
registry.get_dyn::<dyn Foo>().unwrap().foo();
}
Re-exports
pub use registry::Registry;