Enum rustc_lexer::unescape::EscapeError
source · pub enum EscapeError {
Show 23 variants
ZeroChars,
MoreThanOneChar,
LoneSlash,
InvalidEscape,
BareCarriageReturn,
BareCarriageReturnInRawString,
EscapeOnlyChar,
TooShortHexEscape,
InvalidCharInHexEscape,
OutOfRangeHexEscape,
NoBraceInUnicodeEscape,
InvalidCharInUnicodeEscape,
EmptyUnicodeEscape,
UnclosedUnicodeEscape,
LeadingUnderscoreUnicodeEscape,
OverlongUnicodeEscape,
LoneSurrogateUnicodeEscape,
OutOfRangeUnicodeEscape,
UnicodeEscapeInByte,
NonAsciiCharInByte,
NulInCStr,
UnskippedWhitespaceWarning,
MultipleSkippedLinesWarning,
}
Expand description
Errors and warnings that can occur during string unescaping. They mostly relate to malformed escape sequences, but there are a few that are about other problems.
Variants§
ZeroChars
Expected 1 char, but 0 were found.
MoreThanOneChar
Expected 1 char, but more than 1 were found.
LoneSlash
Escaped ’' character without continuation.
InvalidEscape
Invalid escape character (e.g. ‘\z’).
BareCarriageReturn
Raw ‘\r’ encountered.
BareCarriageReturnInRawString
Raw ‘\r’ encountered in raw string.
EscapeOnlyChar
Unescaped character that was expected to be escaped (e.g. raw ‘\t’).
TooShortHexEscape
Numeric character escape is too short (e.g. ‘\x1’).
InvalidCharInHexEscape
Invalid character in numeric escape (e.g. ‘\xz’)
OutOfRangeHexEscape
Character code in numeric escape is non-ascii (e.g. ‘\xFF’).
NoBraceInUnicodeEscape
‘\u’ not followed by ‘{’.
InvalidCharInUnicodeEscape
Non-hexadecimal value in ‘\u{..}’.
EmptyUnicodeEscape
‘\u{}’
UnclosedUnicodeEscape
No closing brace in ‘\u{..}’, e.g. ‘\u{12’.
LeadingUnderscoreUnicodeEscape
‘\u{_12}’
OverlongUnicodeEscape
More than 6 characters in ‘\u{..}’, e.g. ‘\u{10FFFF_FF}’
LoneSurrogateUnicodeEscape
Invalid in-bound unicode character code, e.g. ‘\u{DFFF}’.
OutOfRangeUnicodeEscape
Out of bounds unicode character code, e.g. ‘\u{FFFFFF}’.
UnicodeEscapeInByte
Unicode escape code in byte literal.
NonAsciiCharInByte
Non-ascii character in byte literal, byte string literal, or raw byte string literal.
NulInCStr
UnskippedWhitespaceWarning
After a line ending with ’', the next line contains whitespace characters that are not skipped.
MultipleSkippedLinesWarning
After a line ending with ’', multiple lines are skipped.
Implementations§
Trait Implementations§
source§impl Debug for EscapeError
impl Debug for EscapeError
source§impl PartialEq for EscapeError
impl PartialEq for EscapeError
source§fn eq(&self, other: &EscapeError) -> bool
fn eq(&self, other: &EscapeError) -> bool
self
and other
values to be equal, and is used
by ==
.impl Eq for EscapeError
impl StructuralPartialEq for EscapeError
Auto Trait Implementations§
impl Freeze for EscapeError
impl RefUnwindSafe for EscapeError
impl Send for EscapeError
impl Sync for EscapeError
impl Unpin for EscapeError
impl UnwindSafe for EscapeError
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
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: 1 byte
Size for each variant:
ZeroChars
: 0 bytesMoreThanOneChar
: 0 bytesLoneSlash
: 0 bytesInvalidEscape
: 0 bytesBareCarriageReturn
: 0 bytesBareCarriageReturnInRawString
: 0 bytesEscapeOnlyChar
: 0 bytesTooShortHexEscape
: 0 bytesInvalidCharInHexEscape
: 0 bytesOutOfRangeHexEscape
: 0 bytesNoBraceInUnicodeEscape
: 0 bytesInvalidCharInUnicodeEscape
: 0 bytesEmptyUnicodeEscape
: 0 bytesUnclosedUnicodeEscape
: 0 bytesLeadingUnderscoreUnicodeEscape
: 0 bytesOverlongUnicodeEscape
: 0 bytesLoneSurrogateUnicodeEscape
: 0 bytesOutOfRangeUnicodeEscape
: 0 bytesUnicodeEscapeInByte
: 0 bytesNonAsciiCharInByte
: 0 bytesNulInCStr
: 0 bytesUnskippedWhitespaceWarning
: 0 bytesMultipleSkippedLinesWarning
: 0 bytes