Trait Error

1.0.0 · Source
pub trait Error: 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)>

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§

Source§

impl AsErrorSource for dyn Error

Source§

fn as_error_source(&self) -> &(dyn Error + 'static)

For maximum effectiveness, this needs to be called as a method to benefit from Rust’s automatic dereferencing of method receivers.
Source§

impl AsErrorSource for dyn Error + Send

Source§

fn as_error_source(&self) -> &(dyn Error + 'static)

For maximum effectiveness, this needs to be called as a method to benefit from Rust’s automatic dereferencing of method receivers.
Source§

impl AsErrorSource for dyn Error + Sync + Send

Source§

fn as_error_source(&self) -> &(dyn Error + 'static)

For maximum effectiveness, this needs to be called as a method to benefit from Rust’s automatic dereferencing of method receivers.
Source§

impl AsErrorSource for dyn Error + Sync

Source§

fn as_error_source(&self) -> &(dyn Error + 'static)

For maximum effectiveness, this needs to be called as a method to benefit from Rust’s automatic dereferencing of method receivers.
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))
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;
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 + 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::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))
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;
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))
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;
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))
Source§

impl From<Report> for Box<dyn Error>

Source§

fn from(error: Report) -> Box<dyn Error>

Converts to this type from the input type.
Source§

impl From<Report> for Box<dyn Error + Sync + Send>

Source§

fn from(error: Report) -> Box<dyn Error + Sync + Send>

Converts to this type from the input type.
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))
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;
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 + Sync + Send

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§

1.65.0 · Source§

impl !Error for &str

Source§

impl Error for ParseExperimentalTargetError

Source§

impl Error for ParseFuncTargetError

Source§

impl Error for surrealdb_core::err::Error

Source§

impl Error for surrealdb_core::iam::Error

Source§

impl Error for RpcError

Source§

impl Error for CharError

1.8.0 · Source§

impl Error for Infallible

1.17.0 · Source§

impl Error for FromBytesWithNulError

Source§

impl Error for GetManyMutError

1.0.0 · Source§

impl Error for VarError

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 async_channel::TryRecvError

Source§

impl Error for base64::alphabet::ParseAlphabetError

Source§

impl Error for base64::alphabet::ParseAlphabetError

Source§

impl Error for base64::decode::DecodeError

Source§

impl Error for base64::decode::DecodeError

Source§

impl Error for base64::decode::DecodeSliceError

Source§

impl Error for base64::decode::DecodeSliceError

Source§

impl Error for base64::encode::EncodeSliceError

Source§

impl Error for base64::encode::EncodeSliceError

Source§

impl Error for base64ct::errors::Error

Source§

impl Error for BcryptError

Source§

impl Error for ErrorKind

Source§

impl Error for SubstitutionError

Source§

impl Error for LinkingError

Source§

impl Error for ReificationError

Source§

impl Error for UnexpectedSlotError

Source§

impl Error for cedar_policy_core::ast::policy_set::PolicySetError

Source§

impl Error for RestrictedExpressionError

Source§

impl Error for NotValue

Source§

impl Error for AuthorizationError

Source§

impl Error for EntitiesError

Source§

impl Error for JsonDeserializationError

Source§

impl Error for JsonSerializationError

Source§

impl Error for EstToAstError

Source§

impl Error for InstantiationError

Source§

impl Error for cedar_policy_core::evaluator::err::EvaluationError

Source§

impl Error for ExtensionsError

Source§

impl Error for cedar_policy_core::parser::err::ParseError

Source§

impl Error for cedar_policy_validator::err::SchemaError

Source§

impl Error for ValidationWarningKind

Source§

impl Error for TypeErrorKind

Source§

impl Error for ValidationErrorKind

Source§

impl Error for ContextJsonError

Source§

impl Error for cedar_policy::api::EvaluationError

Source§

impl Error for cedar_policy::api::PolicySetError

Source§

impl Error for PolicyToJsonError

Source§

impl Error for cedar_policy::api::SchemaError

Source§

impl Error for RoundingError

Source§

impl Error for ciborium::value::error::Error

