shaku 0.6.2

Compile Time Dependency Injection for Rust
Documentation
error[E0277]: the trait bound `TestModule: HasComponent<(dyn DependencyTrait + 'static)>` is not satisfied
  --> tests/ui/component_missing_dependency.rs:22:1
   |
22 | / module! {
23 | |     TestModule {
24 | |         components = [ComponentImpl],
25 | |         providers = []
26 | |     }
27 | | }
   | |_^ the trait `HasComponent<(dyn DependencyTrait + 'static)>` is not implemented for `TestModule`, which is required by `ComponentImpl: shaku::Component<TestModule>`
   |
   = help: the trait `HasComponent<<ComponentImpl as shaku::Component<TestModule>>::Interface>` is implemented for `TestModule`
note: required for `ComponentImpl` to implement `shaku::Component<TestModule>`
  --> tests/ui/component_missing_dependency.rs:14:10
   |
14 | #[derive(Component)]
   |          ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
15 | #[shaku(interface = ComponentTrait)]
16 | struct ComponentImpl {
   |        ^^^^^^^^^^^^^
   = note: this error originates in the macro `module` which comes from the expansion of the derive macro `Component` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: `TestModule` cannot be shared between threads safely
  --> tests/ui/component_missing_dependency.rs:23:5
   |
23 |     TestModule {
   |     ^^^^^^^^^^ `TestModule` cannot be shared between threads safely
   |
   = help: the trait `HasComponent<(dyn DependencyTrait + 'static)>` is not implemented for `TestModule`, which is required by `TestModule: ModuleInterface`
   = help: the trait `HasComponent<<ComponentImpl as shaku::Component<TestModule>>::Interface>` is implemented for `TestModule`
note: required for `ComponentImpl` to implement `shaku::Component<TestModule>`
  --> tests/ui/component_missing_dependency.rs:14:10
   |
14 | #[derive(Component)]
   |          ^^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro
15 | #[shaku(interface = ComponentTrait)]
16 | struct ComponentImpl {
   |        ^^^^^^^^^^^^^
note: required because it appears within the type `TestModule`
  --> tests/ui/component_missing_dependency.rs:23:5
   |
23 |     TestModule {
   |     ^^^^^^^^^^
   = note: required for `TestModule` to implement `ModuleInterface`
note: required by a bound in `Module`
  --> src/module/module_traits.rs
   |
   | pub trait Module: ModuleInterface {
   |                   ^^^^^^^^^^^^^^^ required by this bound in `Module`
   = note: this error originates in the derive macro `Component` (in Nightly builds, run with -Z macro-backtrace for more info)