Trait StdError

1.0.0 · Source
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.

§Example

Implementing the Error trait only requires that Debug and Display are implemented too.

use std::error::Error;
use std::fmt;
use std::path::PathBuf;

#[derive(Debug)]
struct ReadConfigError {
    path: PathBuf
}

impl fmt::Display for ReadConfigError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        let path = self.path.display();
        write!(f, "unable to read configuration at {path}")
    }
}

impl Error for ReadConfigError {}

Provided Methods§

1.30.0 · Source

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

Returns 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"),
    }
}
1.0.0 · 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}");
}
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.

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)]
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 + Sync + 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

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

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

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 + Sync + Send

1.3.0 · Source

pub fn downcast<T>( self: Box<dyn Error + Sync + Send>, ) -> Result<Box<T>, Box<dyn Error + Sync + Send>>
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;

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

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

Source§

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

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

§Examples
use std::error::Error;

let a_str_error = "a str error";
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);
assert!(
    size_of::<Box<dyn Error + Send + Sync>>() == 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::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!(size_of::<Box<dyn Error>>() == size_of_val(&a_boxed_error))
1.22.0 · Source§

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

Source§

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

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

§Examples
use std::error::Error;
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!(
    size_of::<Box<dyn Error + Send + Sync>>() == size_of_val(&a_boxed_error))
1.0.0 · 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;

#[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 == size_of_val(&an_error));
let a_boxed_error = Box::<dyn Error>::from(an_error);
assert!(size_of::<Box<dyn Error>>() == size_of_val(&a_boxed_error))
1.0.0 · Source§

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

Source§

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

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

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

#[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 == size_of_val(&an_error));
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);
assert!(
    size_of::<Box<dyn Error + Send + Sync>>() == 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;

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

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

Source§

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

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

§Examples
use std::error::Error;

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

Implementors§

1.65.0 · Source§

impl !Error for &str

Source§

impl Error for ParseDenominationError

Source§

impl Error for bitcoin_units::amount::ParseError

Source§

impl Error for RoundingError

Source§

impl Error for GetTimezoneError

Source§

impl Error for miniscript::descriptor::key::ConversionError

Source§

impl Error for miniscript::Error

Source§

impl Error for ParseThresholdError

Source§

impl Error for miniscript::interpreter::error::Error

Source§

impl Error for AnalysisError

Source§

impl Error for KeyParseError

Source§

impl Error for PolicyError

Source§

impl Error for LiftError

Source§

impl Error for miniscript::psbt::Error

Source§

impl Error for InputError

Source§

impl Error for OutputUpdateError

Source§

impl Error for SighashError

Source§

impl Error for UtxoUpdateError

Source§

impl Error for rusqlite::error::Error

Source§

impl Error for FromSqlError

Source§

impl Error for ApplyHeaderError

Source§

impl Error for CalculateFeeError

Source§

impl Error for FromScriptError

Source§

impl Error for P2shError

Source§

impl Error for bdk_chain::bitcoin::address::ParseError

Source§

impl Error for ParseAmountError

Source§

impl Error for bdk_chain::bitcoin::base58::Error

Source§

impl Error for ParseAlphabetError

Source§

impl Error for bdk_chain::bitcoin::base64::DecodeError

Source§

impl Error for DecodeSliceError

Source§

impl Error for EncodeSliceError

Source§

impl Error for bdk_chain::bitcoin::bech32::DecodeError

Source§

impl Error for bdk_chain::bitcoin::bech32::EncodeError

Source§

impl Error for EncodeIoError

Source§

impl Error for CharError

Source§

impl Error for CheckedHrpstringError

Source§

impl Error for ChecksumError

Source§

impl Error for PaddingError

Source§

impl Error for SegwitHrpstringError

Source§

impl Error for UncheckedHrpstringError

Source§

impl Error for FromCharError

Source§

impl Error for bdk_chain::bitcoin::bech32::primitives::gf32::TryFromError

Source§

impl Error for bdk_chain::bitcoin::bech32::primitives::hrp::Error

Source§

impl Error for WitnessLengthError

Source§

impl Error for bdk_chain::bitcoin::bech32::segwit::EncodeError

Source§

impl Error for bdk_chain::bitcoin::bip32::Error

Source§

impl Error for bdk_chain::bitcoin::bip152::Error

Source§

impl Error for bdk_chain::bitcoin::bip158::Error

Source§

impl Error for Bip34Error

Source§

impl Error for ValidationError

Source§

impl Error for bdk_chain::bitcoin::blockdata::script::Error

Source§

impl Error for bdk_chain::bitcoin::blockdata::script::witness_program::Error

Source§

impl Error for FromStrError

Source§

impl Error for TryFromInstructionError

Source§

impl Error for ParseOutPointError

Source§

impl Error for bdk_chain::bitcoin::consensus::encode::Error

Source§

impl Error for FromHexError

Source§

impl Error for bdk_chain::bitcoin::ecdsa::Error

Source§

impl Error for PrefixedHexError

Source§

impl Error for UnprefixedHexError

Source§

impl Error for bdk_chain::bitcoin::key::FromSliceError

Source§

impl Error for FromWifError

Source§

impl Error for ParseCompressedPublicKeyError

Source§

impl Error for ParsePublicKeyError

Source§

impl Error for MerkleBlockError

Source§

impl Error for bdk_chain::bitcoin::psbt::Error

Source§

impl Error for ExtractTxError

Source§

impl Error for GetKeyError

Source§

impl Error for bdk_chain::bitcoin::psbt::IndexOutOfBoundsError

Source§

impl Error for PsbtParseError

Source§

impl Error for SignError

§

impl Error for bdk_chain::bitcoin::secp256k1::Error

Source§

impl Error for BernoulliError

Source§

impl Error for WeightedError

Source§

impl Error for AnnexError

Source§

impl Error for P2wpkhError

Source§

impl Error for PrevoutsIndexError

Source§

impl Error for bdk_chain::bitcoin::sighash::TaprootError

Source§

impl Error for MessageSignatureError

Source§

impl Error for HiddenNodesError

Source§

impl Error for IncompleteBuilderError

Source§

impl Error for SigFromSliceError

Source§

impl Error for TaprootBuilderError

Source§

impl Error for bdk_chain::bitcoin::taproot::TaprootError

§

impl Error for HexToArrayError

§

impl Error for HexToBytesError

1.8.0 · Source§

impl Error for Infallible

1.17.0 · Source§

impl Error for FromBytesWithNulError

1.86.0 · Source§

impl Error for GetDisjointMutError

1.0.0 · Source§

impl Error for VarError

1.89.0 · Source§

impl Error for std::fs::TryLockError

1.15.0 · Source§

impl Error for RecvTimeoutError

1.0.0 · Source§

impl Error for TryRecvError

Source§

impl Error for !

Source§

impl Error for InputTooLargeError

Source§

impl Error for bitcoin_units::amount::InvalidCharacterError

Source§

impl Error for MissingDigitsError

Source§

impl Error for bitcoin_units::amount::OutOfRangeError

Source§

impl Error for PossiblyConfusingDenominationError

Source§

impl Error for TooPreciseError

Source§

impl Error for UnknownDenominationError

Source§

impl Error for bitflags::parser::ParseError

Source§

impl Error for chrono::format::ParseError

Source§

impl Error for ParseMonthError

Source§

impl Error for OutOfRange

Source§

impl Error for chrono::time_delta::OutOfRangeError

Source§

impl Error for ParseWeekdayError

Source§

impl Error for getrandom::error::Error

Source§

impl Error for libsqlite3_sys::error::Error

Source§

impl Error for DescriptorKeyParseError

Source§

impl Error for miniscript::miniscript::types::Error

Source§

impl Error for AbsLockTimeError

Source§

impl Error for RelLockTimeError

Source§

impl Error for ThresholdError

Source§

impl Error for AlterCheckPointError

Source§

impl Error for CannotConnectError

Source§

impl Error for MissingGenesisError

Source§

impl Error for bdk_chain::bitcoin::address::InvalidBase58PayloadLengthError

Source§

impl Error for InvalidLegacyPrefixError

Source§

impl Error for LegacyAddressTooLongError

Source§

impl Error for NetworkValidationError

Source§

impl Error for UnknownAddressTypeError

Source§

impl Error for UnknownHrpError

Source§

impl Error for IncorrectChecksumError

Source§

impl Error for TooShortError

Source§

impl Error for bdk_chain::bitcoin::base58::InvalidCharacterError

Source§

impl Error for CodeLengthError

Source§

impl Error for SegwitCodeLengthError

Source§

impl Error for InvalidWitnessVersionError

Source§

impl Error for bdk_chain::bitcoin::bech32::segwit::DecodeError

Source§

impl Error for bdk_chain::bitcoin::bip32::InvalidBase58PayloadLengthError

Source§

impl Error for TxIndexOutOfRangeError

Source§

impl Error for bdk_chain::bitcoin::blockdata::locktime::absolute::ConversionError

Source§

impl Error for ParseHeightError

Source§

impl Error for ParseTimeError

Source§

impl Error for DisabledLockTimeError

Source§

impl Error for IncompatibleHeightError

Source§

impl Error for IncompatibleTimeError

Source§

impl Error for TimeOverflowError

Source§

impl Error for PushBytesError

Source§

impl Error for bdk_chain::bitcoin::blockdata::script::witness_version::TryFromError

Source§

impl Error for bdk_chain::bitcoin::blockdata::transaction::IndexOutOfBoundsError

Source§

impl Error for InputsIndexError

Source§

impl Error for OutputsIndexError

Source§

impl Error for ContainsPrefixError

Source§

impl Error for MissingPrefixError

Source§

impl Error for bdk_chain::bitcoin::error::ParseIntError

Source§

impl Error for bdk_chain::bitcoin::io::Error

Source§

impl Error for InvalidAddressVersionError

Source§

impl Error for bdk_chain::bitcoin::key::InvalidBase58PayloadLengthError

Source§

impl Error for UncompressedPublicKeyError

Source§

impl Error for ParseNetworkError

Source§

impl Error for UnknownChainHashError

Source§

impl Error for CommandStringError

Source§

impl Error for ParseMagicError

Source§

impl Error for UnknownMagicError

Source§

impl Error for ReadError

Source§

impl Error for bdk_chain::bitcoin::secp256k1::rand::Error

§

impl Error for bdk_chain::bitcoin::secp256k1::scalar::OutOfRangeError

§

impl Error for InvalidParityValue

Source§

impl Error for InvalidSighashTypeError

Source§

impl Error for NonStandardSighashTypeError

Source§

impl Error for PrevoutsKindError

Source§

impl Error for PrevoutsSizeError

Source§

impl Error for SighashTypeParseError

Source§

impl Error for SingleMissingOutputError

§

impl Error for InvalidLengthError

§

impl Error for InvalidCharError

§

impl Error for OddLengthStringError

Source§

impl Error for bdk_chain::bitcoin::hashes::FromSliceError

Source§

impl Error for bdk_chain::bitcoin::hashes::serde::de::value::Error

Source§

impl Error for UnorderedKeyError

1.57.0 · Source§

impl Error for TryReserveError

1.58.0 · Source§

impl Error for FromVecWithNulError

1.7.0 · Source§

impl Error for IntoStringError

1.0.0 · Source§

impl Error for NulError

1.0.0 · Source§

impl Error for FromUtf8Error

1.0.0 · 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.11.0 · Source§

impl Error for core::fmt::Error

1.4.0 · Source§

impl Error for AddrParseError

1.0.0 · Source§

impl Error for ParseFloatError

1.0.0 · Source§

impl Error for core::num::error::ParseIntError

1.34.0 · Source§

impl Error for TryFromIntError

1.0.0 · Source§

impl Error for ParseBoolError

1.0.0 · Source§

impl Error for Utf8Error

1.66.0 · Source§

impl Error for TryFromFloatSecsError

1.0.0 · Source§

impl Error for JoinPathsError

1.56.0 · Source§

impl Error for WriterPanicked

1.0.0 · Source§

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

Source§

impl Error for NormalizeError

1.7.0 · Source§

impl Error for StripPrefixError

Source§

impl Error for ExitStatusError

1.0.0 · Source§

impl Error for RecvError

1.26.0 · Source§

impl Error for AccessError

1.8.0 · Source§

impl Error for SystemTimeError

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<A, S, V> Error for ConvertError<A, S, V>
where A: Display + Debug, S: Display + Debug, V: Display + Debug,

Source§

impl<E> Error for bdk_chain::bitcoin::consensus::DecodeError<E>
where E: Debug,

Source§

impl<E> Error for SigningDataError<E>
where E: Error + 'static,

1.8.0 · Source§

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

Source§

impl<K: Debug> Error for InsertDescriptorError<K>

Source§

impl<Src, Dst> Error for AlignmentError<Src, Dst>
where Src: Deref, Dst: KnownLayout + ?Sized,

Source§

impl<Src, Dst> Error for SizeError<Src, Dst>
where Src: Deref, Dst: KnownLayout + ?Sized,

Source§

impl<Src, Dst> Error for ValidityError<Src, Dst>
where Dst: KnownLayout + TryFromBytes + ?Sized,

Source§

impl<T> Error for SendTimeoutError<T>

1.0.0 · Source§

impl<T> Error for TrySendError<T>

1.0.0 · Source§

impl<T> Error for std::sync::poison::TryLockError<T>

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,

1.0.0 · Source§

impl<T> Error for SendError<T>

1.0.0 · Source§

impl<T> Error for PoisonError<T>

1.0.0 · Source§

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