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 | | }
| |_^ unsatisfied trait bound
|
help: the trait `HasComponent<(dyn DependencyTrait + 'static)>` is not implemented for `TestModule`
--> tests/ui/component_missing_dependency.rs:22:1
|
22 | / module! {
23 | | TestModule {
| |______________^
help: the trait `HasComponent<<ComponentImpl as shaku::Component<TestModule>>::Interface>` is implemented for `TestModule`
--> tests/ui/component_missing_dependency.rs:22:1
|
22 | / module! {
23 | | TestModule {
| |______________^
note: required for `ComponentImpl` to implement `shaku::Component<TestModule>`
--> tests/ui/component_missing_dependency.rs:16:8
|
14 | #[derive(Component)]
| --------- type parameter would need to implement `shaku::Component<TestModule>`
15 | #[shaku(interface = ComponentTrait)]
16 | struct ComponentImpl {
| ^^^^^^^^^^^^^
= help: consider manually implementing `shaku::Component<TestModule>` to avoid undesired bounds
= note: this error originates in the macro `module` (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`
--> tests/ui/component_missing_dependency.rs:22:1
|
22 | / module! {
23 | | TestModule {
| |______________^
help: the trait `HasComponent<<ComponentImpl as shaku::Component<TestModule>>::Interface>` is implemented for `TestModule`
--> tests/ui/component_missing_dependency.rs:22:1
|
22 | / module! {
23 | | TestModule {
| |______________^
note: required for `ComponentImpl` to implement `shaku::Component<TestModule>`
--> tests/ui/component_missing_dependency.rs:16:8
|
14 | #[derive(Component)]
| --------- type parameter would need to implement `shaku::Component<TestModule>`
15 | #[shaku(interface = ComponentTrait)]
16 | struct ComponentImpl {
| ^^^^^^^^^^^^^
= help: consider manually implementing `shaku::Component<TestModule>` to avoid undesired bounds
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 macro `module` (in Nightly builds, run with -Z macro-backtrace for more info)