pub struct IntoTokenStream<T>(/* private fields */);Expand description
Parses T and keeps it as opaque TokenStream. This is useful when one wants to parse a
sequence of tokens and keep it as opaque unit or re-parse it later as something else.
§Example
let mut token_iter = "foo 123".to_token_iter();
let parsed = <IntoTokenStream<Cons<Ident, LiteralInteger>>>::parser(&mut token_iter).unwrap();
assert_tokens_eq!(parsed, "foo 123");Implementations§
Source§impl<T> IntoTokenStream<T>where
T: ToTokens,
impl<T> IntoTokenStream<T>where
T: ToTokens,
Sourcepub fn from(from: &T) -> IntoTokenStream<T>
pub fn from(from: &T) -> IntoTokenStream<T>
Creates a IntoTokenStream from an AST.
Source§impl<T> IntoTokenStream<T>
impl<T> IntoTokenStream<T>
Sourcepub fn into_inner(self) -> TokenStream
pub fn into_inner(self) -> TokenStream
Destructures IntoTokenStream<T> to get the inner TokenStream.
Methods from Deref<Target = TokenStream>§
Trait Implementations§
Source§impl<T> Debug for IntoTokenStream<T>where
T: Debug,
impl<T> Debug for IntoTokenStream<T>where
T: Debug,
Source§impl<T> Default for IntoTokenStream<T>
Creates a default constructed IntoTokenStream<T> from T
impl<T> Default for IntoTokenStream<T>
Creates a default constructed IntoTokenStream<T> from T
Source§fn default() -> IntoTokenStream<T>
fn default() -> IntoTokenStream<T>
Returns the “default value” for a type. Read more
Source§impl<T> Deref for IntoTokenStream<T>
impl<T> Deref for IntoTokenStream<T>
Source§type Target = TokenStream
type Target = TokenStream
The resulting type after dereferencing.
Source§impl<T> Parser for IntoTokenStream<T>
impl<T> Parser for IntoTokenStream<T>
Source§fn parser(tokens: &mut TokenIter) -> Result<IntoTokenStream<T>, Error>
fn parser(tokens: &mut TokenIter) -> Result<IntoTokenStream<T>, Error>
The actual parsing function that must be implemented. This mutates the
tokens
iterator directly. It should not be called from user code except for implementing
parsers itself and then only when the rules below are followed. Read moreSource§impl<T> ToTokens for IntoTokenStream<T>where
T: ToTokens,
impl<T> ToTokens for IntoTokenStream<T>where
T: ToTokens,
Source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
Source§fn into_token_iter(self) -> TokenIter ⓘwhere
Self: Sized,
fn into_token_iter(self) -> TokenIter ⓘwhere
Self: Sized,
Convert
self into a TokenIter object.Source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
Convert
&self into a TokenStream object.Source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
Convert
self into a TokenStream object.Auto Trait Implementations§
impl<T> Freeze for IntoTokenStream<T>
impl<T> RefUnwindSafe for IntoTokenStream<T>where
T: RefUnwindSafe,
impl<T> !Send for IntoTokenStream<T>
impl<T> !Sync for IntoTokenStream<T>
impl<T> Unpin for IntoTokenStream<T>where
T: Unpin,
impl<T> UnwindSafe for IntoTokenStream<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> DynamicTokens for T
impl<T> DynamicTokens for T
Source§impl<T> Parse for Twhere
T: Parser,
impl<T> Parse for Twhere
T: Parser,
Source§fn parse(tokens: &mut TokenIter) -> Result<Self, Error>
fn parse(tokens: &mut TokenIter) -> Result<Self, Error>
This is the user facing API to parse grammatical entities. Calls a
parser() within a
transaction. Commits changes on success and returns the parsed value. Read more