Sha256: c93bd9191f26a7599043b397e26822564d9bafaa339a19861182a9909e8a3811

Contents?: true

Size: 1.08 KB

Versions: 11

Compression:

Stored size: 1.08 KB

Contents

use std::error::Error;
use std::panic::UnwindSafe;

pub trait AsDynError<'a>: Sealed {
    fn as_dyn_error(&self) -> &(dyn Error + 'a);
}

impl<'a, T: Error + 'a> AsDynError<'a> for T {
    #[inline]
    fn as_dyn_error(&self) -> &(dyn Error + 'a) {
        self
    }
}

impl<'a> AsDynError<'a> for dyn Error + 'a {
    #[inline]
    fn as_dyn_error(&self) -> &(dyn Error + 'a) {
        self
    }
}

impl<'a> AsDynError<'a> for dyn Error + Send + 'a {
    #[inline]
    fn as_dyn_error(&self) -> &(dyn Error + 'a) {
        self
    }
}

impl<'a> AsDynError<'a> for dyn Error + Send + Sync + 'a {
    #[inline]
    fn as_dyn_error(&self) -> &(dyn Error + 'a) {
        self
    }
}

impl<'a> AsDynError<'a> for dyn Error + Send + Sync + UnwindSafe + 'a {
    #[inline]
    fn as_dyn_error(&self) -> &(dyn Error + 'a) {
        self
    }
}

pub trait Sealed {}
impl<'a, T: Error + 'a> Sealed for T {}
impl<'a> Sealed for dyn Error + 'a {}
impl<'a> Sealed for dyn Error + Send + 'a {}
impl<'a> Sealed for dyn Error + Send + Sync + 'a {}
impl<'a> Sealed for dyn Error + Send + Sync + UnwindSafe + 'a {}

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
wasmtime-10.0.1 ./ext/cargo-vendor/thiserror-1.0.44/src/aserror.rs
wasmtime-10.0.0 ./ext/cargo-vendor/thiserror-1.0.44/src/aserror.rs
wasmtime-9.0.4 ./ext/cargo-vendor/thiserror-1.0.44/src/aserror.rs
wasmtime-9.0.1 ./ext/cargo-vendor/thiserror-1.0.40/src/aserror.rs
wasmtime-8.0.0 ./ext/cargo-vendor/thiserror-1.0.40/src/aserror.rs
wasmtime-7.0.0 ./ext/cargo-vendor/thiserror-1.0.40/src/aserror.rs
wasmtime-6.0.1 ./ext/cargo-vendor/thiserror-1.0.38/src/aserror.rs
wasmtime-6.0.0 ./ext/cargo-vendor/thiserror-1.0.38/src/aserror.rs
wasmtime-5.0.0 ./ext/cargo-vendor/thiserror-1.0.38/src/aserror.rs
wasmtime-0.4.1 ./ext/cargo-vendor/thiserror-1.0.37/src/aserror.rs
wasmtime-0.4.0 ./ext/cargo-vendor/thiserror-1.0.37/src/aserror.rs