error[E0277]: the trait bound `TestModule: HasComponent<(dyn DependencyTrait + 'static)>` is not satisfied --> tests/ui/provider_missing_component_dependency.rs:22:1 | 22 | / module! { 23 | | TestModule { 24 | | components = [], 25 | | providers = [ProviderImpl] 26 | | } 27 | | } | |_^ the trait `HasComponent<(dyn DependencyTrait + 'static)>` is not implemented for `TestModule`, which is required by `ProviderImpl: Provider` | = help: the trait `Provider` is implemented for `ProviderImpl` note: required for `ProviderImpl` to implement `Provider` --> tests/ui/provider_missing_component_dependency.rs:14:10 | 14 | #[derive(Provider)] | ^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro 15 | #[shaku(interface = ProviderTrait)] 16 | struct ProviderImpl { | ^^^^^^^^^^^^ = note: this error originates in the macro `module` which comes from the expansion of the derive macro `Provider` (in Nightly builds, run with -Z macro-backtrace for more info) error[E0277]: `TestModule` cannot be shared between threads safely --> tests/ui/provider_missing_component_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` note: required for `ProviderImpl` to implement `Provider` --> tests/ui/provider_missing_component_dependency.rs:14:10 | 14 | #[derive(Provider)] | ^^^^^^^^ unsatisfied trait bound introduced in this `derive` macro 15 | #[shaku(interface = ProviderTrait)] 16 | struct ProviderImpl { | ^^^^^^^^^^^^ note: required because it appears within the type `TestModule` --> tests/ui/provider_missing_component_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 `Provider` (in Nightly builds, run with -Z macro-backtrace for more info)