Source§

impl Error for PopError

Source§

impl Error for earcutr::Error

Source§

impl Error for fst::error::Error

Source§

impl Error for fst::raw::error::Error

Source§

impl Error for geo_types::error::Error

Source§

impl Error for TriangulationError

Source§

impl Error for httparse::Error

Source§

impl Error for GetTimezoneError

Source§

impl Error for LinalgError

Source§

impl Error for MietteError

Source§

impl Error for MinMaxError

Source§

impl Error for MultiInputError

Source§

impl Error for QuantileError

Source§

impl Error for BinsBuildError

Source§

impl Error for object_store::Error
where Error: Debug + Display,

Source§

impl Error for object_store::path::Error
where Error: Debug + Display,

Source§

impl Error for password_hash::errors::Error

Source§

impl Error for InvalidValue

Source§

impl Error for PemError

Source§

impl Error for BernoulliError

Source§

impl Error for WeightedError

Source§

impl Error for StartError

Source§

impl Error for regex_syntax::error::Error

Source§

impl Error for regex::error::Error

Source§

impl Error for revision::error::Error

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 rmpv::decode::Error

Source§

impl Error for rquickjs_core::result::Error

Source§

impl Error for rust_decimal::error::Error

Source§

impl Error for serde_urlencoded::ser::Error

Source§

impl Error for ASN1DecodeErr

Source§

impl Error for ASN1EncodeErr

Source§

impl Error for snap::error::Error

Source§

impl Error for InsertionError

Source§

impl Error for storekey::decode::Error

Source§

impl Error for storekey::encode::Error

Source§

impl Error for StrSimError

Source§

impl Error for surrealkv::error::Error

Source§

impl Error for surrealkv::log::Error

Source§

impl Error for time::error::Error

Source§

impl Error for Format

Source§

impl Error for InvalidFormatDescription

Source§

impl Error for Parse

Source§

impl Error for ParseFromDescription

Source§

impl Error for TryFromParsed

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 ulid::base32::DecodeError

Source§

impl Error for EncodeError

Source§

impl Error for MonotonicError

Source§

impl Error for url::parser::ParseError

Source§

impl Error for vart::TrieError

Source§

impl Error for vart::TrieError

Source§

impl Error for !

Source§

impl Error for ParseMethodTargetError

Source§

impl Error for ParseNetTargetError

Source§

impl Error for ParseRouteTargetError

1.11.0 · Source§

impl Error for surrealdb_core::vs::fmt::Error

Source§

impl Error for VersionStampError

Source§

impl Error for Box<dyn Diagnostic + Send>

Source§

impl Error for Box<dyn Diagnostic + Sync + Send>

Source§

impl Error for Box<dyn Diagnostic>

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

impl Error for core::net::parser::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 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

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

Source§

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

Source§

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

Source§

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

Source§

impl Error for MaxRecursionReached

Source§

impl Error for async_channel::RecvError

Source§

impl Error for InvalidEncodingError

Source§

impl Error for InvalidLengthError

Source§

impl Error for bitflags::parser::ParseError

Source§

impl Error for HexError

Source§

impl Error for ParseErrors

Source§

impl Error for ToCSTError

Source§

impl Error for TypeError

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 InvalidLength

Source§

impl Error for deranged::ParseIntError

Source§

impl Error for deranged::TryFromIntError

Source§

impl Error for MacError

Source§

impl Error for InvalidBufferSize

Source§

impl Error for InvalidOutputSize

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 InvalidRectCoordinatesError

Source§

impl Error for FailedToConvergeError

Source§

impl Error for getrandom::error::Error

Source§

impl Error for LengthLimitError

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 hyper_util::client::legacy::client::Error

Source§

impl Error for InvalidNameError

Source§

impl Error for hyper::error::Error

Source§

impl Error for Errors

Source§

impl Error for indexmap::TryReserveError

Source§

impl Error for PrefixLenError

Source§

impl Error for ipnet::parser::AddrParseError

Source§

impl Error for jsonwebtoken::errors::Error

Source§

impl Error for InstallError

Source§

impl Error for MietteDiagnostic

