error2_derive/
lib.rs

1mod error2;
2mod generics;
3mod messages;
4mod parser;
5mod types;
6
7use proc_macro::TokenStream;
8use syn::{DeriveInput, parse_macro_input};
9
10#[proc_macro_derive(Error2, attributes(error2))]
11pub fn error2(input: TokenStream) -> TokenStream {
12    let input = parse_macro_input!(input as DeriveInput);
13
14    error2::generate(input)
15        .unwrap_or_else(|e| e.to_compile_error())
16        .into()
17}