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

#621 in Procedural macros

Download history 4/week @ 2024-02-03 7/week @ 2024-02-10 18/week @ 2024-02-17 129/week @ 2024-02-24 26/week @ 2024-03-02 22/week @ 2024-03-09 21/week @ 2024-03-16 23/week @ 2024-03-23 32/week @ 2024-03-30 18/week @ 2024-04-06 21/week @ 2024-04-13 16/week @ 2024-04-20

88 downloads per month
Used in 4 crates (2 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

~90KB