#![allow(dead_code)] #[macro_use] extern crate he_di_derive; extern crate he_di; #[derive(Component)] #[interface(Foo)] struct TestComponent { var1: String, var2: usize, var3: Box, #[inject] var5: Box, } struct OtherStruct { val: usize, } trait Foo { fn foo(&self); } impl Foo for TestComponent { fn foo(&self) { () } } #[test] fn compile_ok() { }