Expand description
§quote2
An alternative lightweight version of quote.
§Features
-
Very lightweight and produces extremely lean, minimal code compare to
quote -
Unlike
quote,quote2allows direct mutation of tokens without creating newTokenStreaminstances, 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);
}Re-exports§
pub use proc_macro2;
Modules§
Macros§
- format_
ident - Formatting macro for constructing
Idents. - quote
- Example
- quote_
spanned - Example