pub enum ErrorKind {
Io(Error),
InvalidUtf8Encoding(Utf8Error),
InvalidBoolEncoding(u8),
InvalidCharEncoding,
InvalidTagEncoding(usize),
DeserializeAnyNotSupported,
SizeLimit,
SequenceMustHaveLength,
Custom(String),
}
Expand description
The kind of error that can be produced during a serialization or deserialization.
Variants§
Io(Error)
If the error stems from the reader/writer that is being used during (de)serialization, that error will be stored and returned here.
InvalidUtf8Encoding(Utf8Error)
Returned if the deserializer attempts to deserialize a string that is not valid utf8
InvalidBoolEncoding(u8)
Returned if the deserializer attempts to deserialize a bool that was not encoded as either a 1 or a 0
InvalidCharEncoding
Returned if the deserializer attempts to deserialize a char that is not in the correct format.
InvalidTagEncoding(usize)
Returned if the deserializer attempts to deserialize the tag of an enum that is not in the expected ranges
DeserializeAnyNotSupported
Serde has a deserialize_any method that lets the format hint to the object which route to take in deserializing.
SizeLimit
If (de)serializing a message takes more than the provided size limit, this error is returned.
SequenceMustHaveLength
Bincode can not encode sequences of unknown length (like iterators).
Custom(String)
A custom error message from Serde.
Trait Implementations§
Source§impl Error for ErrorKind
impl Error for ErrorKind
Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§fn cause(&self) -> Option<&dyn Error>
fn cause(&self) -> Option<&dyn Error>
Auto Trait Implementations§
impl Freeze for ErrorKind
impl !RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl !UnwindSafe for ErrorKind
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
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: 24 bytes
Size for each variant:
Io
: 16 bytesInvalidUtf8Encoding
: 24 bytesInvalidBoolEncoding
: 9 bytesInvalidCharEncoding
: 0 bytesInvalidTagEncoding
: 16 bytesDeserializeAnyNotSupported
: 0 bytesSizeLimit
: 0 bytesSequenceMustHaveLength
: 0 bytesCustom
: 24 bytes