ErrorTrait

Trait ErrorTrait 

1.0.0 · Source
pub trait ErrorTrait: 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");

§Error source

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.

In error types that wrap an underlying error, the underlying error should be either returned by the outer error’s Error::source(), or rendered by the outer error’s Display implementation, but not both.

§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>

Available on non-no_global_oom_handling only.
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>

Available on non-no_global_oom_handling only.
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>

Available on non-no_global_oom_handling only.
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>

Available on non-no_global_oom_handling only.
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,

Available on non-no_global_oom_handling only.
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,

Available on non-no_global_oom_handling only.
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>

Available on non-no_global_oom_handling only.
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>

Available on non-no_global_oom_handling only.
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))
Source§

impl Pointee for dyn Error

Source§

type Metadata = DynMetadata<dyn Error>

The metadata type for pointers and references to this type.
Source§

impl Pointee for dyn Error + Send

Source§

type Metadata = DynMetadata<dyn Error + Send>

The metadata type for pointers and references to this type.
Source§

impl Pointee for dyn Error + Sync + Send

Source§

type Metadata = DynMetadata<dyn Error + Sync + Send>

The metadata type for pointers and references to this type.
Source§

impl Pointee for dyn Error + Sync

Source§

type Metadata = DynMetadata<dyn Error + Sync>

The metadata type for pointers and references to this type.
Source§

impl Value for dyn Error

Available on crate feature std only.
Source§

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

Visits this value with the given Visitor.
Source§

impl Value for dyn Error + Send

Available on crate feature std only.
Source§

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

Visits this value with the given Visitor.
Source§

impl Value for dyn Error + Sync + Send

Available on crate feature std only.
Source§

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

Visits this value with the given Visitor.
Source§

impl Value for dyn Error + Sync

Available on crate feature std only.
Source§

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

Visits this value with the given Visitor.

Implementors§

1.65.0 · Source§

impl !Error for &str

1.8.0 · Source§

impl Error for Infallible

1.17.0 · Source§

impl Error for FromBytesWithNulError

1.86.0 · Source§

impl Error for core::slice::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 std::sync::mpsc::TryRecvError

Source§

impl Error for arbitrary::error::Error

Source§

impl Error for base64::alphabet::ParseAlphabetError

Available on crate features std only.
Source§

impl Error for base64::alphabet::ParseAlphabetError

Available on crate features std only.
Source§

impl Error for base64::decode::DecodeError

Available on crate features std only.
Source§

impl Error for base64::decode::DecodeError

Available on crate features std only.
Source§

impl Error for base64::decode::DecodeSliceError

Available on crate features std only.
Source§

impl Error for base64::decode::DecodeSliceError

Available on crate features std only.
Source§

impl Error for base64::encode::EncodeSliceError

Available on crate features std only.
Source§

impl Error for base64::encode::EncodeSliceError

Available on crate features std only.
Source§

impl Error for BuiltinPluginBuilderError

Source§

impl Error for CardinalConfigBuilderError

Source§

impl Error for DestinationBuilderError

Source§

impl Error for DestinationMatchBuilderError

Source§

impl Error for DestinationRetryBuilderError

Source§

impl Error for DestinationTimeoutsBuilderError

Source§

impl Error for HealthCheckBuilderError

Source§

impl Error for MiddlewareBuilderError

Source§

impl Error for RouteBuilderError

Source§

impl Error for ServerConfigBuilderError

Source§

impl Error for WasmPluginConfigBuilderError

Source§

impl Error for CardinalError

Source§

impl Error for CardinalInternalError

Source§

impl Error for CardinalProxyError

Source§

impl Error for RoundingError

Available on crate feature std only.
Source§

impl Error for MatchesError

Source§

impl Error for ConfigError

Source§

impl Error for DataValueCastFailure

Source§

impl Error for LookupError

Source§

impl Error for RegisterMappingError

Source§

impl Error for CodegenError

Source§

impl Error for cranelift_codegen::settings::SetError

Source§

impl Error for gimli::read::Error

Available on crate feature std only.
Source§

