#quote #proc-macro #version #tokens #quote2

macro quote2-macros

An alternative lightweight version of quote

5 releases (breaking)

0.7.0 Jul 4, 2023
0.5.0 Jul 3, 2023
0.3.0 Jul 3, 2023
0.2.0 Jul 1, 2023
0.1.0 Jul 1, 2023

#108 in #quote

Download history 5/week @ 2024-01-08 8/week @ 2024-02-05 8/week @ 2024-02-12 17/week @ 2024-02-19 136/week @ 2024-02-26 27/week @ 2024-03-04 28/week @ 2024-03-11 21/week @ 2024-03-18 32/week @ 2024-03-25 52/week @ 2024-04-01

138 downloads per month
Used in 5 crates (via quote2)

MIT license

8KB
176 lines

An alternative lightweight version of quote.

Unlike quote, this library avoids cloning whenever possible.

Example

Add it as a dependency to your Rust project by adding the following line to your Cargo.toml file:

[dependencies]
quote2 = "0.7"
use quote2::{proc_macro2::TokenStream, quote, Quote};

let body = quote(|tokens| {
    for i in 0..3 {
        quote!(tokens, {
            println!("{}", #i);
        });
    }
});

let mut tokens = TokenStream::new();
quote!(tokens, {
    fn name() {
        #body
    }
});

Generated code:

fn name() {
    println!("{}", 0i32);
    println!("{}", 1i32);
    println!("{}", 2i32);
}

No runtime deps