macro_rules! stream {
($($tt:tt)*) => { ... };
}Expand description
TokenStream quasi-quoting macro.
This is not a replacement for quote::quote!. It’s slower and does not
support variable interpolation. It is intended for cases where
interpolation must be avoided entirely.
§Examples
use met::stream;
use quote::quote;
let a = stream! {
impl MyTrait for MyStruct {}
};
let b = quote! {
impl MyTrait for MyStruct {}
};
assert_stream_eq!(a, b);When # is followed by an ident, quote! performs variable
interpolation, but stream! does not.
use met::stream;
use quote::quote;
let variable = 5;
let a = stream! { # variable };
let b = quote! { # variable };
// Not equal, `stream!` doesn't interpolate!
assert_stream_ne!(a, b);