optionize_macros/lib.rs
1use proc_macro::TokenStream;
2use quote::quote;
3
4mod optionize;
5
6#[proc_macro_attribute]
7pub fn optionized(args: TokenStream, input: TokenStream) -> TokenStream {
8 let input = input.into();
9 optionize::proc(args.into(), &input)
10 .unwrap_or_else(|e| {
11 let e = e.write_errors();
12 quote! {
13 #input
14 #e
15 }
16 })
17 .into()
18}
19
20#[proc_macro_derive(Optionize, attributes(optionize))]
21pub fn derive(_: TokenStream) -> TokenStream {
22 Default::default()
23}