parse_it_macros/
lib.rs

1use parse_it_codegen::syntax::ParseIt;
2
3#[proc_macro]
4pub fn parse_it(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
5    let input = syn::parse_macro_input!(input as ParseIt);
6    let middle = match input.compile() {
7        Ok(middle) => middle,
8        Err(msg) => return msg.into(),
9    };
10    match middle.expand() {
11        Ok(expanded) => expanded.into(),
12        Err(msg) => msg.into(),
13    }
14}