pub struct DisplayErrorContext<E>(pub E)
where
E: Error;
Expand description
Provides a Display
impl for an Error
that outputs the full error context
This utility follows the error cause/source chain and displays every error message in the chain separated by “: “. At the end of the chain, it outputs a debug view of the entire error chain.
§Example
println!("There was an unhandled error: {}", DisplayErrorContext(&err));
Tuple Fields§
§0: E
The error to display full context for
Trait Implementations§
source§impl<E> Debug for DisplayErrorContext<E>
impl<E> Debug for DisplayErrorContext<E>
Auto Trait Implementations§
impl<E> Freeze for DisplayErrorContext<E>where
E: Freeze,
impl<E> RefUnwindSafe for DisplayErrorContext<E>where
E: RefUnwindSafe,
impl<E> Send for DisplayErrorContext<E>where
E: Send,
impl<E> Sync for DisplayErrorContext<E>where
E: Sync,
impl<E> Unpin for DisplayErrorContext<E>where
E: Unpin,
impl<E> UnwindSafe for DisplayErrorContext<E>where
E: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.