pub trait StdError: Debug + Display {
    // Provided methods
    fn source(&self) -> Option<&(dyn Error + 'static)> { ... }
    fn description(&self) -> &str { ... }
    fn cause(&self) -> Option<&dyn Error> { ... }
    fn provide<'a>(&'a self, request: &mut Request<'a>) { ... }
}
Expand description

Error is a trait representing the basic expectations for error values, i.e., values of type E in Result<T, E>.

Errors must describe themselves through the Display and Debug traits. Error messages are typically concise lowercase sentences without trailing punctuation:

let err = "NaN".parse::<u32>().unwrap_err();
assert_eq!(err.to_string(), "invalid digit found in string");

Errors may provide cause information. Error::source() is generally used when errors cross “abstraction boundaries”. If one module must report an error that is caused by an error from a lower-level module, it can allow accessing that error via Error::source(). This makes it possible for the high-level module to provide its own errors while also revealing some of the implementation for debugging.

Provided Methods§

1.30.0 · source

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

The lower-level source of this error, if any.

§Examples
use std::error::Error;
use std::fmt;

#[derive(Debug)]
struct SuperError {
    source: SuperErrorSideKick,
}

impl fmt::Display for SuperError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "SuperError is here!")
    }
}

impl Error for SuperError {
    fn source(&self) -> Option<&(dyn Error + 'static)> {
        Some(&self.source)
    }
}

#[derive(Debug)]
struct SuperErrorSideKick;

impl fmt::Display for SuperErrorSideKick {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "SuperErrorSideKick is here!")
    }
}

impl Error for SuperErrorSideKick {}

fn get_super_error() -> Result<(), SuperError> {
    Err(SuperError { source: SuperErrorSideKick })
}

fn main() {
    match get_super_error() {
        Err(e) => {
            println!("Error: {e}");
            println!("Caused by: {}", e.source().unwrap());
        }
        _ => println!("No error"),
    }
}
source

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
if let Err(e) = "xc".parse::<u32>() {
    // Print `e` itself, no need for description().
    eprintln!("Error: {e}");
}
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.

Used in conjunction with Request::provide_value and Request::provide_ref to extract references to member variables from dyn Error trait objects.

§Example
#![feature(error_generic_member_access)]
#![feature(error_in_core)]
use core::fmt;
use core::error::{request_ref, Request};

#[derive(Debug)]
enum MyLittleTeaPot {
    Empty,
}

#[derive(Debug)]
struct MyBacktrace {
    // ...
}

impl MyBacktrace {
    fn new() -> MyBacktrace {
        // ...
    }
}

#[derive(Debug)]
struct Error {
    backtrace: MyBacktrace,
}

impl fmt::Display for Error {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "Example Error")
    }
}

impl std::error::Error for Error {
    fn provide<'a>(&'a self, request: &mut Request<'a>) {
        request
            .provide_ref::<MyBacktrace>(&self.backtrace);
    }
}

fn main() {
    let backtrace = MyBacktrace::new();
    let error = Error { backtrace };
    let dyn_error = &error as &dyn std::error::Error;
    let backtrace_ref = request_ref::<MyBacktrace>(dyn_error).unwrap();

    assert!(core::ptr::eq(&error.backtrace, backtrace_ref));
    assert!(request_ref::<MyLittleTeaPot>(dyn_error).is_none());
}

Implementations§

source§

impl dyn Error

1.3.0 · source

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

Returns true if the inner type is the same as T.

1.3.0 · source

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

Returns some reference to the inner value if it is of type T, or None if it isn’t.

1.3.0 · source

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

Returns some mutable reference to the inner value if it is of type T, or None if it isn’t.

source§

impl dyn Error + Send

1.3.0 · source

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

Forwards to the method defined on the type dyn Error.

1.3.0 · source

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

Forwards to the method defined on the type dyn Error.

1.3.0 · source

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

Forwards to the method defined on the type dyn Error.

source§

impl dyn Error + Send + Sync

1.3.0 · source

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

Forwards to the method defined on the type dyn Error.

1.3.0 · source

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

Forwards to the method defined on the type dyn Error.

1.3.0 · source

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

Forwards to the method defined on the type dyn Error.

source§

impl dyn Error

source

pub fn sources(&self) -> Source<'_>

🔬This is a nightly-only experimental API. (error_iter)

Returns an iterator starting with the current error and continuing with recursively calling Error::source.

If you want to omit the current error and only use its sources, use skip(1).

§Examples
#![feature(error_iter)]
use std::error::Error;
use std::fmt;

#[derive(Debug)]
struct A;

