Macro synstructure::decl_derive
[−]
[src]
macro_rules! decl_derive { ([$derives:ident $($derive_t:tt)*] => $inner:path) => { ... }; }
The decl_derive!
macro declares a custom derive wrapper. It will parse the
incoming TokenStream
into a synstructure::Structure
object, and pass it
into the inner function.
Your inner function should have the following type:
fn derive(input: synstructure::Structure) -> proc_macro2::TokenStream { unimplemented!() }
Usage
Without Attributes
fn derive_interesting(_input: synstructure::Structure) -> proc_macro2::TokenStream { quote! { ... } } decl_derive!([Interesting] => derive_interesting);
With Attributes
fn derive_interesting(_input: synstructure::Structure) -> proc_macro2::TokenStream { quote! { ... } } decl_derive!([Interesting, attributes(interesting_ignore)] => derive_interesting);