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) -> Self
pub fn new(ch: char, spacing: Spacing) -> Self
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 Extend<Punct> for TokenStream
impl Extend<Punct> for TokenStream
Source§fn extend<I: IntoIterator<Item = Punct>>(&mut self, tokens: I)
fn extend<I: IntoIterator<Item = Punct>>(&mut self, tokens: I)
Source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one)Source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one)