pub struct Punct { /* private fields */ }
Expand description
A Punct
is a single punctuation character like +
, -
or #
.
Multicharacter operators like +=
are represented as two instances of
Punct
with different forms of Spacing
returned.
Implementations§
Source§impl Punct
impl Punct
Sourcepub fn new(ch: char, spacing: Spacing) -> Punct
pub fn new(ch: char, spacing: Spacing) -> Punct
Creates a new Punct
from the given character and spacing.
The ch
argument must be a valid punctuation character permitted by the
language, otherwise the function will panic.
The returned Punct
will have the default span of Span::call_site()
which can be further configured with the set_span
method below.
Sourcepub fn spacing(&self) -> Spacing
pub fn spacing(&self) -> Spacing
Returns the spacing of this punctuation character, indicating whether
it’s immediately followed by another Punct
in the token stream, so
they can potentially be combined into a multicharacter operator
(Joint
), or it’s followed by some other token or whitespace (Alone
)
so the operator has certainly ended.
Trait Implementations§
Source§impl Display for Punct
Prints the punctuation character as a string that should be losslessly
convertible back into the same character.
impl Display for Punct
Prints the punctuation character as a string that should be losslessly convertible back into the same character.
Source§impl Parser for Punct
impl Parser for Punct
Source§fn parser(
tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>,
) -> Result<Punct, Error>
fn parser( tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>, ) -> Result<Punct, Error>
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 Punct
impl ToTokens for Punct
Source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
&self
to the given TokenStream
.Source§fn to_token_iter(
&self,
) -> ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter> ⓘ
fn to_token_iter( &self, ) -> ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter> ⓘ
&self
into a TokenIter
object.Source§fn into_token_iter<'a>(
self,
) -> ShadowCountedIter<'a, <TokenStream as IntoIterator>::IntoIter> ⓘwhere
Self: Sized,
fn into_token_iter<'a>(
self,
) -> ShadowCountedIter<'a, <TokenStream as IntoIterator>::IntoIter> ⓘwhere
Self: Sized,
self
into a TokenIter
object.Source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
&self
into a TokenStream
object.Source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
self
into a TokenStream
object.Auto Trait Implementations§
impl Freeze for Punct
impl RefUnwindSafe for Punct
impl !Send for Punct
impl !Sync for Punct
impl Unpin for Punct
impl UnwindSafe for Punct
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Parse for Twhere
T: Parser,
impl<T> Parse for Twhere
T: Parser,
Source§fn parse(
tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>,
) -> Result<Self, Error>
fn parse( tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>, ) -> Result<Self, Error>
parser()
within a
transaction. Commits changes on success and returns the parsed value. Read moreSource§fn parse_all(
tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>,
) -> Result<Self, Error>
fn parse_all( tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>, ) -> Result<Self, Error>
EndOfStream
at the end. Thus it will error if parsing is not exhaustive. Read moreSource§fn parse_with<T>(
tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>,
f: impl FnOnce(Self, &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>) -> Result<T, Error>,
) -> Result<T, Error>
fn parse_with<T>( tokens: &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>, f: impl FnOnce(Self, &mut ShadowCountedIter<'_, <TokenStream as IntoIterator>::IntoIter>) -> Result<T, Error>, ) -> Result<T, Error>
FnOnce(Self, &mut TokenIter) -> Result<T>
closure which
creates a new result or returns an Error. Read more