pub enum EnumEncodingTestFailure<T>
where T: Clone + PartialEq + Debug,
{ EncoderFailure(T, String), DecoderFailure(T, String, Vec<u8>), DecodedDiffersFromOriginal { original: T, decoded: T, }, ValueMismatch { enum_name: &'static str, variant_name: &'static str, expected: usize, actual: usize, }, EncodedValueMismatch { enum_name: &'static str, variant_name: &'static str, expected: Vec<u8>, actual: Vec<u8>, }, DecoderWrongErrorOnUnknownValue(u8, String), UnknownDecodesToVariant(u8, T), FailedEq(T), FailedNe(T, T), FailedOrd(T, T), }
Expand description

Failures happening during strict encoding tests of enum encodings.

NB: These errors are specific for testing configuration and should not be used in non-test environment.

Variants§

§

EncoderFailure(T, String)

Failure during encoding enum variant

§

DecoderFailure(T, String, Vec<u8>)

Failure during decoding binary representation of enum variant

§

DecodedDiffersFromOriginal

Fields

§original: T

Original value, which was encoded

§decoded: T

The value resulting from decoding encoded original value

Test case failure representing mismatch between enum variant produced by decoding from the originally encoded enum variant

§

ValueMismatch

Fields

§enum_name: &'static str

Name of the enum being tested

§variant_name: &'static str

Name of the enum variant being tested

§expected: usize

Expected primitive value for the tested enum variant

§actual: usize

Actual primitive value of the tested enum variant

Test case failure representing mismatch between expected enum variant primitive value and the actual primitive value assigned to the enum variant by the rust compiler

§

EncodedValueMismatch

Fields

§enum_name: &'static str

Name of the enum being tested

§variant_name: &'static str

Name of the enum variant being tested

§expected: Vec<u8>

Expected encoded byte string for the tested enum variant

§actual: Vec<u8>

Actual encoded byte string of the tested enum variant

Test case failure representing failed byte string representation of the encoded enum variant

§

DecoderWrongErrorOnUnknownValue(u8, String)

Tuple Fields

§0: u8

Value which was decoded into an enum variant

§1: String

Error which was produced during decoding that value

Test case failure representing incorrect decoder error during processing out-of-enum range value

§

UnknownDecodesToVariant(u8, T)

Tuple Fields

§0: u8

Value which was decoded into an enum variant

§1: T

Enum variant resulting from decoding wrong value

Test case failure representing a out-of-enum range primitive value still being interpreted as one of enum variants

§

FailedEq(T)

Tuple Fields

§0: T

Enum variant which is not equal to itself

Test case failure due to wrong PartialEq or Eq implementation: enum variant is not equal to itself

§

FailedNe(T, T)

Tuple Fields

§0: T

First of two enum variants which are treated as equal

§1: T

Second of two enum variants which are treated as equal

Test case failure due to wrong PartialEq or Eq implementation: two distinct enum variants are still equal

§

FailedOrd(T, T)

Tuple Fields

§0: T

First of two enum variants which are disordered. This variant should smaller than the second one, but Ord operation treats it as a larger one

§1: T

Second of two enum variants which are disordered. This variant should larger than the second one, but Ord operation treats it as a smaller one

Test case failure due to wrong PartialOrd or Ord implementation happening when enum variants ordering is broken

Trait Implementations§

source§

impl<T> Clone for EnumEncodingTestFailure<T>
where T: Clone + PartialEq + Debug + Clone,

source§

fn clone(&self) -> EnumEncodingTestFailure<T>

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<T> Debug for EnumEncodingTestFailure<T>
where T: Clone + PartialEq + Debug + Debug,

source§

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

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

impl<T> Display for EnumEncodingTestFailure<T>
where T: Clone + PartialEq + Debug,

source§

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

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

impl<T> Error for EnumEncodingTestFailure<T>
where T: Clone + PartialEq + Debug,

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl<T> From<EnumEncodingTestFailure<T>> for String
where T: Clone + PartialEq + Debug,

source§

fn from(err: EnumEncodingTestFailure<T>) -> Self

Converts to this type from the input type.
source§

impl<T> PartialEq for EnumEncodingTestFailure<T>
where T: Clone + PartialEq + Debug + PartialEq,

source§

fn eq(&self, other: &EnumEncodingTestFailure<T>) -> 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<T> Eq for EnumEncodingTestFailure<T>
where T: Clone + PartialEq + Debug + Eq,

source§

impl<T> StructuralEq for EnumEncodingTestFailure<T>
where T: Clone + PartialEq + Debug,

source§

impl<T> StructuralPartialEq for EnumEncodingTestFailure<T>
where T: Clone + PartialEq + Debug,

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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
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.