Struct TokenStream
pub struct TokenStream { /* private fields */ }
An abstract stream of tokens, or more concretely a sequence of token trees.
This type provides interfaces for iterating over token trees and for collecting token trees into one stream.
Token stream is both the input and output of #[proc_macro],
#[proc_macro_attribute] and #[proc_macro_derive] definitions.
Implementations
impl TokenStream
fn new() -> SelfReturns an empty
TokenStreamcontaining no token trees.fn is_empty(&self) -> boolChecks if this
TokenStreamis empty.
Trait Implementations
impl Clone for TokenStream
fn clone(&self) -> TokenStream
impl Debug for TokenStream
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Default for TokenStream
fn default() -> Self
impl Display for TokenStream
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Extend<Group> for TokenStream
fn extend<I: IntoIterator<Item = Group>>(&mut self, tokens: I)
impl Extend<Ident> for TokenStream
fn extend<I: IntoIterator<Item = Ident>>(&mut self, tokens: I)
impl Extend<Literal> for TokenStream
fn extend<I: IntoIterator<Item = Literal>>(&mut self, tokens: I)
impl Extend<Punct> for TokenStream
fn extend<I: IntoIterator<Item = Punct>>(&mut self, tokens: I)
impl Extend<TokenStream> for TokenStream
fn extend<I: IntoIterator<Item = TokenStream>>(&mut self, streams: I)
impl Extend<TokenTree> for TokenStream
fn extend<I: IntoIterator<Item = TokenTree>>(&mut self, tokens: I)
impl From<TokenStream> for TokenStream
fn from(inner: TokenStream) -> Self
impl From<TokenTree> for TokenStream
fn from(token: TokenTree) -> Self
impl FromIterator<TokenStream> for TokenStream
fn from_iter<I: IntoIterator<Item = TokenStream>>(streams: I) -> Self
impl FromIterator<TokenTree> for TokenStream
fn from_iter<I: IntoIterator<Item = TokenTree>>(tokens: I) -> Self
impl FromStr for TokenStream
type Err = LexError;fn from_str(src: &str) -> Result<TokenStream, LexError>
impl IntoIterator for TokenStream
type Item = TokenTree;type IntoIter = IntoIter;fn into_iter(self) -> IntoIter
Auto Trait Implementations
impl !Send for TokenStream
impl !Sync for TokenStream
impl Freeze for TokenStream
impl RefUnwindSafe for TokenStream
impl Unpin for TokenStream
impl UnsafeUnpin for TokenStream
impl UnwindSafe for TokenStream
Blanket Implementations
impl<T> Any for TokenStream
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for TokenStream
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for TokenStream
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for TokenStream
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for TokenStream
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for TokenStream
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T> ToString for TokenStream
where
T: Display + ?Sized,
fn to_string(&self) -> String
impl<T, U> Into<U> for TokenStream
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for TokenStream
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for TokenStream
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>