Skip to main content

ErrorKind

Enum ErrorKind 

Source
#[non_exhaustive]
pub enum ErrorKind {
Show 16 variants Syntax, EndOfFile, LimitExceeded, InvalidType, InvalidValue, OutOfRange, WrongLength, MissingField, UnknownField, UnknownVariant, DuplicateKey, UnsupportedType, InvalidState, Configuration, Io, Custom,
}
Expand description

Describes the kind of error.

The kind determines the ErrorCategory of an error (see Error::category): the formats fail with Syntax, EndOfFile and LimitExceeded if the input is not well-formed, the values with the kinds of the Data category if it is well-formed but does not fit them.

More kinds may be added in the future.

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

Syntax

The input is not well-formed.

This covers what the grammar of the format rejects (including data after the end of the input and input that is not validly encoded) and documents that are invalid in the format (like an unknown alias in YAML or rows of different lengths in CSV).

§

EndOfFile

The input ended before the value was complete or is empty.

§

LimitExceeded

A limit was exceeded (see Limits), like the depth of nesting or the length of the input.

§

InvalidType

A value has a type that is not expected (like a string where a number is expected).

§

InvalidValue

A value has the type that is expected but is invalid (like text that is not a number where a number is expected, or a value that a validator rejects).

§

OutOfRange

A number is out of the range of the type it’s converted to.

§

WrongLength

A sequence or bytes have a length that is not expected.

§

MissingField

A field (or the tag of an enum) is missing.

§

UnknownField

A field is not known (see #[deser(deny_unknown_fields)]).

§

UnknownVariant

A variant of an enum is not known, or no variant of an untagged enum matches.

§

DuplicateKey

A key is given more than once (see DuplicateKeys).

§

UnsupportedType

A type or value cannot be represented: the format does not support it, or the type cannot be deserialized from what the format provides (like a &str from a string that is not borrowed).

§

InvalidState

An API is used in a way that is not supported, for instance a stream that failed is used again or a serializer receives events that do not form a value.

§

Configuration

deser is set up wrongly, for instance the variants of an open enum are not registered or two of them have the same name. These are bugs in the program, not problems of the input.

§

Io

Reading or writing failed (see deser::io). The IO error is the source of the error.

§

Custom

An error which has none of the other kinds.

The category of these errors depends on where they come from (see Error::category).

Trait Implementations§

Source§

impl Clone for ErrorKind

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for ErrorKind

Source§

impl Debug for ErrorKind

Source§

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

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

impl Eq for ErrorKind

Source§

impl PartialEq for ErrorKind

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ErrorKind

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

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

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

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

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.