Trait IntoReportCompat

Source
pub trait IntoReportCompat: Sized {
    type Ok;
    type Err;

    // Required method
    fn into_report(self) -> Result<Self::Ok, Report<Self::Err>>;
}
Expand description

Compatibility trait to convert from external libraries to Report.

Note: It’s not possible to implement Context on other error libraries’ types from within error-stack as the trait has a blanket implementation relying on Error. Thus, implementing the trait would violate the orphan rule; the upstream crate could implement Error and this would imply an implementation for Context. This also implies, that it’s not possible to implement ResultExt from within error-stack.

Required Associated Types§

Source

type Ok

Type of the Ok value in the Result

Source

type Err

Type of the resulting Err variant wrapped inside a Report<E>.

Required Methods§

Source

fn into_report(self) -> Result<Self::Ok, Report<Self::Err>>

Converts the Err variant of the Result to a Report

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T> IntoReportCompat for Result<T, Error>

Available on crate feature anyhow only.
Source§

impl<T> IntoReportCompat for Result<T, Report>

Available on crate feature eyre only.

Implementors§