2 unstable releases

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

#952 in Procedural macros

Download history 25/week @ 2024-03-11 17/week @ 2024-03-18 23/week @ 2024-03-25 36/week @ 2024-04-01 15/week @ 2024-04-08 17/week @ 2024-04-15 22/week @ 2024-04-22 14/week @ 2024-04-29 11/week @ 2024-05-06 18/week @ 2024-05-13 22/week @ 2024-05-20 21/week @ 2024-05-27 19/week @ 2024-06-03 27/week @ 2024-06-10 23/week @ 2024-06-17 34/week @ 2024-06-24

104 downloads per month
Used in 8 crates (4 directly)

MIT license

7KB
144 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);
}

Dependencies

~83KB