async_trait_static/
lib.rs

1mod async_trait;
2mod parse;
3mod ritit;
4// mod selector;
5
6use 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}