impl Error for gimli::write::convert::ConvertError

Source§

impl Error for gimli::write::Error

Source§

impl Error for FromHexError

Available on crate feature std only.
Source§

impl Error for httparse::Error

Available on crate feature std only.
Source§

impl Error for GetTimezoneError

Source§

impl Error for indexmap::GetDisjointMutError

Available on crate feature std only.
Source§

impl Error for json5::error::Error

Source§

impl Error for local_ip_address::error::Error

Source§

impl Error for InsertError

Source§

impl Error for matchit::error::MatchError

Source§

impl Error for DeError

Source§

impl Error for SerError

Source§

impl Error for WrappedError

Source§

impl Error for Errno

Source§

impl Error for prometheus::errors::Error

Source§

impl Error for ProtobufError

Source§

impl Error for Panic

Source§

impl Error for rand::distr::bernoulli::BernoulliError

Available on crate feature std only.
Source§

impl Error for rand::distr::uniform::Error

Available on crate feature std only.
Source§

impl Error for rand::distr::weighted::Error

Available on crate feature std only.
Source§

impl Error for rand::distributions::bernoulli::BernoulliError

Available on crate feature std only.
Source§

impl Error for WeightedError

Available on crate feature std only.
Source§

impl Error for RegAllocError

Available on crate feature std only.
Source§

impl Error for StartError

Available on crate feature std only.
Source§

impl Error for regex_syntax::error::Error

Available on crate feature std only.
Source§

impl Error for regex::error::Error

Available on crate feature std only.
Source§

impl Error for region::error::Error

Source§

impl Error for rmp_serde::decode::Error

Source§

impl Error for rmp_serde::encode::Error

Source§

impl Error for BytesReadError

Available on crate feature std only.
Source§

impl Error for NumValueReadError

Available on crate feature std only.
Source§

impl Error for ValueReadError

Available on crate feature std only.
Source§

impl Error for ron::error::Error

Source§

impl Error for ini::Error

Source§

impl Error for LiteralsSectionParseError

Source§

impl Error for SequencesHeaderParseError

Source§

impl Error for GetBitsError

Source§

impl Error for BlockHeaderReadError

Source§

impl Error for BlockSizeError

Source§

impl Error for BlockTypeError

Source§

impl Error for DecodeBlockContentError

Source§

impl Error for DecompressBlockError

Source§

impl Error for DecodebufferError

Source§

impl Error for DictionaryDecodeError

Source§

impl Error for DecompressLiteralsError

Source§

impl Error for ExecuteSequencesError

Source§

impl Error for DecodeSequenceError

Source§

impl Error for FrameDescriptorError

Source§

impl Error for FrameHeaderError

Source§

impl Error for ReadFrameHeaderError

Source§

impl Error for FrameDecoderError

Source§

impl Error for FSEDecoderError

Source§

impl Error for FSETableError

Source§

impl Error for HuffmanDecoderError

Source§

impl Error for HuffmanTableError

Source§

impl Error for MmapError

Source§

impl Error for slab::GetDisjointMutError

Available on crate feature std only.
Source§

impl Error for StrSimError

Source§

impl Error for strum::ParseError

Available on crate feature std only.
Source§

impl Error for time::error::Error

Source§

impl Error for AnyDelimiterCodecError

Source§

impl Error for LinesCodecError

Source§

impl Error for TryAcquireError

Source§

impl Error for tokio::sync::broadcast::error::RecvError

Source§

impl Error for tokio::sync::broadcast::error::TryRecvError

Source§

impl Error for tokio::sync::mpsc::error::TryRecvError

Source§

impl Error for tokio::sync::oneshot::error::TryRecvError

Source§

impl Error for SerializerError

Available on crate feature std only.
Source§

impl Error for ts_rs::export::error::ExportError

Source§

impl Error for ucd_trie::owned::Error

Source§

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

Source§

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

Source§

impl Error for ObjectError

Source§

impl Error for CompileError

Source§

impl Error for wasmer_types::error::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 wasmer_types::error::SerializeError

Source§

impl Error for WasmError

Source§

