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, char, and byte unescaping.

Mostly relating to malformed escape sequences, but also a few 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

\0 in a C string literal.

§

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.

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