1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
#![recursion_limit = "128"] extern crate proc_macro; mod attr; mod bound; mod de; mod ser; use proc_macro::TokenStream; use syn::{parse_macro_input, DeriveInput}; #[proc_macro_derive(Serialize, attributes(serde))] pub fn derive_serialize(input: TokenStream) -> TokenStream { ser::derive(parse_macro_input!(input as DeriveInput)) } #[proc_macro_derive(Deserialize, attributes(serde))] pub fn derive_deserialize(input: TokenStream) -> TokenStream { de::derive(parse_macro_input!(input as DeriveInput)) }