Attribute Macro nject_macro::inject

source ·
#[inject]
Expand description

Attribute to specify a desired injected value.

use nject_macro::{inject, injectable, provider};

#[inject(Self { value: 42 })]
struct DepOne {
    value: i32,
}

#[inject(Self(12, injectable_dep), injectable_dep: DepOne)]
struct DepTwo(i32, DepOne);

#[injectable]
struct Facade(DepOne, DepTwo, #[inject(123)] i32);

#[provider]
struct Provider;

fn main() {
    let _facade: Facade = Provider.provide();
}