DecodeError

Enum DecodeError 

Source
#[non_exhaustive]
pub enum DecodeError<E> { VarIntLimit, UnexpectedEof, Deprecation, UnknownWireType, ZeroField, CustomField, Utf8, Capacity, WrongLen, Reader(E), }
Expand description

Protobuf decoder error.

The error is parametrized by the underlying reader’s error type E. Most of the error variants use simple enums to minimize the memory footprint.

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

VarIntLimit

Varint exceeded max length of 10 bytes

§

UnexpectedEof

Reader encountered EOF in the middle of decoding

§

Deprecation

Encountered deprecated wire type

§

UnknownWireType

Unknown Protobuf wire type encountered

§

ZeroField

Field number of 0, which is not allowed

§

CustomField

Custom field decoding returned false for field number that should be recognized

§

Utf8

Decoded string is not valid UTF8

§

Capacity

Exceeded capcity of fixed container for string, bytes, repeated, or map field

§

WrongLen

Actual length of length-delimited record differs from value of length prefix

§

Reader(E)

Error returned from reader

Trait Implementations§

Source§

impl<E: Debug> Debug for DecodeError<E>

Source§

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

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

impl<E> From<Utf8Error> for DecodeError<E>

Source§

fn from(_: Utf8Error) -> Self

Converts to this type from the input type.
Source§

impl<E: PartialEq> PartialEq for DecodeError<E>

Source§

fn eq(&self, other: &DecodeError<E>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<E: Eq> Eq for DecodeError<E>

Source§

impl<E> StructuralPartialEq for DecodeError<E>

Auto Trait Implementations§

§

impl<E> Freeze for DecodeError<E>
where E: Freeze,

§

impl<E> RefUnwindSafe for DecodeError<E>
where E: RefUnwindSafe,

§

impl<E> Send for DecodeError<E>
where E: Send,

§

impl<E> Sync for DecodeError<E>
where E: Sync,

§

impl<E> Unpin for DecodeError<E>
where E: Unpin,

§

impl<E> UnwindSafe for DecodeError<E>
where E: UnwindSafe,

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.