#[non_exhaustive]
pub enum Lit {
Str(LitStr),
ByteStr(LitByteStr),
Byte(LitByte),
Char(LitChar),
Int(LitInt),
Float(LitFloat),
Bool(LitBool),
Verbatim(Literal),
}
Expand description
A Rust literal such as a string or integer or boolean.
Syntax tree enum
This type is a syntax tree enum.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Str(LitStr)
A UTF-8 string literal: "foo"
.
ByteStr(LitByteStr)
A byte string literal: b"foo"
.
Byte(LitByte)
A byte literal: b'f'
.
Char(LitChar)
A character literal: 'a'
.
Int(LitInt)
An integer literal: 1
or 1u16
.
Float(LitFloat)
A floating point literal: 1f64
or 1.0e10f64
.
Must be finite. May not be infinite or NaN.
Bool(LitBool)
A boolean literal: true
or false
.
Verbatim(Literal)
A raw token literal not interpreted by Syn.
Implementations§
Trait Implementations§
source§impl From<LitByteStr> for Lit
impl From<LitByteStr> for Lit
source§fn from(e: LitByteStr) -> Lit
fn from(e: LitByteStr) -> Lit
Converts to this type from the input type.
source§impl ToTokens for Lit
impl ToTokens for Lit
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 Lit
Auto Trait Implementations§
impl RefUnwindSafe for Lit
impl !Send for Lit
impl !Sync for Lit
impl Unpin for Lit
impl UnwindSafe for Lit
Blanket Implementations§
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
Returns a
Span
covering the complete contents of this syntax tree
node, or Span::call_site()
if this node is empty.