diff options
author | HampusM <hampus@hampusmat.com> | 2022-07-09 22:01:25 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2022-07-09 22:01:25 +0200 |
commit | dda28f312ac87e84b6daed1ace7b2bcc3e47f71d (patch) | |
tree | 163e34b439170f7027be8a2ec77fa533f4bd1c0b /syrette_macros | |
parent | b5149091a263b373cb1302d197a79ea94653d826 (diff) |
docs: add documentation comments
Diffstat (limited to 'syrette_macros')
-rw-r--r-- | syrette_macros/src/lib.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/syrette_macros/src/lib.rs b/syrette_macros/src/lib.rs index 3fd8a59..faf338c 100644 --- a/syrette_macros/src/lib.rs +++ b/syrette_macros/src/lib.rs @@ -141,6 +141,30 @@ fn get_dependency_types(item_impl: &ItemImpl) -> Vec<Type> ); } +/// Makes a struct injectable. Therefore usable with `DIContainer`. +/// +/// # Arguments +/// +/// * A interface trait the struct implements. +/// +/// # Examples +/// ``` +/// trait IConfigReader +/// { +/// fn read_config() -> Config; +/// } +/// +/// struct ConfigReader {} +/// +/// #[injectable(IConfigReader)] +/// impl IConfigReader for ConfigReader +/// { +/// fn read_config() -> Config +/// { +/// // Stuff here +/// } +/// } +/// ``` #[proc_macro_attribute] pub fn injectable(args_stream: TokenStream, impl_stream: TokenStream) -> TokenStream { @@ -205,6 +229,7 @@ pub fn injectable(args_stream: TokenStream, impl_stream: TokenStream) -> TokenSt .into() } +#[doc(hidden)] #[proc_macro] pub fn castable_to(input: TokenStream) -> TokenStream { |