error2_derive/
lib.rs

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