#[derive(Debug)]
struct B(Option<Box<dyn Error + 'static>>);

impl fmt::Display for A {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "A")
    }
}

impl fmt::Display for B {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "B")
    }
}

impl Error for A {}

impl Error for B {
    fn source(&self) -> Option<&(dyn Error + 'static)> {
        self.0.as_ref().map(|e| e.as_ref())
    }
}

let b = B(Some(Box::new(A)));

// let err : Box<Error> = b.into(); // or
let err = &b as &(dyn Error);

let mut iter = err.sources();

assert_eq!("B".to_string(), iter.next().unwrap().to_string());
assert_eq!("A".to_string(), iter.next().unwrap().to_string());
assert!(iter.next().is_none());
assert!(iter.next().is_none());
source§

impl dyn Error + Send

1.3.0 · source

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

Attempts to downcast the box to a concrete type.

source§

impl dyn Error

1.3.0 · source

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

Attempts to downcast the box to a concrete type.

source§

impl dyn Error + Send + Sync

1.3.0 · source

pub fn downcast<T>( self: Box<dyn Error + Send + Sync> ) -> Result<Box<T>, Box<dyn Error + Send + Sync>>
where T: Error + 'static,

Attempts to downcast the box to a concrete type.

Trait Implementations§

1.6.0 · source§

impl<'a> From<&str> for Box<dyn Error + 'a>

source§

fn from(err: &str) -> Box<dyn Error + 'a>

Converts a str into a box of dyn Error.

§Examples
use std::error::Error;
use std::mem;

let a_str_error = "a str error";
let a_boxed_error = Box::<dyn Error>::from(a_str_error);
assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
source§

impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

source§

fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

Converts a str into a box of dyn Error + Send + Sync.

§Examples
use std::error::Error;
use std::mem;

let a_str_error = "a str error";
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);
assert!(
    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
1.22.0 · source§

impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + 'a>

source§

fn from(err: Cow<'b, str>) -> Box<dyn Error + 'a>

Converts a Cow into a box of dyn Error.

§Examples
use std::error::Error;
use std::mem;
use std::borrow::Cow;

let a_cow_str_error = Cow::from("a str error");
let a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);
assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
1.22.0 · source§

impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

source§

fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

Converts a Cow into a box of dyn Error + Send + Sync.

§Examples
use std::error::Error;
use std::mem;
use std::borrow::Cow;

let a_cow_str_error = Cow::from("a str error");
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);
assert!(
    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
source§

impl<'a, E> From<E> for Box<dyn Error + 'a>
where E: Error + 'a,

source§

fn from(err: E) -> Box<dyn Error + 'a>

Converts a type of Error into a box of dyn Error.

§Examples
use std::error::Error;
use std::fmt;
use std::mem;

#[derive(Debug)]
struct AnError;

impl fmt::Display for AnError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "An error")
    }
}

impl Error for AnError {}

let an_error = AnError;
assert!(0 == mem::size_of_val(&an_error));
let a_boxed_error = Box::<dyn Error>::from(an_error);
assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
source§

impl<'a, E> From<E> for Box<dyn Error + Send + Sync + 'a>
where E: Error + Send + Sync + 'a,

source§

fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

Converts a type of Error + Send + Sync into a box of dyn Error + Send + Sync.

§Examples
use std::error::Error;
use std::fmt;
use std::mem;

#[derive(Debug)]
struct AnError;

impl fmt::Display for AnError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "An error")
    }
}

impl Error for AnError {}

unsafe impl Send for AnError {}

unsafe impl Sync for AnError {}

