[][src]Enum ssb_json_msg_data::json::ErrorCode

pub enum ErrorCode {
    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),
}

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 Clone for ErrorCode[src]

impl Debug for ErrorCode[src]

impl Eq for ErrorCode[src]

impl PartialEq<ErrorCode> for ErrorCode[src]

impl StructuralEq for ErrorCode[src]

impl StructuralPartialEq for ErrorCode[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.