Struct OpaqueError

Source
pub struct OpaqueError(/* private fields */);
Expand description

A type-erased error type that can be used as a trait object.

Note this type is not intended to be used directly, it is used by rama to hide the concrete error type.

See the module level documentation for more information.

Implementations§

Source§

impl OpaqueError

Source

pub fn from_std(error: impl Error + Send + Sync + 'static) -> Self

create an OpaqueError from an std error

Source

pub fn from_display(msg: impl Display + Debug + Send + Sync + 'static) -> Self

create an OpaqueError from a display object

Source

pub fn from_boxed(inner: BoxError) -> Self

create an OpaqueError from a boxed error

Source

pub fn is<T>(&self) -> bool
where T: Error + 'static,

Returns true if the underlying error is of type T.

Source

pub fn into_boxed(self) -> BoxError

Consumes the OpaqueError and returns it as a BoxError.

Source

pub fn downcast<T>(self) -> Result<T, Self>
where T: Error + 'static,

Attempts to downcast the error to the concrete type T.

Source

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

Attempts to downcast the error to a shared reference of the concrete type T.

Source

pub fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: Error + 'static,

Attempts to downcast the error to the exclusive reference of the concrete type T.

Trait Implementations§

Source§

impl Debug for OpaqueError

Source§

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

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

impl Display for OpaqueError

Source§

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

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

impl Error for OpaqueError

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 From<Box<dyn Error + Send + Sync>> for OpaqueError

Source§

fn from(error: BoxError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

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<Error> ErrorExt for Error
where Error: Error + Send + Sync + 'static,

Source§

fn context<M>(self, context: M) -> OpaqueError
where M: Display + Send + Sync + 'static,

Wrap the error in a context. Read more
Source§

fn with_context<C, F>(self, context: F) -> OpaqueError
where C: Display + Send + Sync + 'static, F: FnOnce() -> C,

Lazily wrap the error with a context. Read more
Source§

fn backtrace(self) -> OpaqueError

Add a Backtrace to the error. Read more
Source§

fn into_opaque(self) -> OpaqueError

Convert the error into an OpaqueError. 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> 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.