impl Error for TrapCode

Source§

impl Error for WaiterError

Source§

impl Error for Trap

Source§

impl Error for wasmer::entities::exports::ExportError

Source§

impl Error for IoCompileError

Source§

impl Error for BackendTrap

Source§

impl Error for AtomicsError

Source§

impl Error for wasmer::error::InstantiationError

Source§

impl Error for wasmer::error::LinkError

Source§

impl Error for MemoryAccessError

Source§

impl Error for yaml_rust2::emitter::EmitError

Source§

impl Error for yaml_rust::emitter::EmitError

Source§

impl Error for !

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

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 core::num::error::TryFromIntError

1.0.0 · Source§

impl Error for ParseBoolError

1.0.0 · Source§

impl Error for core::str::error::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 std::sync::mpsc::RecvError

1.26.0 · Source§

impl Error for AccessError

1.8.0 · Source§

impl Error for SystemTimeError

Source§

impl Error for aho_corasick::util::error::BuildError

Available on crate feature std only.
Source§

impl Error for aho_corasick::util::error::MatchError

Available on crate feature std only.
Source§

impl Error for aho_corasick::util::primitives::PatternIDError

Available on crate feature std only.
Source§

impl Error for aho_corasick::util::primitives::StateIDError

Available on crate feature std only.
Source§

impl Error for MaxRecursionReached

Source§

impl Error for TryGetError

Available on crate feature std only.
Source§

impl Error for cf_rustracing::error::Error

Source§

impl Error for chrono::format::ParseError

Available on crate features core-error or std only.
Source§

impl Error for ParseMonthError

Available on crate feature std only.
Source§

impl Error for OutOfRange

Available on crate feature std only.
Source§

impl Error for OutOfRangeError

Available on crate features std or core-error only.
Source§

impl Error for ParseWeekdayError

Available on crate feature std only.
Source§

impl Error for clap::error::Error

Source§

impl Error for VerifierError

Source§

impl Error for VerifierErrors

Source§

impl Error for InvalidLength

Available on crate feature std only.
Source§

impl Error for daemonize::error::Error

Source§

impl Error for deranged::ParseIntError

Source§

impl Error for deranged::TryFromIntError

Source§

impl Error for UninitializedFieldError

Available on crate feature std only.
Source§

impl Error for MacError

Available on crate feature std only.
Source§

impl Error for InvalidBufferSize

Available on crate feature std only.
Source§

impl Error for InvalidOutputSize

Available on crate feature std only.
Source§

impl Error for erased_serde::error::Error

Source§

impl Error for CompressError

Source§

impl Error for DecompressError

Source§

impl Error for futures_channel::mpsc::SendError

Source§

impl Error for futures_channel::mpsc::TryRecvError

Source§

impl Error for Canceled

Available on crate feature std only.
Source§

impl Error for EnterError

Source§

impl Error for SpawnError

Available on crate feature std only.
Source§

impl Error for Aborted

Available on crate feature std only.
Source§

impl Error for getrandom::error::Error

Source§

impl Error for getrandom::error::Error

Source§

impl Error for h2::error::Error

Source§

impl Error for http::error::Error

Source§

impl Error for MaxSizeReached

Source§

impl Error for InvalidHeaderName

Source§

impl Error for InvalidHeaderValue

Source§

impl Error for ToStrError

Source§

impl Error for InvalidMethod

Source§

impl Error for InvalidStatusCode

Source§

impl Error for InvalidUri

Source§

impl Error for InvalidUriParts

Source§

impl Error for httpdate::Error

Source§

impl Error for indexmap::TryReserveError

Available on crate feature std only.
Source§

impl Error for MergeError

Source§

impl Error for ClearEnvError

Source§

impl Error for object::read::Error

Available on non-crate feature std and core_error only.
Source§

impl Error for object::read::Error

Available on crate feature std only.
Source§

impl Error for object::write::Error

Available on crate feature std only.
Source§

impl Error for EncodingError

Source§

impl Error for BoxedError

Source§

impl Error for rancor::Error

Source§

impl Error for rancor::Failure

