1 2 3 4 5 6 7 8 9 10 11 12 13 14
extern crate proc_macro; use crate::proc_macro::TokenStream; use syn; mod id_getters_derive; #[proc_macro_derive(IdGetters, attributes(id_getters_by_index, id_getters_by_mapping))] pub fn id_getters_derive(input: TokenStream) -> TokenStream { let ast = syn::parse(input).unwrap(); match id_getters_derive::impl_id_getters(&ast) { Ok(obj) => obj, Err(message) => panic!(message), } }