pub enum Kind {
Message(String),
InvalidType(Actual, String),
InvalidValue(Actual, String),
InvalidLength(usize, String),
UnknownVariant(String, &'static [&'static str]),
UnknownField(String, &'static [&'static str]),
MissingField(Cow<'static, str>),
DuplicateField(&'static str),
ISizeOutOfRange(isize),
USizeOutOfRange(usize),
Unsupported(Actual),
UnsupportedKey(Actual, Cow<'static, str>),
}
Expand description
An error kind, encapsulating serde’s serde::de::Error
.
Variants§
Message(String)
A custom error message.
InvalidType(Actual, String)
An invalid type: (actual, expected). See
serde::de::Error::invalid_type()
.
InvalidValue(Actual, String)
An invalid value: (actual, expected). See
serde::de::Error::invalid_value()
.
InvalidLength(usize, String)
Too many or too few items: (actual, expected). See
serde::de::Error::invalid_length()
.
UnknownVariant(String, &'static [&'static str])
A variant with an unrecognized name: (actual, expected). See
serde::de::Error::unknown_variant()
.
UnknownField(String, &'static [&'static str])
A field with an unrecognized name: (actual, expected). See
serde::de::Error::unknown_field()
.
MissingField(Cow<'static, str>)
A field was missing: (name). See serde::de::Error::missing_field()
.
DuplicateField(&'static str)
A field appeared more than once: (name). See
serde::de::Error::duplicate_field()
.
ISizeOutOfRange(isize)
The isize
was not in range of any known sized signed integer.
USizeOutOfRange(usize)
The usize
was not in range of any known sized unsigned integer.
Unsupported(Actual)
The serializer or deserializer does not support the Actual
type.
UnsupportedKey(Actual, Cow<'static, str>)
The type .0
cannot be used for keys, need a .1
.
Trait Implementations§
impl StructuralPartialEq for Kind
Auto Trait Implementations§
impl Freeze for Kind
impl RefUnwindSafe for Kind
impl Send for Kind
impl Sync for Kind
impl Unpin for Kind
impl UnwindSafe for Kind
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
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: 64 bytes
Size for each variant:
Message
: 24 bytesInvalidType
: 56 bytesInvalidValue
: 56 bytesInvalidLength
: 32 bytesUnknownVariant
: 40 bytesUnknownField
: 40 bytesMissingField
: 24 bytesDuplicateField
: 16 bytesISizeOutOfRange
: 8 bytesUSizeOutOfRange
: 8 bytesUnsupported
: 40 bytesUnsupportedKey
: 56 bytes