Enum ChainError

Source
pub enum ChainError<F, S> {
    First(F),
    Second(S),
}
Expand description

Error returned when chained readers fail. It allows inspecting which reader failed, keeping it’s own error type. For simplicity it can be also merged, if the two errors are convertible to resulting error.

Variants§

§

First(F)

First reader failed.

§

Second(S)

Second reader failed.

Implementations§

Source§

impl<F, S> ChainError<F, S>

Source

pub fn merge<E>(self) -> E
where F: Into<E>, S: Into<E>,

If the two errors can be converted to same type, they can be easily merged by this method. This simply performs the conversion.

Source

pub fn as_ref(&self) -> ChainError<&F, &S>

Get ChainError containing references to errors.

Source

pub fn as_ref_mut(&mut self) -> ChainError<&mut F, &mut S>

Get ChainError containing mutable references to errors.

Trait Implementations§

Source§

impl<F, S> Debug for ChainError<F, S>
where F: Debug, S: Debug,

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<F, S> Freeze for ChainError<F, S>
where F: Freeze, S: Freeze,

§

impl<F, S> RefUnwindSafe for ChainError<F, S>

§

impl<F, S> Send for ChainError<F, S>
where F: Send, S: Send,

§

impl<F, S> Sync for ChainError<F, S>
where F: Sync, S: Sync,

§

impl<F, S> Unpin for ChainError<F, S>
where F: Unpin, S: Unpin,

§

impl<F, S> UnwindSafe for ChainError<F, S>
where F: UnwindSafe, S: 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.