7 releases (breaking)
0.9.0 | Oct 8, 2024 |
---|---|
0.8.0 | Oct 2, 2024 |
0.7.0 | Jul 4, 2023 |
0.5.0 | Jul 3, 2023 |
0.1.0 | Jul 1, 2023 |
#2369 in Procedural macros
481 downloads per month
Used in 13 crates
(via quote2)
9KB
183 lines
quote2
An alternative lightweight version of quote.
Features
-
Very lightweight and produces extremely lean, minimal code compare to
quote
-
Unlike
quote
,quote2
allows direct mutation of tokens without creating newTokenStream
instances, enhancing runtime performance.similar to write macro.
Example
Add it as a dependency to your Rust project by adding the following line to your
Cargo.toml
file:
[dependencies]
quote2 = "0.9"
use quote2::{proc_macro2::TokenStream, quote, Quote};
let body = quote(|t| {
for n in 1..7 {
if n % 2 == 0 {
quote!(t, {
println!("{}", #n);
});
}
}
});
let mut t = TokenStream::new();
quote!(t, {
fn main() {
#body
}
});
Generated code:
fn main() {
println!("{}", 2i32);
println!("{}", 4i32);
println!("{}", 6i32);
}