[−][src]Macro genco::nested
👎 Deprecated since 0.5.0:
Use the quote! procedural macro instead.
Helper macro to reduce boilerplate needed with nested token expressions.
All arguments being pushed are cloned, which should be cheap for reference types.
Examples
use genco::{Tokens, Java, Cons}; let mut toks = Tokens::<Java>::new(); // id being cloned. let id = Cons::from(String::from("hello")); nested!(toks, "foo ", id); nested!(toks, "bar ", id); let mut out = Vec::new(); out.push(" foo hello"); out.push(" bar hello"); out.push(""); assert_eq!(out.join("\n").as_str(), toks.to_string().unwrap().as_str());
Pushing as a block:
use genco::{Tokens, Java, Cons}; let mut toks = Tokens::<Java>::new(); // id being cloned. let id = Cons::from(String::from("hello")); nested!(toks, |t| { push!(t, "foo ", id); push!(t, "bar ", id); }); let mut out = Vec::new(); out.push(" foo hello"); out.push(" bar hello"); out.push(""); assert_eq!(out.join("\n").as_str(), toks.to_string().unwrap().as_str());