#![forbid(unsafe_code)]
#![deny(clippy::all)]
pub(crate) mod common;
mod referenceable;
mod token_deserialize;
use proc_macro::TokenStream;
use quote::quote;
#[proc_macro_derive(TokenDeserialize, attributes(token_de))]
pub fn token_deserialize_derive(input: TokenStream) -> TokenStream {
let ast = syn::parse(input).unwrap();
let impl_token_deserialize = token_deserialize::impl_token_deserialize_macro(&ast);
let gen = quote! {
#impl_token_deserialize
};
gen.into()
}
#[proc_macro_derive(Referenceable, attributes(referenceable))]
pub fn referenceable_derive(input: TokenStream) -> TokenStream {
let ast = syn::parse(input).unwrap();
let impl_referenceable = referenceable::impl_referenceable_macro(&ast);
let gen = quote! {
#impl_referenceable
};
gen.into()
}