Rust di containers system
Library required Rust nightly
```rust
use anthill_di::{ builders::ContainerBuilder, Injector, Injection, DiError };
use tokio::runtime::Runtime;
trait TextGetter: Sync + Send { fn get(&self) -> String; } struct StructWithText { text: String, }
impl crate::Injection for StructWithText {
fn buildinjection(: &mut crate::Injector) -> Result
impl TextGetter for StructWithText { fn get(&self) -> String { self.text.clone() } }
struct TextBox {
#[allow(deadcode)]
textgetter: Box
impl crate::Injection for TextBox {
fn buildinjection(injector: &mut crate::Injector) -> Result
fn main() { let rt = Runtime::new().unwrap();
rt.block_on(async {
let containers = vec![
crate::builders::ContainerBuilder::bind_interface::<dyn TextGetter, StructWithText>().build(),
crate::builders::ContainerBuilder::bind_type::<TextBox>().build(),
];
let injector = crate::Injector::new(containers).await;
let obj = injector.write().await.get_new_instance::<TextBox>().unwrap();
assert_eq!(obj.text_getter.get(), "test".to_string());
});
}
```