meslin_derive/
lib.rs

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}