pub struct NonParseable;Expand description
A unit that can not be parsed. This is useful as diagnostic placeholder for parsers that
are (yet) unimplemented. The nonparseable feature flag controls if Parser and ToTokens
will be implemented for it. This is useful in release builds that should not have any
NonParseable left behind.
§Panics
Only when the nonparseable feature flag is set:
NonParseablewill panic when callingParser::parser().NonParseabletokens can not be emitted and will panic when callingToTokens::to_tokens().
Otherwise Parser and ToTokens are not implemented and will result in a compile time error.
§Example
ⓘ
let mut tokens = "something".to_token_iter();
let nonparseable: NonParseable = tokens.parse().unwrap();Trait Implementations§
Source§impl Clone for NonParseable
impl Clone for NonParseable
Source§fn clone(&self) -> NonParseable
fn clone(&self) -> NonParseable
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NonParseable
impl Debug for NonParseable
Source§impl Parser for NonParseable
Available on crate feature nonparseable only.
impl Parser for NonParseable
Available on crate feature
nonparseable only.Source§fn parser(_tokens: &mut TokenIter) -> Result<NonParseable, Error>
fn parser(_tokens: &mut TokenIter) -> Result<NonParseable, 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 ToTokens for NonParseable
Available on crate feature nonparseable only.
impl ToTokens for NonParseable
Available on crate feature
nonparseable only.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 Freeze for NonParseable
impl RefUnwindSafe for NonParseable
impl Send for NonParseable
impl Sync for NonParseable
impl Unpin for NonParseable
impl UnwindSafe for NonParseable
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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