pub struct Punct {
pub(crate) ch: char,
pub(crate) spacing: Spacing,
pub(crate) span: Span,
}
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.
Fields§
§ch: char
§spacing: Spacing
§span: Span
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.