pub enum LiteralKind {
Int {
base: Base,
empty_int: bool,
},
Float {
base: Base,
empty_exponent: bool,
},
Char {
terminated: bool,
},
Byte {
terminated: bool,
},
Str {
terminated: bool,
},
ByteStr {
terminated: bool,
},
CStr {
terminated: bool,
},
RawStr {
n_hashes: Option<u8>,
},
RawByteStr {
n_hashes: Option<u8>,
},
RawCStr {
n_hashes: Option<u8>,
},
}
Expand description
Enum representing the literal types supported by the lexer.
Note that the suffix is not considered when deciding the LiteralKind
in
this type. This means that float literals like 1f32
are classified by this
type as Int
. (Compare against rustc_ast::token::LitKind
and
rustc_ast::ast::LitKind
).
Variants§
Int
12_u8
, 0o100
, 0b120i99
, 1f32
.
Float
12.34f32
, 1e3
, but not 1f32
.
Char
'a'
, '\\'
, '''
, ';
Byte
b'a'
, b'\\'
, b'''
, b';
Str
"abc"
, "abc
ByteStr
b"abc"
, b"abc
CStr
c"abc"
, c"abc
RawStr
r"abc"
, r#"abc"#
, r####"ab"###"c"####
, r#"a
. None
indicates
an invalid literal.
RawByteStr
br"abc"
, br#"abc"#
, br####"ab"###"c"####
, br#"a
. None
indicates an invalid literal.
RawCStr
cr"abc"
, “cr#“abc”#“, cr#"a
. None
indicates an invalid literal.
Trait Implementations§
Source§impl Clone for LiteralKind
impl Clone for LiteralKind
Source§fn clone(&self) -> LiteralKind
fn clone(&self) -> LiteralKind
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for LiteralKind
impl Debug for LiteralKind
Source§impl Ord for LiteralKind
impl Ord for LiteralKind
Source§fn cmp(&self, other: &LiteralKind) -> Ordering
fn cmp(&self, other: &LiteralKind) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for LiteralKind
impl PartialEq for LiteralKind
Source§impl PartialOrd for LiteralKind
impl PartialOrd for LiteralKind
impl Copy for LiteralKind
impl Eq for LiteralKind
impl StructuralPartialEq for LiteralKind
Auto Trait Implementations§
impl Freeze for LiteralKind
impl RefUnwindSafe for LiteralKind
impl Send for LiteralKind
impl Sync for LiteralKind
impl Unpin for LiteralKind
impl UnwindSafe for LiteralKind
Blanket Implementations§
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
Mutably borrows from an owned value. Read more