Expand description
§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);
}
Re-exports§
pub use proc_macro2;
Modules§
Macros§
- Formatting macro for constructing
Ident
s. - Example
- Example
Structs§
Traits§
- Types that can be interpolated inside a
quote!
invocation.