async_trait_static/
lib.rs1mod async_trait;
2mod parse;
3mod ritit;
4use parse::Item;
7use proc_macro::TokenStream;
8use quote::quote;
9use syn::parse_macro_input;
10
11#[proc_macro_attribute]
12pub fn async_trait(_arg: TokenStream, input: TokenStream) -> TokenStream {
13 let mut item = parse_macro_input!(input as Item);
14 async_trait::expand(&mut item);
15 let tk = quote! {
16 #item
17 };
18 let impl_tk = TokenStream::from(tk);
19 ritit(_arg, impl_tk)
20}
21
22#[proc_macro_attribute]
23pub fn ritit(_arg: TokenStream, input: TokenStream) -> TokenStream {
24 let item = parse_macro_input!(input as Item);
25 ritit::expand(item)
26}