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]

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…