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}