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