drop_derive/
lib.rs

1use proc_macro2::TokenStream;
2
3use quote::quote;
4
5#[proc_macro_attribute]
6pub fn message(
7    _metadata: proc_macro::TokenStream,
8    input: proc_macro::TokenStream,
9) -> proc_macro::TokenStream {
10    let def: TokenStream = input.into();
11
12    let expanded = quote! {
13        #[derive(Clone, Debug, Serialize, Deserialize)]
14        #def
15    };
16
17    expanded.into()
18}