1 2 3 4 5 6 7 8 9 10 11 12
extern crate proc_macro; use proc_macro::TokenStream; use quote::quote; use syn::{parse_macro_input, DeriveInput}; #[proc_macro_derive(SerdeAny)] pub fn libafl_serdeany_derive(input: TokenStream) -> TokenStream { let name = parse_macro_input!(input as DeriveInput).ident; TokenStream::from(quote! { libafl::impl_serdeany!(#name); }) }