pub struct PunctJoint<const C: char>;Expand description
A single character punctuation token where the lexer joined it with the next Punct or a
single quote followed by a identifier (rust lifetime).
§Example
// The TokenStream::from_str() keeps the ':::'
let mut token_iter = ":::".to_token_iter();
let colon = PunctJoint::<':'>::parse(&mut token_iter).unwrap();
let colon = PunctJoint::<':'>::parse(&mut token_iter).unwrap();
let colon = PunctAny::<':'>::parse(&mut token_iter).unwrap();
// Caveat: The quote! macro won't join ':::' together
// let mut token_iter = quote::quote! {:::}.into_iter();
//
// let colon = PunctJoint::<':'>::parse(&mut token_iter).unwrap();
// let colon = PunctAny::<':'>::parse(&mut token_iter).unwrap();
// let colon = PunctAny::<':'>::parse(&mut token_iter).unwrap();Implementations§
Source§impl<const C: char> PunctJoint<C>
impl<const C: char> PunctJoint<C>
Sourcepub const fn new() -> PunctJoint<C>
pub const fn new() -> PunctJoint<C>
Create a new PunctJoint object.
Trait Implementations§
Source§impl<const C: char> Clone for PunctJoint<C>
impl<const C: char> Clone for PunctJoint<C>
Source§fn clone(&self) -> PunctJoint<C>
fn clone(&self) -> PunctJoint<C>
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<const C: char> Debug for PunctJoint<C>
impl<const C: char> Debug for PunctJoint<C>
Source§impl<const C: char> Default for PunctJoint<C>
impl<const C: char> Default for PunctJoint<C>
Source§fn default() -> PunctJoint<C>
fn default() -> PunctJoint<C>
Returns the “default value” for a type. Read more
Source§impl<const C: char> From<PunctJoint<C>> for TokenTree
Convert a PunctJoint object into a TokenTree.
impl<const C: char> From<PunctJoint<C>> for TokenTree
Convert a PunctJoint object into a TokenTree.
Source§fn from(_: PunctJoint<C>) -> TokenTree
fn from(_: PunctJoint<C>) -> TokenTree
Converts to this type from the input type.
Source§impl<const C: char> Parser for PunctJoint<C>
impl<const C: char> Parser for PunctJoint<C>
Source§fn parser(tokens: &mut TokenIter) -> Result<PunctJoint<C>, Error>
fn parser(tokens: &mut TokenIter) -> Result<PunctJoint<C>, 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<const C: char> ToTokens for PunctJoint<C>
impl<const C: char> ToTokens for PunctJoint<C>
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<const C: char> Freeze for PunctJoint<C>
impl<const C: char> RefUnwindSafe for PunctJoint<C>
impl<const C: char> Send for PunctJoint<C>
impl<const C: char> Sync for PunctJoint<C>
impl<const C: char> Unpin for PunctJoint<C>
impl<const C: char> UnwindSafe for PunctJoint<C>
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