Skip to main content

auto_di_macros/
lib.rs

1//! Procedural macro entrypoints for `auto-di`.
2
3use proc_macro::TokenStream;
4
5mod expansion;
6
7macro_rules! attribute {
8    ($name:ident) => {
9        #[proc_macro_attribute]
10        pub fn $name(attribute: TokenStream, item: TokenStream) -> TokenStream {
11            expansion::$name(attribute, item)
12        }
13    };
14}
15
16attribute!(singleton);
17attribute!(qualifier);
18attribute!(application);
19attribute!(configuration_properties);
20attribute!(configuration);
21attribute!(provider);
22attribute!(injectable);
23attribute!(injected);