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)