trait-kit 0.4.2

Module Standard Interface and Capability Management Center — A lightweight Rust library that provides a standard interface for module definition and Kit capability management.
Documentation
error: cannot find macro `impl_module_meta` in this scope
 --> tests/ui/ready_cannot_build.rs:6:1
  |
6 | impl_module_meta!(MyModule, "my-module");
  | ^^^^^^^^^^^^^^^^

error[E0277]: the trait bound `MyModule: ModuleMeta` is not satisfied
  --> tests/ui/ready_cannot_build.rs:10:5
   |
10 |     fn build(_kit: &Kit) -> Result<Self::Capability, Self::Error> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
   |
help: the trait `ModuleMeta` is not implemented for `MyModule`
  --> tests/ui/ready_cannot_build.rs:5:1
   |
 5 | struct MyModule;
   | ^^^^^^^^^^^^^^^
note: required by a bound in `trait_kit::core::AutoBuilder`
  --> src/core/meta.rs
   |
   | pub trait AutoBuilder: ModuleMeta {
   |                        ^^^^^^^^^^ required by this bound in `AutoBuilder`

error[E0277]: the trait bound `MyModule: ModuleMeta` is not satisfied
 --> tests/ui/ready_cannot_build.rs:7:22
  |
7 | impl AutoBuilder for MyModule {
  |                      ^^^^^^^^ unsatisfied trait bound
  |
help: the trait `ModuleMeta` is not implemented for `MyModule`
 --> tests/ui/ready_cannot_build.rs:5:1
  |
5 | struct MyModule;
  | ^^^^^^^^^^^^^^^
note: required by a bound in `trait_kit::core::AutoBuilder`
 --> src/core/meta.rs
  |
  | pub trait AutoBuilder: ModuleMeta {
  |                        ^^^^^^^^^^ required by this bound in `AutoBuilder`

error[E0599]: no method named `build` found for struct `trait_kit::kit::Kit<trait_kit::kit::Ready>` in the current scope
  --> tests/ui/ready_cannot_build.rs:20:25
   |
20 |     let _double = ready.build().unwrap();
   |                         ^^^^^ this is an associated function, not a method
   |
   = note: found the following associated functions; to be used as methods, functions must have a `self` parameter
note: candidate #1 is defined in the trait `trait_kit::AsyncAutoBuilder`
  --> src/core/meta.rs
   |
   | /     fn build<'a>(
   | |         kit: &'a crate::kit::AsyncKit,
   | |     ) -> Pin<Box<dyn Future<Output = Result<Self::Capability, Self::Error>> + Send + 'a>>;
   | |__________________________________________________________________________________________^
note: candidate #2 is defined in the trait `trait_kit::core::AutoBuilder`
  --> src/core/meta.rs
   |
   |     fn build(kit: &crate::kit::Kit) -> Result<Self::Capability, Self::Error>;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: disambiguate the associated function for candidate #1
   |
20 -     let _double = ready.build().unwrap();
20 +     let _double = <trait_kit::kit::Kit<trait_kit::kit::Ready> as trait_kit::AsyncAutoBuilder>::build(&).unwrap();
   |
help: disambiguate the associated function for candidate #2
   |
20 -     let _double = ready.build().unwrap();
20 +     let _double = <trait_kit::kit::Kit<trait_kit::kit::Ready> as trait_kit::core::AutoBuilder>::build(&).unwrap();
   |