| Crates.io | dyn_inject |
| lib.rs | dyn_inject |
| version | 0.1.0 |
| created_at | 2023-04-23 09:56:31.686573+00 |
| updated_at | 2023-04-23 09:56:31.686573+00 |
| description | Rust dependency injection that works with trait objects. |
| homepage | |
| repository | https://github.com/NotAPenguin0/dyn_inject |
| max_upload_size | |
| id | 846454 |
| size | 5,054 |
This crates provides utilities for dependency injection in Rust, also supporting dyn Trait trait objects instead of only static, sized types.
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()
}