Struct proc_macro2::Punct
source · [−]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
sourceimpl 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
Auto Trait Implementations
impl RefUnwindSafe for Punct
impl !Send for Punct
impl !Sync for Punct
impl Unpin for Punct
impl UnwindSafe for Punct
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more