rustc_lexer::unescape

Enum 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§

Source§

impl EscapeError

Source

pub fn is_fatal(&self) -> bool

Returns true for actual errors, as opposed to warnings.

Trait Implementations§

Source§

impl Debug for EscapeError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for EscapeError

Source§

fn eq(&self, other: &EscapeError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for EscapeError

Source§

impl StructuralPartialEq for EscapeError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

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 bytes
  • MoreThanOneChar: 0 bytes
  • LoneSlash: 0 bytes
  • InvalidEscape: 0 bytes
  • BareCarriageReturn: 0 bytes
  • BareCarriageReturnInRawString: 0 bytes
  • EscapeOnlyChar: 0 bytes
  • TooShortHexEscape: 0 bytes
  • InvalidCharInHexEscape: 0 bytes
  • OutOfRangeHexEscape: 0 bytes
  • NoBraceInUnicodeEscape: 0 bytes
  • InvalidCharInUnicodeEscape: 0 bytes
  • EmptyUnicodeEscape: 0 bytes
  • UnclosedUnicodeEscape: 0 bytes
  • LeadingUnderscoreUnicodeEscape: 0 bytes
  • OverlongUnicodeEscape: 0 bytes
  • LoneSurrogateUnicodeEscape: 0 bytes
  • OutOfRangeUnicodeEscape: 0 bytes
  • UnicodeEscapeInByte: 0 bytes
  • NonAsciiCharInByte: 0 bytes
  • NulInCStr: 0 bytes
  • UnskippedWhitespaceWarning: 0 bytes
  • MultipleSkippedLinesWarning: 0 bytes