pub struct TokenStream(_);
The main type provided by this crate, representing an abstract stream of
tokens, or, more specifically, a sequence of token trees.
The type provide interfaces for iterating over those token trees and, conversely,
collecting a number of token trees into one stream.
This is both the input and output of #[proc_macro], #[proc_macro_attribute]
and #[proc_macro_derive] definitions.
Returns an empty TokenStream containing no token trees.
Checks if this TokenStream is empty.
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Performs copy-assignment from source. Read more
Creates a token stream containing a single token tree.
Extends a collection with the contents of an iterator. Read more
Extends a collection with the contents of an iterator. Read more
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.
Formats the value using the given formatter. Read more
Prints token in a form convenient for debugging.
Formats the value using the given formatter. Read more
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.
All tokens in the parsed stream get Span::call_site() spans.
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.
Parses a string s to return a value of this type. Read more
Collects a number of token trees into a single stream.
A "flattening" operation on token streams, collects token trees
from multiple token streams into a single stream.
Converts the given value to a String. Read more
type Item = <I as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = I
Which kind of iterator are we turning this into?
type Owned = T
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into #41263)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
type Error = !
🔬 This is a nightly-only experimental API. (
try_from #33417)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (
try_from #33417)
Immutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id #27745)
this method will likely be replaced by an associated static
type Error = <U as TryFrom<T>>::Error
🔬 This is a nightly-only experimental API. (
try_from #33417)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (
try_from #33417)
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (rustc_private #27812)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?
Create an error for a missing method specialization. Defaults to panicking with type, trait & method names. S is the encoder/decoder state type, T is the type being encoded/decoded, and the arguments are the names of the trait and method that should've been overridden. Read more