#[provider]Expand description
Generate a [DIProvider] or [AsyncDIProvider] implementation. (attribute macro)
This attribute must be on DIPortal or [AsyncDIPortal] impl block.
ⓘ
trait HogeI {}
struct Hoge {}
// When you needs manual creation logic, define DIPortal implementation.
#[portaldi::provider(HogeI)] // HogeIProvider will be generated.
impl DIPortal for Hoge {
...
}For a trait with generics,
ⓘ
trait HogeI<A> {}
struct Hoge {}
// When you needs manual creation logic, define DIPortal implementation.
#[portaldi::provider(HogeI<A>)] // HogeIAProvider will be generated.
impl DIPortal for Hoge {
...
}You can also generate [DIProvider] for Self type.
ⓘ
struct Hoge {}
// When you needs manual creation logic, define DIPortal implementation.
#[portaldi::provider(Self)] // HogeProvider will be generated.
impl DIPortal for Hoge {
...
}