INNER CODE UNIT · Rust
criterion
bheisler/criterion.rs · macro/src/lib.rs:7
pub fn criterion(attr: TokenStream, item: TokenStream) -> TokenStream {
let attr = proc_macro2::TokenStream::from(attr);
let item = proc_macro2::TokenStream::from(item);
let span = proc_macro2::Span::call_site();
let init = if stream_length(attr.clone()) != 0 {
attr
}
else {
quote_spanned!(span=> criterion::Criterion::default())
};
let function_name = find_name(item.clone());
let wrapped_name = Ident::new(&format!("criterion_wrapped_{}", function_name.to_string()), span);
let output = quote_spanned!(span=>
#[test_case]