1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
extern crate proc_macro; use quote::quote; use syn::parse_macro_input; #[proc_macro_attribute] pub fn state( _args: proc_macro::TokenStream, input: proc_macro::TokenStream, ) -> proc_macro::TokenStream { let item_struct = parse_macro_input!(input as syn::ItemStruct); proc_macro::TokenStream::from(quote! { #[account] #item_struct }) }