Source§

impl Error for Empty

Available on crate feature std only.
Source§

impl Error for ReadError

Source§

impl Error for rand_core::error::Error

Available on crate feature std only.
Source§

impl Error for OsError

Available on crate feature std only.
Source§

impl Error for ThreadPoolBuildError

Source§

impl Error for regex_automata::dfa::onepass::BuildError

Available on crate feature std only.
Source§

impl Error for regex_automata::hybrid::error::BuildError

Available on crate feature std only.
Source§

impl Error for CacheError

Available on crate feature std only.
Source§

impl Error for regex_automata::meta::error::BuildError

Available on crate feature std only.
Source§

impl Error for regex_automata::nfa::thompson::error::BuildError

Available on crate feature std only.
Source§

impl Error for GroupInfoError

Available on crate feature std only.
Source§

impl Error for UnicodeWordBoundaryError

Available on crate feature std only.
Source§

impl Error for regex_automata::util::primitives::PatternIDError

Available on crate feature std only.
Source§

impl Error for SmallIndexError

Available on crate feature std only.
Source§

impl Error for regex_automata::util::primitives::StateIDError

Available on crate feature std only.
Source§

impl Error for regex_automata::util::search::MatchError

Available on crate feature std only.
Source§

impl Error for PatternSetInsertError

Available on crate feature std only.
Source§

impl Error for regex_automata::util::wire::DeserializeError

Available on crate feature std only.
Source§

impl Error for regex_automata::util::wire::SerializeError

Available on crate feature std only.
Source§

impl Error for regex_syntax::ast::Error

Available on crate feature std only.
Source§

impl Error for regex_syntax::hir::Error

Available on crate feature std only.
Source§

impl Error for CaseFoldError

Available on crate feature std only.
Source§

impl Error for UnicodeWordError

Available on crate feature std only.
Source§

impl Error for IteratorLengthMismatch

Source§

impl Error for SpannedError

Source§

impl Error for ini::ParseError

Source§

impl Error for serde_untagged::error::Error

Source§

impl Error for serde_core::de::value::Error

Available on crate feature std only.
Source§

impl Error for serde_json::error::Error

Source§

impl Error for serde_yaml::error::Error

Source§

impl Error for simdutf8::basic::Utf8Error

Available on crate feature std only.
Source§

impl Error for simdutf8::compat::Utf8Error

Available on crate feature std only.
Source§

impl Error for ColorChoiceParseError

Source§

impl Error for ParseColorError

Source§

impl Error for thrift_codec::error::Error

Source§

impl Error for ComponentRange

Source§

impl Error for ConversionRange

Source§

impl Error for DifferentVariant

Source§

impl Error for InvalidVariant

Source§

impl Error for tokio_stream::stream_ext::timeout::Elapsed

Source§

impl Error for LengthDelimitedCodecError

Source§

impl Error for tokio::net::tcp::split_owned::ReuniteError

Source§

impl Error for tokio::net::unix::split_owned::ReuniteError

Source§

impl Error for TryCurrentError

Source§

impl Error for JoinError

Source§

impl Error for AcquireError

Source§

impl Error for tokio::sync::mutex::TryLockError

Source§

impl Error for tokio::sync::oneshot::error::RecvError

Source§

impl Error for tokio::sync::watch::error::RecvError

Source§

impl Error for tokio::time::error::Elapsed

Source§

impl Error for tokio::time::error::Error

Source§

impl Error for toml::de::error::Error

Available on crate feature std only.
Source§

impl Error for toml::ser::error::Error

Available on crate feature std only.
Source§

impl Error for DatetimeParseError

Available on crate feature std only.
Source§

impl Error for SetGlobalDefaultError

Available on crate feature std only.
Source§

impl Error for ParseLevelError

Available on crate feature std only.
Source§

impl Error for ParseLevelFilterError

Available on crate feature std only.
Source§

impl Error for trackable::error::Failure

Source§

impl Error for IoError

Source§

impl Error for TopLevelError

Source§

impl Error for walkdir::error::Error

Source§

impl Error for MiddlewareError

