pub trait TokenStreamExt: Sealed {
// Required methods
fn append<U>(&mut self, token: U)
where U: Into<TokenTree>;
fn append_all<I>(&mut self, iter: I)
where I: IntoIterator,
<I as IntoIterator>::Item: ToTokens;
fn append_separated<I, U>(&mut self, iter: I, op: U)
where I: IntoIterator,
<I as IntoIterator>::Item: ToTokens,
U: ToTokens;
fn append_terminated<I, U>(&mut self, iter: I, term: U)
where I: IntoIterator,
<I as IntoIterator>::Item: ToTokens,
U: ToTokens;
}
Expand description
TokenStream extension trait with methods for appending tokens.
This trait is sealed and cannot be implemented outside of the quote
crate.
Required Methods§
Sourcefn append<U>(&mut self, token: U)
fn append<U>(&mut self, token: U)
For use by ToTokens
implementations.
Appends the token specified to this list of tokens.
Sourcefn append_all<I>(&mut self, iter: I)
fn append_all<I>(&mut self, iter: I)
For use by ToTokens
implementations.
struct X;
impl ToTokens for X {
fn to_tokens(&self, tokens: &mut TokenStream) {
tokens.append_all(&[true, false]);
}
}
let tokens = quote!(#X);
assert_eq!(tokens.to_string(), "true false");
Sourcefn append_separated<I, U>(&mut self, iter: I, op: U)
fn append_separated<I, U>(&mut self, iter: I, op: U)
For use by ToTokens
implementations.
Appends all of the items in the iterator I
, separated by the tokens
U
.
Sourcefn append_terminated<I, U>(&mut self, iter: I, term: U)
fn append_terminated<I, U>(&mut self, iter: I, term: U)
For use by ToTokens
implementations.
Appends all tokens in the iterator I
, appending U
after each
element, including after the last element of the iterator.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.