Enum merde::MerdeError
source · #[non_exhaustive]pub enum MerdeError {
MismatchedType {
expected: ValueType,
found: ValueType,
},
MissingProperty(CowStr<'static>),
IndexOutOfBounds {
index: usize,
len: usize,
},
UnknownProperty(String),
OutOfRange,
MissingValue,
InvalidKey,
InvalidDateTimeValue,
Io(Error),
}Expand description
A grab-bag of errors that can occur when deserializing. This isn’t super clean, not my proudest moment.
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.
MismatchedType
We expected a certain type but got a different one.
Note that the default implementations of crate::ValueDeserialize have tolerances:
if we expect a u32 but get a floating-point number, we’ll round it.
MissingProperty(CowStr<'static>)
We expected an object to have a certain property, but it was missing.
IndexOutOfBounds
We tried to access an array index that was out of bounds.
UnknownProperty(String)
We encountered a property that we didn’t expect.
OutOfRange
For example, we had a u8 field but the JSON value was bigger than u8::MAX.
MissingValue
A field was missing (but we don’t know its name)
InvalidKey
While calling out to FromStr::from_str to build a HashMap, we got an error.
InvalidDateTimeValue
While parsing a datetime, we got an error
Io(Error)
An I/O error occurred.
Trait Implementations§
source§impl Debug for MerdeError
impl Debug for MerdeError
source§impl Display for MerdeError
impl Display for MerdeError
source§impl Error for MerdeError
impl Error for MerdeError
1.30.0 · source§fn source(&self) -> Option<&(dyn Error + 'static)>
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
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
source§impl From<Error> for MerdeError
impl From<Error> for MerdeError
source§fn from(e: Error) -> MerdeError
fn from(e: Error) -> MerdeError
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for MerdeError
impl !RefUnwindSafe for MerdeError
impl Send for MerdeError
impl Sync for MerdeError
impl Unpin for MerdeError
impl !UnwindSafe for MerdeError
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
Mutably borrows from an owned value. Read more