Struct DetailOnly

Source
pub struct DetailOnly<Detail>(/* private fields */);
Expand description

An ErrorSource that only provides error details but do not provide any trace. This can typically comes from primitive error types that do not implement Error. The Detail type is the error and the returned trace is None.

It is also possible to omit specifying the error as an error source, and instead place it as a field in the error variant. However specifying it as a DetailOnly source may give stronger hint to the reader that the particular error variant is caused by other underlying errors.

Trait Implementations§

Source§

impl<Detail, Trace> ErrorSource<Trace> for DetailOnly<Detail>

Source§

type Detail = Detail

The type of the error detail that can be extracted from the error source
Source§

type Source = Detail

The type of the error source.
Source§

fn error_details(source: Self::Source) -> (Self::Detail, Option<Trace>)

Extracts the error details out from the error source, together with an optional error trace.

Auto Trait Implementations§

§

impl<Detail> Freeze for DetailOnly<Detail>

§

impl<Detail> RefUnwindSafe for DetailOnly<Detail>
where Detail: RefUnwindSafe,

§

impl<Detail> Send for DetailOnly<Detail>
where Detail: Send,

§

impl<Detail> Sync for DetailOnly<Detail>
where Detail: Sync,

§

impl<Detail> Unpin for DetailOnly<Detail>
where Detail: Unpin,

§

impl<Detail> UnwindSafe for DetailOnly<Detail>
where Detail: 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.