Enum flexiber::ErrorKind

source ·
#[non_exhaustive]
pub enum ErrorKind { Failed, InvalidClass { value: u8, }, InvalidTag { byte: u8, }, InvalidLength, Length { tag: Tag, }, Overflow, Overlength, TrailingData { decoded: Length, remaining: Length, }, Truncated, Underlength { expected: Length, actual: Length, }, UnexpectedTag { expected: Option<Tag>, actual: Tag, }, UnsupportedTagSize, }
Expand description

Error type.

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

Failed

Operation failed due to previous error

§

InvalidClass

Fields

§value: u8

Class has more than 2 bytes

§

InvalidTag

Fields

§byte: u8

Raw byte value of the tag

Invalid tag

§

InvalidLength

Length greater than u16::MAX

§

Length

Fields

§tag: Tag

Tag type of the value being decoded

Incorrect length for a given field

§

Overflow

Integer overflow occurred (library bug!)

§

Overlength

Message is longer than BER-TLV’s limits support

§

TrailingData

Fields

§decoded: Length

Length of the decoded data

§remaining: Length

Total length of the remaining data left in the buffer

Undecoded trailing data at end of message

§

Truncated

Unexpected end-of-message/nested field when decoding

§

Underlength

Fields

§expected: Length

Expected length

§actual: Length

Actual length

Encoded message is shorter than the expected length (i.e. an Encodable impl on a particular type has a buggy encoded_length)

§

UnexpectedTag

Fields

§expected: Option<Tag>

Tag the decoder was expecting (if there is a single such tag).

None if multiple tags are expected/allowed, but the actual tag does not match any of them.

§actual: Tag

Actual tag encountered in the message

Unexpected tag

§

UnsupportedTagSize

Tag does not fit in 3 bytes

Implementations§

source§

impl ErrorKind

source

pub fn at(self, position: Length) -> Error

Annotate an ErrorKind with context about where it occurred, returning an error.

Trait Implementations§

source§

impl Clone for ErrorKind

source§

fn clone(&self) -> ErrorKind

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
source§

impl Debug for ErrorKind

source§

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

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

impl Display for ErrorKind

source§

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

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

impl From<ErrorKind> for Error

source§

fn from(kind: ErrorKind) -> Error

Converts to this type from the input type.
source§

impl PartialEq for ErrorKind

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for ErrorKind

source§

impl Eq for ErrorKind

source§

impl StructuralEq for ErrorKind

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> 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>,

§

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>,

§

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.