Struct Context

Source
pub struct Context<M, E> { /* private fields */ }
Expand description

Additional level of context, wrapping some error inside itself.

This is produced by the context and implements the additional (outer) layer in the chain. Any number of contexts can be chained together.

Implementations§

Source§

impl<M, E> Context<M, E>

Source

pub fn new(msg: M, error: E) -> Self

A direct constructor for the context.

More usually created by the context, but allowing for construction directly without importing the trait.

Source

pub fn into_inner(self) -> E

Extracts the inner error, peeling off the outer layer.

Source§

impl<M> Context<M, Compat<Error>>

Source

pub fn from_failure(msg: M, failure: Error) -> Self

Constructor of context from a failure’s Error.

This is a compatibility constructor, for wrapping the error of failure. It is enabled by the failure feature.

§Warning

The compatibility layer has no way to access the original causes of the failure. Therefore, the inner layers of the provided failure will be lost and the failure will be considered the innermost level.

Source§

impl<M, F: Fail> Context<M, Compat<F>>

Source

pub fn from_fail(msg: M, failure: F) -> Self

Constructor of context from a failure’s Fail.

This is a compatibility constructor, for wrapping failure. It is enabled by the failure feature.

§Warning

The compatibility layer has no way to access the original causes of the failure. Therefore, the inner layers of the provided failure will be lost and the failure will be considered the innermost level.

Trait Implementations§

Source§

impl<M: Clone, E: Clone> Clone for Context<M, E>

Source§

fn clone(&self) -> Context<M, E>

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<M: Debug, E: Debug> Debug for Context<M, E>

Source§

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

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

impl<M: Display, E> Display for Context<M, E>

Source§

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

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

impl<M: Debug + Display, E: Error + 'static> Error for Context<M, E>

Source§

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

Returns 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<M: Copy, E: Copy> Copy for Context<M, E>

Auto Trait Implementations§

§

impl<M, E> Freeze for Context<M, E>
where M: Freeze, E: Freeze,

§

impl<M, E> RefUnwindSafe for Context<M, E>

§

impl<M, E> Send for Context<M, E>
where M: Send, E: Send,

§

impl<M, E> Sync for Context<M, E>
where M: Sync, E: Sync,

§

impl<M, E> Unpin for Context<M, E>
where M: Unpin, E: Unpin,

§

impl<M, E> UnwindSafe for Context<M, E>
where M: UnwindSafe, 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> AsFail for T
where T: Fail,

Source§

fn as_fail(&self) -> &(dyn Fail + 'static)

Converts a reference to Self into a dynamic trait object of Fail.
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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<E> ErrorExt for E
where E: Error,

Source§

fn context<M>(self, msg: M) -> Context<M, E>
where M: Display,

Wraps the error into another layer of context. Read more
Source§

fn chain(&self) -> Chain<'_>
where E: 'static,

Iterates over all the layers of the error. Read more
Source§

fn find_source<T: Error + 'static>(&self) -> Option<&T>
where Self: 'static,

Looks for an outermost error of the given type. Read more
Source§

fn display<S: Display>(&self, separator: S) -> DisplayChain<'_, S>
where Self: 'static,

Returns a Display representation of the whole chain of errors. Read more
Source§

impl<E> Fail for E
where E: Error + Send + Sync + 'static,

Source§

fn name(&self) -> Option<&str>

Returns the “name” of the error. Read more
Source§

fn cause(&self) -> Option<&(dyn Fail + 'static)>

Returns a reference to the underlying cause of this failure, if it is an error that wraps other errors. Read more
Source§

fn backtrace(&self) -> Option<&Backtrace>

Returns a reference to the Backtrace carried by this failure, if it carries one. Read more
Source§

fn context<D>(self, context: D) -> Context<D>
where D: Display + Send + Sync + 'static, Self: Sized,

Provides context for this failure. Read more
Source§

fn compat(self) -> Compat<Self>
where Self: Sized,

Wraps this failure in a compatibility wrapper that implements std::error::Error. 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,

Source§

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§

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>,

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.