Struct devise::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§
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
impl Display for Punct
Prints the punctuation character as a string that should be losslessly convertible back into the same character.
source§impl ToTokens for Punct
impl ToTokens for Punct
source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere Self: Sized,
impl Token for Punct
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§
source§impl<T> AstItemExt for Twhere
T: ToTokens,
impl<T> AstItemExt for Twhere T: ToTokens,
fn respanned(&self, span: Span) -> Twhere T: Parse,
fn respanned_tokens(&self, span: Span) -> TokenStream
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> Spanned for Twhere
T: Spanned + ?Sized,
impl<T> Spanned for Twhere T: Spanned + ?Sized,
source§fn span(&self) -> Span
fn span(&self) -> Span
Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty.