Skip to content

Commit ce29eb1

Browse files
committed
update bench code
Signed-off-by: Yoshua Wuyts <[email protected]>
1 parent daae823 commit ce29eb1

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/lib.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ pub fn test(_attr: TokenStream, item: TokenStream) -> TokenStream {
159159
pub fn bench(_attr: TokenStream, item: TokenStream) -> TokenStream {
160160
let input = syn::parse_macro_input!(item as syn::ItemFn);
161161

162+
let ret = &input.sig.output;
162163
let args = &input.sig.inputs;
163164
let name = &input.sig.ident;
164165
let body = &input.block;
@@ -179,10 +180,12 @@ pub fn bench(_attr: TokenStream, item: TokenStream) -> TokenStream {
179180
let result = quote! {
180181
#[bench]
181182
#(#attrs)*
182-
fn #name(b: &mut test::Bencher) {
183-
b.iter(|| {
184-
let _ = async_std::task::block_on(async { #body });
185-
});
183+
fn #name(b: &mut test::Bencher) #ret {
184+
task::block_on(task::spawn(async {
185+
b.iter(|| {
186+
#body
187+
})
188+
}))
186189
}
187190
};
188191

0 commit comments

Comments
 (0)