optionize-macros 0.1.0

The procedural macro engine powering the optionize crate
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use proc_macro::TokenStream;

mod optionize;

#[proc_macro_attribute]
pub fn optionized(args: TokenStream, input: TokenStream) -> TokenStream {
    optionize::proc(args.into(), input.into())
        .unwrap_or_else(|e| e.write_errors())
        .into()
}

#[proc_macro_derive(Optionize, attributes(optionize))]
pub fn derive(input: TokenStream) -> TokenStream {
    optionize::derive(input.into())
        .unwrap_or_else(|e| e.write_errors())
        .into()
}