pub enum LiteralKind {
Verbatim,
Meta,
Superfluous,
Octal,
HexFixed(HexLiteralKind),
HexBrace(HexLiteralKind),
Special(SpecialLiteralKind),
}
Expand description
The kind of a single literal expression.
Variants§
Verbatim
The literal is written verbatim, e.g., a
or ☃
.
Meta
The literal is written as an escape because it is otherwise a special
regex meta character, e.g., \*
or \[
.
Superfluous
The literal is written as an escape despite the fact that the escape is
unnecessary, e.g., \%
or \/
.
Octal
The literal is written as an octal escape, e.g., \141
.
HexFixed(HexLiteralKind)
The literal is written as a hex code with a fixed number of digits
depending on the type of the escape, e.g., \x61
or \u0061
or
\U00000061
.
HexBrace(HexLiteralKind)
The literal is written as a hex code with a bracketed number of digits. The only restriction is that the bracketed hex code must refer to a valid Unicode scalar value.
Special(SpecialLiteralKind)
The literal is written as a specially recognized escape, e.g., \f
or \n
.
Trait Implementations§
Source§impl Clone for LiteralKind
impl Clone for LiteralKind
Source§fn clone(&self) -> LiteralKind
fn clone(&self) -> LiteralKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for LiteralKind
impl Debug for LiteralKind
Source§impl PartialEq for LiteralKind
impl PartialEq 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 2 bytes
Size for each variant:
Verbatim
: 0 bytesMeta
: 0 bytesSuperfluous
: 0 bytesOctal
: 0 bytesHexFixed
: 1 byteHexBrace
: 1 byteSpecial
: 1 byte