Struct proc_macro2::TokenStream[][src]

pub struct TokenStream { /* fields omitted */ }

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[src]

pub fn new() -> TokenStream[src]

Returns an empty TokenStream containing no token trees.

pub fn is_empty(&self) -> bool[src]

Checks if this TokenStream is empty.

Trait Implementations

impl Clone for TokenStream[src]

impl Debug for TokenStream[src]

Prints token in a form convenient for debugging.

impl Default for TokenStream[src]

TokenStream::default() returns an empty stream, i.e. this is equivalent with TokenStream::new().

impl Display for TokenStream[src]

Prints the token stream as a string that is supposed to be losslessly convertible back into the same token stream (modulo spans), except for possibly TokenTree::Groups with Delimiter::None delimiters and negative numeric literals.

impl Extend<TokenStream> for TokenStream[src]

impl Extend<TokenTree> for TokenStream[src]

impl From<TokenStream> for TokenStream[src]

impl From<TokenTree> for TokenStream[src]

impl FromIterator<TokenStream> for TokenStream[src]

impl FromIterator<TokenTree> for TokenStream[src]

Collects a number of token trees into a single stream.

impl FromStr for TokenStream[src]

Attempts to break the string into tokens and parse those tokens into a token stream.

May fail for a number of reasons, for example, if the string contains unbalanced delimiters or characters not existing in the language.

NOTE: Some errors may cause panics instead of returning LexError. We reserve the right to change these errors into LexErrors later.

type Err = LexError

The associated error which can be returned from parsing.

impl IntoIterator for TokenStream[src]

type Item = TokenTree

The type of the elements being iterated over.

type IntoIter = IntoIter

Which kind of iterator are we turning this into?

Auto Trait Implementations

impl RefUnwindSafe for TokenStream

impl !Send for TokenStream

impl !Sync for TokenStream

impl Unpin for TokenStream

impl UnwindSafe for TokenStream

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.