rustystore_macros/
lib.rs

1extern crate proc_macro;
2use proc_macro::TokenStream;
3use quote::quote;
4use syn;
5
6#[proc_macro_derive(Storing)]
7pub fn storing_derive(input: TokenStream) -> TokenStream {
8    let ast = syn::parse(input).unwrap();
9    impl_storing(&ast)
10}
11
12fn impl_storing(ast: &syn::DeriveInput) -> TokenStream {
13    let name = &ast.ident;
14    let gen = quote! {
15        impl Storing for #name {}
16    };
17    gen.into()
18}