pub enum ErrorCode {
Show 32 variants
UnexpectedEndOfInput,
Syntax,
Comma,
Colon,
Digit,
HexDigit,
UnicodeEscape,
SurrogatePair(InvalidUtf16Tuple),
TrailingSurrogate,
UnescapedControlCodePoint,
InvalidEscape,
InvalidUtf8String,
InvalidNumber,
TrailingCharacters,
OutOfBoundsI8,
OutOfBoundsI16,
OutOfBoundsI32,
OutOfBoundsI64,
OutOfBoundsU8,
OutOfBoundsU16,
OutOfBoundsU32,
OutOfBoundsU64,
NotAChar,
Base64(DecodeError),
ExpectedBool,
ExpectedNumber,
ExpectedString,
ExpectedNull,
ExpectedArray,
ExpectedObject,
ExpectedEnum,
Message(String),
}
Expand description
Everything that can go wrong during deserialization.
Variants§
UnexpectedEndOfInput
Expected more data but the input ended.
Syntax
A generic syntax error. Any valid json would have been ok, but alas…
Comma
Expected a comma (,
) to separate collection elements.
Colon
Expected a colon (:
) to separate a key from a value.
Digit
Expected a decimal digit. Didn’t get one. Sad times.
HexDigit
Expected hexadecimal digit as part of a unicode escape sequence in a string.
UnicodeEscape
Expected a unicode escape (because we just parsed a unicode escape of a leading surrogate codepoint).
SurrogatePair(InvalidUtf16Tuple)
Could not merge two unicode escapes into a single code point.
TrailingSurrogate
A unicode escape encoded a trailing surrogate codepoint without a preceding leading surrogate codepoint.
UnescapedControlCodePoint
A string contained an unescaped control code point.
InvalidEscape
A string contained a backslash followed by a non-escape character.
InvalidUtf8String
A string literal contains a non-utf8 byte sequence.
InvalidNumber
A number is valid json but it evaluates to -0 or an infinity
TrailingCharacters
The input contained valid json followed by at least one non-whitespace byte.
OutOfBoundsI8
Attempted to parse a number as an i8
that was out of bounds.
OutOfBoundsI16
Attempted to parse a number as an i16
that was out of bounds.
OutOfBoundsI32
Attempted to parse a number as an i32
that was out of bounds.
OutOfBoundsI64
Attempted to parse a number as an i64
that was less than -2^53 or greater than 2^53.
OutOfBoundsU8
Attempted to parse a number as an u8
that was out of bounds.
OutOfBoundsU16
Attempted to parse a number as an u16
that was out of bounds.
OutOfBoundsU32
Attempted to parse a number as an u32
that was out of bounds.
OutOfBoundsU64
Attempted to parse a number as an u64
that was greater than 2^53.
NotAChar
Chars are represented as strings that contain one unicode scalar value.
Base64(DecodeError)
Attempted to read a string as base64-encoded bytes, but the string was not valid base64.
ExpectedBool
Expected a boolean, found something else.
ExpectedNumber
Expected a number, found something else.
ExpectedString
Expected a string, found something else.
ExpectedNull
Expected null, found something else.
ExpectedArray
Expected an array, found something else.
ExpectedObject
Expected an object, found something else.
ExpectedEnum
Expected an enum, found something else.
Message(String)
Custom, stringly-typed error.
Trait Implementations§
impl Eq for ErrorCode
impl StructuralPartialEq for ErrorCode
Auto Trait Implementations§
impl Freeze for ErrorCode
impl RefUnwindSafe for ErrorCode
impl Send for ErrorCode
impl Sync for ErrorCode
impl Unpin for ErrorCode
impl UnwindSafe for ErrorCode
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.