Source§

impl Error for FromStrError

Source§

impl Error for EmptyInput

Source§

impl Error for ShapeMismatch

Source§

impl Error for BinNotFound

Source§

impl Error for ShapeError

Source§

impl Error for InvalidPart

Source§

impl Error for ReadError

Source§

impl Error for rand_core::error::Error

Source§

impl Error for ThreadPoolBuildError

Source§

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

Source§

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

Source§

impl Error for CacheError

Source§

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

Source§

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

Source§

impl Error for GroupInfoError

Source§

impl Error for UnicodeWordBoundaryError

Source§

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

Source§

impl Error for SmallIndexError

Source§

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

Source§

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

Source§

impl Error for PatternSetInsertError

Source§

impl Error for DeserializeError

Source§

impl Error for SerializeError

Source§

impl Error for regex_syntax::ast::Error

Source§

impl Error for regex_syntax::hir::Error

Source§

impl Error for CaseFoldError

Source§

impl Error for UnicodeWordError

Source§

impl Error for RelativeToError

Source§

impl Error for FromPathError

Source§

impl Error for reqwest::error::Error

Source§

impl Error for KeyRejected

Source§

impl Error for Unspecified

Source§

impl Error for NonSortedIntegers

Source§

impl Error for NameParseError

Source§

impl Error for rocksdb::Error

Source§

impl Error for Errno

Source§

impl Error for InvalidOutputLen

Source§

impl Error for InvalidParams

Source§

impl Error for semver::parse::Error

Source§

impl Error for serde_content::error::Error

Source§

impl Error for serde::de::value::Error

Source§

impl Error for serde_json::error::Error

Source§

impl Error for Whatever

Source§

impl Error for CorruptionError

Source§

impl Error for PathPersistError

Source§

impl Error for ComponentRange

Source§

impl Error for ConversionRange

Source§

impl Error for DifferentVariant

Source§

impl Error for InvalidVariant

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 tower::timeout::error::Elapsed

Source§

impl Error for None

Source§

impl Error for SetGlobalDefaultError

Source§

impl Error for ParseLevelError

Source§

impl Error for ParseLevelFilterError

Source§

impl Error for uuid::error::Error

Source§

impl Error for walkdir::error::Error

Source§

impl<'a> Error for utf8::DecodeError<'a>

Source§

impl<'a> Error for BufReadDecoderError<'a>

Source§

impl<'a> Error for addr::error::Error<'a>

Source§

impl<'a> Error for ValidationError<'a>

Source§

impl<'a> Error for ValidationWarning<'a>

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<'js> Error for CaughtError<'js>

Source§

impl<'js> Error for Exception<'js>

Source§

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

1.8.0 · Source§

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

Source§

impl<F> Error for PersistError<F>

Source§

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

Source§

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

Source§

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

Source§

impl<K> Error for TcError<K>
where K: Debug + Display, TcError<K>: Debug + Display,

Source§

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

Either implements Error if both L and R implement it.

Requires crate feature "use_std"

Source§

impl<L, T, E> Error for lalrpop_util::ParseError<L, T, E>
where L: Debug + Display, T: Debug + Display, E: Debug + Display,

Source§

impl<N> Error for ASTNode<N>
where N: Error,

Source§

impl<S> Error for ExternalChunkError<S>
where S: Error,

Source§

impl<S, D, I> Error for SortError<S, D, I>
where S: Error + 'static, D: Error + 'static, I: Error + 'static,

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 async_channel::TrySendError<T>

Source§

impl<T> Error for ciborium::de::error::Error<T>
where T: Debug,

Source§

impl<T> Error for ciborium::ser::error::Error<T>
where T: Debug,

Source§

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

Source§

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

Source§

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

Source§

impl<T> Error for 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 CapacityError<T>
where T: Any,

Requires features="std".

Source§

impl<T> Error for async_channel::SendError<T>

Source§

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

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> 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 tokio::sync::watch::error::SendError<T>

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,

1.0.0 · Source§

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

Source§

impl<W> Error for snap::error::IntoInnerError<W>
where W: Any,