error2_derive/lib.rs
1mod error_ext;
2
3use proc_macro::TokenStream;
4use syn::{DeriveInput, parse_macro_input};
5
6#[proc_macro_derive(ErrorExt, attributes(error2))]
7pub fn error_ext(input: TokenStream) -> TokenStream {
8 let input = parse_macro_input!(input as DeriveInput);
9
10 error_ext::generate(input)
11 .unwrap_or_else(|e| e.to_compile_error())
12 .into()
13}