use proc_macro::TokenStream;
use quote::quote;
use syn::{ItemFn, parse_macro_input};
#[proc_macro_attribute]
pub fn async_test(_attr: TokenStream, item: TokenStream) -> TokenStream {
let input = parse_macro_input!(item as ItemFn);
let output = quote! {
#[cfg_attr(feature = "tokio", tokio::test)]
#[cfg_attr(all(any(feature = "futures"), not(feature = "tokio")), apply(test!))]
#input
};
output.into()
}