use proc_macro::TokenStream; use syn::{parse_macro_input, Attribute, Meta}; #[proc_macro_attribute] pub fn render (attr: TokenStream, item: TokenStream) -> TokenStream { println!("attr: \"{attr}\""); println!("item: \"{item}\""); let input = syn::parse_macro_input!(attr as Meta); panic!("attr: \"{input:?}\""); item } #[proc_macro_attribute] pub fn handle (attr: TokenStream, item: TokenStream) -> TokenStream { println!("attr: \"{attr}\""); println!("item: \"{item}\""); item }