1#[macro_use]
2extern crate quote;
3#[macro_use]
4extern crate syn;
5
6mod dyn_from_into;
7mod message;
8
9#[proc_macro_derive(DynFromInto, attributes())]
10pub fn derive_dyn_from_into(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
11 let input = syn::parse_macro_input!(input as syn::DeriveInput);
12 dyn_from_into::derive(input)
13 .unwrap_or_else(|e| e.to_compile_error())
14 .into()
15}
16
17#[proc_macro_derive(Message, attributes())]
18pub fn derive_message(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
19 let input = parse_macro_input!(input as syn::DeriveInput);
20 message::derive(input)
21 .unwrap_or_else(|e| e.to_compile_error())
22 .into()
23}