let an_error = AnError;
assert!(0 == mem::size_of_val(&an_error));
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);
assert!(
    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
1.6.0 · source§

impl<'a> From<String> for Box<dyn Error + 'a>

source§

fn from(str_err: String) -> Box<dyn Error + 'a>

Converts a String into a box of dyn Error.

§Examples
use std::error::Error;
use std::mem;

let a_string_error = "a string error".to_string();
let a_boxed_error = Box::<dyn Error>::from(a_string_error);
assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
source§

impl<'a> From<String> for Box<dyn Error + Send + Sync + 'a>

source§

fn from(err: String) -> Box<dyn Error + Send + Sync + 'a>

Converts a String into a box of dyn Error + Send + Sync.

§Examples
use std::error::Error;
use std::mem;

let a_string_error = "a string error".to_string();
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);
assert!(
    mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
source§

impl Value for dyn Error

source§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.
source§

impl Value for dyn Error + Send

source§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.
source§

impl Value for dyn Error + Send + Sync

source§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.
source§

impl Value for dyn Error + Sync

source§

fn record(&self, key: &Field, visitor: &mut dyn Visit)

Visits this value with the given Visitor.

Implementors§

source§

impl !Error for &str

source§

impl Error for ActionError

source§

impl Error for CloneIdError

source§

impl Error for CounterSigningError

source§

impl Error for EntryError

source§

impl Error for HostFnApiError

source§

impl Error for ScheduleError

source§

impl Error for SecurePrimitiveError

source§

impl Error for TimestampError

source§

impl Error for ZomeError

source§

impl Error for SerializedBytesError

1.8.0 · source§

impl Error for Infallible

source§

impl Error for VarError

1.15.0 · source§

impl Error for RecvTimeoutError

source§

impl Error for std::sync::mpsc::TryRecvError

source§

impl Error for DecodeError

source§

impl Error for CStrCheckError

source§

impl Error for NonZeroCheckError

source§

impl Error for StrCheckError

source§

impl Error for RoundingError

source§

impl Error for DataValueCastFailure

source§

impl Error for LookupError

source§

impl Error for RegisterMappingError

source§

impl Error for CodegenError

source§

impl Error for SetError

source§

impl Error for gimli::read::Error

source§

impl Error for ConvertError

source§

impl Error for gimli::write::Error

source§

impl Error for HoloHashError

source§

impl Error for GetTimezoneError

source§

impl Error for GossipError

source§

impl Error for leb128::read::Error

source§

impl Error for BernoulliError

source§

impl Error for WeightedError

source§

impl Error for RegAllocError

source§

impl Error for region::error::Error

source§

impl Error for SharedDeserializeMapError

source§

impl Error for OffsetError

source§

impl Error for AllocScratchError

source§

impl Error for SharedSerializeMapError

source§

impl Error for BufferSerializerError

source§

impl Error for FixedSizeScratchError

source§

impl Error for ArchiveError

source§

impl Error for DefaultValidatorError

source§

impl Error for SharedError

source§

impl Error for AsStringError

source§

impl Error for LockError

source§

impl Error for UnixTimestampError

source§

impl Error for rmp_serde::decode::Error

source§

impl Error for rmp_serde::encode::Error

source§

impl Error for BytesReadError

source§

impl Error for NumValueReadError

source§

impl Error for ValueReadError

source§

impl Error for MmapError

source§

impl Error for StatsError

source§

impl Error for url::parser::ParseError

source§

impl Error for wasmer_compiler::engine::error::InstantiationError

source§

impl Error for wasmer_compiler::engine::error::LinkError

source§

impl Error for CompileError

source§

impl Error for DeserializeError

source§

impl Error for ImportError

source§

impl Error for MemoryError

source§

impl Error for ParseCpuFeatureError

source§

impl Error for PreInstantiationError

source§

impl Error for SerializeError

source§

impl Error for wasmer_types::error::WasmError

source§

impl Error for TrapCode

source§

impl Error for WaiterError

source§

impl Error for Trap

source§

impl Error for wasmer::errors::InstantiationError

source§

impl Error for wasmer::errors::LinkError

source§

impl Error for ExportError

source§

impl Error for MemoryAccessError

source§

impl Error for IoCompileError

source§

impl Error for !

source§

impl Error for hdk::prelude::WasmError

source§

impl Error for WrongActionError

source§

impl Error for UnorderedKeyError

1.57.0 · source§

impl Error for alloc::collections::TryReserveError

1.58.0 · source§

impl Error for FromVecWithNulError

1.7.0 · source§

impl Error for IntoStringError

source§

impl Error for NulError

source§

impl Error for FromUtf8Error

source§

impl Error for FromUtf16Error

1.28.0 · source§

impl Error for LayoutError

source§

impl Error for AllocError

1.34.0 · source§

impl Error for TryFromSliceError

1.13.0 · source§

impl Error for BorrowError

1.13.0 · source§

impl Error for BorrowMutError

1.34.0 · source§

impl Error for CharTryFromError

1.20.0 · source§

impl Error for ParseCharError

1.9.0 · source§

impl Error for DecodeUtf16Error

1.59.0 · source§

impl Error for TryFromCharError

1.69.0 · source§

impl Error for FromBytesUntilNulError

1.17.0 · source§

impl Error for FromBytesWithNulError

1.11.0 · source§

impl Error for core::fmt::Error

1.4.0 · source§

impl Error for AddrParseError

source§

impl Error for ParseFloatError

source§

impl Error for ParseIntError

1.34.0 · source§

impl Error for TryFromIntError

source§

impl Error for ParseBoolError

source§

impl Error for core::str::error::Utf8Error

1.66.0 · source§

impl Error for TryFromFloatSecsError

source§

impl Error for JoinPathsError

1.56.0 · source§

impl Error for WriterPanicked

source§

impl Error for std::io::error::Error

1.7.0 · source§

impl Error for StripPrefixError

source§

impl Error for ExitStatusError

source§

impl Error for RecvError

1.26.0 · source§

impl Error for AccessError

1.8.0 · source§

impl Error for SystemTimeError

source§

impl Error for BoolCheckError

source§

impl Error for CharCheckError

source§

impl Error for StructCheckError

source§

impl Error for TupleStructCheckError

source§

impl Error for chrono::format::ParseError

source§

impl Error for ParseMonthError

source§

impl Error for OutOfRange

source§

impl Error for OutOfRangeError

source§

impl Error for ParseWeekdayError

source§

impl Error for VerifierError

source§

impl Error for VerifierErrors

source§

impl Error for futures_channel::mpsc::SendError

source§

impl Error for futures_channel::mpsc::TryRecvError

source§

impl Error for Canceled

source§

impl Error for EnterError

source§

impl Error for SpawnError

source§

impl Error for Aborted

source§

impl Error for getrandom::error::Error

source§

impl Error for Errors

source§

impl Error for indexmap::TryReserveError

source§

impl Error for ReadError

source§

impl Error for rand_core::error::Error

source§

impl Error for ThreadPoolBuildError

source§

impl Error for serde_json::error::Error

source§

impl Error for simdutf8::basic::Utf8Error

source§

impl Error for simdutf8::compat::Utf8Error

source§

impl Error for SetGlobalDefaultError

source§

impl Error for ParseLevelError

source§

impl Error for ParseLevelFilterError

source§

impl Error for MiddlewareError

source§

impl Error for PageCountOutOfRange

source§

impl Error for RuntimeError

source§

impl Error for BinaryReaderError

source§

impl Error for wast::error::Error

source§

impl Error for wat::Error

source§

impl Error for hdk::prelude::holochain_serialized_bytes::serde::de::value::Error

source§

impl<'a, E> Error for DecodeStringError<'a, E>
where E: RmpReadErr,

source§

impl<'a, K, V> Error for alloc::collections::btree::map::entry::OccupiedError<'a, K, V>
where K: Debug + Ord, V: Debug,

source§

impl<'a, K, V> Error for std::collections::hash::map::OccupiedError<'a, K, V>
where K: Debug, V: Debug,

1.51.0 · source§

impl<'a, T> Error for &'a T
where T: Error + ?Sized,

source§

impl<C> Error for HashIndexError<C>
where C: Error + 'static,

source§

impl<C, D> Error for CheckDeserializeError<C, D>
where C: Error + 'static, D: Error + 'static,

source§

impl<E> Error for ValueWriteError<E>
where E: RmpWriteErr,

source§

impl<K, V> Error for LeafNodeEntryError<K, V>
where K: Error + 'static, V: Error + 'static,

source§

impl<K, V> Error for ArchivedEntryError<K, V>
where K: Error + 'static, V: Error + 'static,

source§

impl<K, V, C> Error for ArchivedBTreeMapError<K, V, C>
where K: Error + 'static, V: Error + 'static, C: Error + 'static,

source§

impl<K, V, C> Error for HashMapError<K, V, C>
where K: Error + 'static, V: Error + 'static, C: Error + 'static,

source§

impl<K, V, C> Error for IndexMapError<K, V, C>
where K: Error + 'static, V: Error + 'static, C: Error + 'static,

source§

impl<S, C, H> Error for CompositeSerializerError<S, C, H>
where S: Error + 'static, C: Error + 'static, H: Error + 'static,

source§

impl<T0> Error for Tuple1CheckError<T0>
where T0: Display + Debug,

source§

impl<T1, T0> Error for Tuple2CheckError<T1, T0>
where T1: Display + Debug, T0: Display + Debug,

source§

impl<T2, T1, T0> Error for Tuple3CheckError<T2, T1, T0>
where T2: Display + Debug, T1: Display + Debug, T0: Display + Debug,

source§

impl<T3, T2, T1, T0> Error for Tuple4CheckError<T3, T2, T1, T0>
where T3: Display + Debug, T2: Display + Debug, T1: Display + Debug, T0: Display + Debug,

source§

impl<T4, T3, T2, T1, T0> Error for Tuple5CheckError<T4, T3, T2, T1, T0>
where T4: Display + Debug, T3: Display + Debug, T2: Display + Debug, T1: Display + Debug, T0: Display + Debug,

source§

impl<T5, T4, T3, T2, T1, T0> Error for Tuple6CheckError<T5, T4, T3, T2, T1, T0>
where T5: Display + Debug, T4: Display + Debug, T3: Display + Debug, T2: Display + Debug, T1: Display + Debug, T0: Display + Debug,

source§

impl<T6, T5, T4, T3, T2, T1, T0> Error for Tuple7CheckError<T6, T5, T4, T3, T2, T1, T0>
where T6: Display + Debug, T5: Display + Debug, T4: Display + Debug, T3: Display + Debug, T2: Display + Debug, T1: Display + Debug, T0: Display + Debug,

source§

impl<T7, T6, T5, T4, T3, T2, T1, T0> Error for Tuple8CheckError<T7, T6, T5, T4, T3, T2, T1, T0>
where T7: Display + Debug, T6: Display + Debug, T5: Display + Debug, T4: Display + Debug, T3: Display + Debug, T2: Display + Debug, T1: Display + Debug, T0: Display + Debug,

source§

impl<T8, T7, T6, T5, T4, T3, T2, T1, T0> Error for Tuple9CheckError<T8, T7, T6, T5, T4, T3, T2, T1, T0>
where T8: Display + Debug, T7: Display + Debug, T6: Display + Debug, T5: Display + Debug, T4: Display + Debug, T3: Display + Debug, T2: Display + Debug, T1: Display + Debug, T0: Display + Debug,

source§

impl<T9, T8, T7, T6, T5, T4, T3, T2, T1, T0> Error for Tuple10CheckError<T9, T8, T7, T6, T5, T4, T3, T2, T1, T0>
where T9: Display + Debug, T8: Display + Debug, T7: Display + Debug, T6: Display + Debug, T5: Display + Debug, T4: Display + Debug, T3: Display + Debug, T2: Display + Debug, T1: Display + Debug, T0: Display + Debug,

source§

impl<T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0> Error for Tuple11CheckError<T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0>
where T10: Display + Debug, T9: Display + Debug, T8: Display + Debug, T7: Display + Debug, T6: Display + Debug, T5: Display + Debug, T4: Display + Debug, T3: Display + Debug, T2: Display + Debug, T1: Display + Debug, T0: Display + Debug,

source§

impl<T11, T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0> Error for Tuple12CheckError<T11, T10, T9, T8, T7, T6, T5, T4, T3, T2, T1, T0>
where T11: Display + Debug, T10: Display + Debug, T9: Display + Debug, T8: Display + Debug, T7: Display + Debug, T6: Display + Debug, T5: Display + Debug, T4: Display + Debug, T3: Display + Debug, T2: Display + Debug, T1: Display + Debug, T0: Display + Debug,

source§

impl<T> Error for std::sync::mpsc::TrySendError<T>

source§

impl<T> Error for TryLockError<T>

source§

impl<T> Error for EnumCheckError<T>
where T: Debug + Display,

source§

impl<T> Error for SliceCheckError<T>
where T: Debug + Display,

1.8.0 · source§

impl<T> Error for Box<T>
where T: Error,

source§

impl<T> Error for ThinBox<T>
where T: Error + ?Sized,

1.52.0 · source§

impl<T> Error for Arc<T>
where T: Error + ?Sized,

source§

impl<T> Error for std::sync::mpsc::SendError<T>

source§

impl<T> Error for PoisonError<T>

source§

impl<T> Error for CapacityError<T>
where T: Any,

Requires features="std".

source§

impl<T> Error for ArrayCheckError<T>
where T: Debug + Display,

source§

impl<T> Error for futures_channel::mpsc::TrySendError<T>
where T: Any,

source§

impl<T> Error for futures_util::io::split::ReuniteError<T>
where T: Any,

source§

impl<T, C> Error for CheckArchiveError<T, C>
where T: Error + 'static, C: Error + 'static,

source§

impl<T, E> Error for TryChunksError<T, E>
where E: Debug + Display,

source§

impl<T, E> Error for TryReadyChunksError<T, E>
where E: Debug + Display,

source§

impl<T, Item> Error for futures_util::stream::stream::split::ReuniteError<T, Item>
where T: Any,

source§

impl<T, R, C> Error for SharedPointerError<T, R, C>
where T: Error + 'static, R: Error + 'static, C: Error + 'static,

source§

impl<T, R, C> Error for WeakPointerError<T, R, C>
where T: Error + 'static, R: Error + 'static, C: Error + 'static,

source§

impl<T, R, C> Error for OwnedPointerError<T, R, C>
where T: Error + 'static, R: Error + 'static, C: Error + 'static,

source§

impl<W> Error for IntoInnerError<W>
where W: Send + Debug,

source§

impl<const N: usize> Error for GetManyMutError<N>