1 2 3 4 5 6 7 8 9 10 11 12 13
extern crate proc_macro; #[proc_macro] pub fn id(input: proc_macro::TokenStream) -> proc_macro::TokenStream { eprintln!("id!({})", input); input } #[proc_macro_attribute] pub fn id_attr(attr: proc_macro::TokenStream, input: proc_macro::TokenStream) -> proc_macro::TokenStream { eprintln!("id_attr!({}, {})", attr, input); input }