Struct TraceError

Source
pub struct TraceError<E>(/* private fields */);
Expand description

An ErrorSource that should implement Error and other constraints such as Send, Sync, 'static, so that it can be traced by error tracing libraries such as eyre and anyhow. Because these libraries take ownership of the source error object, the error cannot be extracted as detail at the same time.

Trait Implementations§

Source§

impl<E, Tracer> ErrorSource<Tracer> for TraceError<E>
where Tracer: ErrorTracer<E>,

Source§

type Detail = ()

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

type Source = E

The type of the error source.
Source§

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

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

Auto Trait Implementations§

§

impl<E> Freeze for TraceError<E>

§

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

§

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

§

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

§

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

§

impl<E> UnwindSafe for TraceError<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.