optional_struct_export 0.4.1

Helper crate exporting the proc_macro as an actual proc_macro for the optional_struct crate
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use optional_struct_macro_impl::opt_struct;
use quote::quote;

#[proc_macro_attribute]
pub fn optional_struct(
    attr: proc_macro::TokenStream,
    input: proc_macro::TokenStream,
) -> proc_macro::TokenStream {
    let out = opt_struct(attr.into(), input.into());
    let original = out.original;
    let generated = out.generated;
    proc_macro::TokenStream::from(quote! {
        #original

        #generated
    })
}