Skip to main content

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}