docs.rs failed to build he_di_derive-0.2.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
he_di_derive-0.2.0
he_di provides a derive macro to generate implementations of the
Component traits for data structures defined in your crate,
allowing them to be 'registered' and 'resolved' from a Container
This functionality is based on Rust's #[derive] mechanism,
just like what you would use to automatically derive implementations
of the built-in Clone, Copy, Debug, or other traits.
It is able to generate implementations for most structs.
For now enums including ones with elaborate generic types or
trait bounds. On rare occasions, for an especially convoluted
type you may need to implement the trait manually.
# How-to
These derives require a Rust compiler version 1.15 or newer.
- Add he_di = "0.2" as a dependency in Cargo.toml.
- Add he_di_derive = "0.2" as a dependency in Cargo.toml.
- If you have a main.rs, `add #[macro_use] extern crate he_di_derive` there.
- If you have a lib.rs, add `#[macro_use] extern crate he_di_derive` there.
- Use `#[derive(Component)]` on structs that you want to flag as Component which you want to inject or be injected.
- Specify the interface this Component is implementing through `#[interface(MyTrait)]`
# #[derive(Component)] macro
Supported attributes
- interface: for a struct, name of the Trait that this Component will implement
- inject: for a struct's property, tag a property as being a dependency to another Component (currently only supports `Box