Source§

impl Error for PageCountOutOfRange

Source§

impl Error for RuntimeError

Source§

impl Error for BinaryReaderError

Available on non-crate feature std and core_error only.
Source§

impl Error for wast::error::Error

Source§

impl Error for wat::Error

Source§

impl Error for yaml_rust2::scanner::ScanError

Source§

impl Error for yaml_rust::scanner::ScanError

Source§

impl Error for cardinal_proxy::pingora::prelude::Elapsed

Source§

impl Error for ConnectProxyError

Source§

impl Error for cardinal_proxy::pingora::Error

Source§

impl Error for cardinal_proxy::pingora::tls::error::Error

Source§

impl Error for ErrorStack

Source§

impl Error for cardinal_proxy::pingora::tls::ssl::Error

Source§

impl Error for X509VerifyResult

Source§

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

Available on crate feature std only.
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 zerocopy::error::ConvertError<A, S, V>
where A: Display + Debug, S: Display + Debug, V: Display + Debug,

Available on zerocopy_core_error_1_81_0 or crate feature std only.
Source§

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

Available on crate feature std only.
1.8.0 · Source§

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

Source§

impl<I> Error for ExactlyOneError<I>
where I: Iterator + Debug, <I as Iterator>::Item: Debug,

Available on crate feature use_std only.
Source§

impl<I> Error for InputError<I>
where I: Clone + Debug + Display + Sync + Send + 'static,

Available on crate feature std only.
Source§

impl<I, C> Error for TreeError<I, C>
where I: Debug + Display + Sync + Send + 'static, C: Display + Debug,

Available on crate feature std only.
Source§

impl<K> Error for TrackableError<K>
where K: ErrorKind,

Source§

impl<L, R> Error for Either<L, R>
where L: Error, R: Error,

Available on crate features std only.

Either implements Error if both L and R implement it.

Requires crate feature "std"

Source§

impl<R> Error for ErrorVariant<R>

Source§

impl<R> Error for pest::error::Error<R>
where Error<R>: Debug + Display,

Source§

impl<S> Error for HandshakeError<S>
where S: Debug,

Source§

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

Available on zerocopy_core_error_1_81_0 or crate feature std only.
Source§

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

Available on zerocopy_core_error_1_81_0 or crate feature std only.
Source§

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

Available on zerocopy_core_error_1_81_0 or crate feature std only.
Source§

impl<T> Error for std::sync::mpmc::error::SendTimeoutError<T>

1.0.0 · Source§

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

1.0.0 · Source§

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

Source§

impl<T> Error for tokio::sync::mpsc::error::SendTimeoutError<T>

Available on crate feature time only.
Source§

impl<T> Error for tokio::sync::mpsc::error::TrySendError<T>

Source§

impl<T> Error for tokio::sync::once_cell::SetError<T>
where T: Debug,

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 std::sync::mpsc::SendError<T>

1.0.0 · Source§

impl<T> Error for PoisonError<T>

Source§

impl<T> Error for arraydeque::error::CapacityError<T>

Available on crate feature std only.
Source§

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

Available on crate feature std only.

Requires features="std".

Source§

impl<T> Error for InvalidEnumDiscriminantError<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,

Available on crate feature std only.
Source§

impl<T> Error for PollSendError<T>
where T: Debug,

Source§

impl<T> Error for AsyncFdTryNewError<T>

Source§

impl<T> Error for tokio::sync::broadcast::error::SendError<T>
where T: Debug,

Source§

impl<T> Error for tokio::sync::mpsc::error::SendError<T>

Source§

impl<T> Error for SetOnceError<T>
where T: Debug,

Source§

impl<T> Error for tokio::sync::watch::error::SendError<T>

Source§

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

Available on crate feature std only.
Source§

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

Available on crate feature std only.
Source§

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

Available on crate feature std only.
Source§

impl<T, P> Error for NlError<T, P>
where T: Debug, P: Debug,

Source§

impl<T, P> Error for Nlmsgerr<T, P>
where T: Debug, P: Debug,

1.0.0 · Source§

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