Skip to main content

EscapeError

Enum EscapeError 

Source
#[non_exhaustive]
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,
}
🔬This is a nightly-only experimental API. (proc_macro_value #136652)
Expand description

Mostly relating to malformed escape sequences, but also a few other problems.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

ZeroChars

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Expected 1 char, but 0 were found.

§

MoreThanOneChar

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Expected 1 char, but more than 1 were found.

§

LoneSlash

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Escaped ’' character without continuation.

§

InvalidEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Invalid escape character (e.g. ‘\z’).

§

BareCarriageReturn

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Raw ‘\r’ encountered.

§

BareCarriageReturnInRawString

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Raw ‘\r’ encountered in raw string.

§

EscapeOnlyChar

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Unescaped character that was expected to be escaped (e.g. raw ‘\t’).

§

TooShortHexEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Numeric character escape is too short (e.g. ‘\x1’).

§

InvalidCharInHexEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Invalid character in numeric escape (e.g. ‘\xz’)

§

OutOfRangeHexEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Character code in numeric escape is non-ascii (e.g. ‘\xFF’).

§

NoBraceInUnicodeEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

‘\u’ not followed by ‘{’.

§

InvalidCharInUnicodeEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Non-hexadecimal value in ‘\u{..}’.

§

EmptyUnicodeEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

‘\u{}’

§

UnclosedUnicodeEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

No closing brace in ‘\u{..}’, e.g. ‘\u{12’.

§

LeadingUnderscoreUnicodeEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

‘\u{_12}’

§

OverlongUnicodeEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

More than 6 characters in ‘\u{..}’, e.g. ‘\u{10FFFF_FF}’

§

LoneSurrogateUnicodeEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Invalid in-bound unicode character code, e.g. ‘\u{DFFF}’.

§

OutOfRangeUnicodeEscape

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Out of bounds unicode character code, e.g. ‘\u{FFFFFF}’.

§

UnicodeEscapeInByte

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Unicode escape code in byte literal.

§

NonAsciiCharInByte

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

Non-ascii character in byte literal, byte string literal, or raw byte string literal.

§

NulInCStr

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

\0 in a C string literal.

§

UnskippedWhitespaceWarning

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

After a line ending with ’', the next line contains whitespace characters that are not skipped.

§

MultipleSkippedLinesWarning

🔬This is a nightly-only experimental API. (proc_macro_value #136652)

After a line ending with ’', multiple lines are skipped.

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 Display for EscapeError

Source§

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

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

impl Eq for EscapeError

Source§

impl Error for EscapeError

1.30.0 · Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access #99301)
Provides type-based access to context intended for error reports. 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 (const: unstable) · 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 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
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