pub(crate) 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");§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 · Sourcefn source(&self) -> Option<&(dyn Error + 'static)>
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 · Sourcefn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
fn description(&self) -> &str
use the Display impl or to_string()
if let Err(e) = "xc".parse::<u32>() {
// Print `e` itself, no need for description().
eprintln!("Error: {e}");
}fn cause(&self) -> Option<&dyn Error>
replaced by Error::source, which can support downcasting
Sourcefn provide<'a>(&'a self, request: &mut Request<'a>)
🔬This is a nightly-only experimental API. (error_generic_member_access)
fn provide<'a>(&'a self, request: &mut Request<'a>)
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());
}§Delegating Impls
Warning: We recommend implementors avoid delegating implementations of provide to
source error implementations.
This method should expose context from the current piece of the source chain only, not from
sources that are exposed in the chain of sources. Delegating provide implementations cause
the same context to be provided by multiple errors in the chain of sources which can cause
unintended duplication of information in error reports or require heuristics to deduplicate.
In other words, the following implementation pattern for provide is discouraged and should
not be used for Error types exposed in public APIs to third parties.
struct MyError {
source: Error,
}
impl std::error::Error for MyError {
fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
Some(&self.source)
}
fn provide<'a>(&'a self, request: &mut Request<'a>) {
self.source.provide(request) // <--- Discouraged
}
}Implementations§
Source§impl dyn Error
impl dyn Error
1.3.0 · Sourcepub fn is<T>(&self) -> boolwhere
T: Error + 'static,
pub fn is<T>(&self) -> boolwhere
T: Error + 'static,
Returns true if the inner type is the same as T.
1.3.0 · Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: Error + 'static,
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 · Sourcepub fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: Error + 'static,
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
impl dyn Error + Send
1.3.0 · Sourcepub fn is<T>(&self) -> boolwhere
T: Error + 'static,
pub fn is<T>(&self) -> boolwhere
T: Error + 'static,
Forwards to the method defined on the type dyn Error.
1.3.0 · Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: Error + 'static,
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 · Sourcepub fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: Error + 'static,
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
impl dyn Error + Sync + Send
1.3.0 · Sourcepub fn is<T>(&self) -> boolwhere
T: Error + 'static,
pub fn is<T>(&self) -> boolwhere
T: Error + 'static,
Forwards to the method defined on the type dyn Error.
1.3.0 · Sourcepub fn downcast_ref<T>(&self) -> Option<&T>where
T: Error + 'static,
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 · Sourcepub fn downcast_mut<T>(&mut self) -> Option<&mut T>where
T: Error + 'static,
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
impl dyn Error
Sourcepub fn sources(&self) -> Source<'_> ⓘ
🔬This is a nightly-only experimental API. (error_iter)
pub fn sources(&self) -> Source<'_> ⓘ
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());Trait Implementations§
Source§impl AsRef<dyn Error> for UploadError
impl AsRef<dyn Error> for UploadError
Source§impl ErrorReport for dyn Error
impl ErrorReport for dyn Error
Source§fn report(&self) -> Report<ReportHelper<'_>>
fn report(&self) -> Report<ReportHelper<'_>>
Source§impl ErrorReport for dyn Error + Sync + Send
Implementation for anyhow::Error, which derefs to dyn StdError.
impl ErrorReport for dyn Error + Sync + Send
Implementation for anyhow::Error, which derefs to dyn StdError.
Source§fn report(&self) -> Report<ReportHelper<'_>>
fn report(&self) -> Report<ReportHelper<'_>>
Implementors§
impl !Error for &str
impl Error for arbitrary::error::Error
impl Error for OidParseError
impl Error for DerConstraint
impl Error for asn1_rs::error::Error
impl Error for asn1_rs::error::SerializeError
impl Error for async_channel::TryRecvError
impl Error for async_channel::TryRecvError
std only.impl Error for TokioTpErr
impl Error for async_native_tls::acceptor::Error
impl Error for JsonCodecError
impl Error for ParseAlphabetError
std only.impl Error for base64::decode::DecodeError
std only.impl Error for DecodeSliceError
std only.impl Error for EncodeSliceError
std only.impl Error for base64ct::errors::Error
impl Error for ErrorKind
impl Error for PopError
std only.impl Error for const_oid::error::Error
std only.impl Error for GenError
std only.impl Error for BinaryError
impl Error for DynasmError
impl Error for equix::err::Error
impl Error for fs_mistrust::err::Error
impl Error for CompilerError
impl Error for hashx::err::Error
impl Error for FromHexError
std only.impl Error for httparse::Error
std only.impl Error for humantime::date::Error
impl Error for humantime::duration::Error
impl Error for icu_collections::codepointtrie::error::Error
impl Error for icu_locale_core::parser::errors::ParseError
impl Error for PreferencesParseError
impl Error for indexmap::GetDisjointMutError
impl Error for EventMaskParseError
impl Error for liblzma::stream::Error
impl Error for maybenot::error::Error
impl Error for PemError
std only.impl Error for pem_rfc7468::error::Error
std only.impl Error for pkcs1::error::Error
std only.impl Error for pkcs8::error::Error
std only.impl Error for postage::stream::errors::TryRecvError
impl Error for BernoulliError
std only.impl Error for rand::distr::uniform::Error
std only.impl Error for rand::distr::weighted::Error
std only.impl Error for rand_distr::beta::Error
std only.impl Error for rand_distr::binomial::Error
std only.impl Error for rand_distr::cauchy::Error
std only.impl Error for rand_distr::chi_squared::Error
std only.impl Error for rand_distr::dirichlet::Error
std only.impl Error for rand_distr::exponential::Error
std only.impl Error for rand_distr::fisher_f::Error
std only.impl Error for rand_distr::frechet::Error
std only.impl Error for rand_distr::gamma::Error
std only.impl Error for rand_distr::geometric::Error
std only.impl Error for rand_distr::gumbel::Error
std only.impl Error for rand_distr::hypergeometric::Error
std only.impl Error for rand_distr::inverse_gaussian::Error
std only.impl Error for rand_distr::normal::Error
std only.impl Error for rand_distr::normal_inverse_gaussian::Error
std only.impl Error for rand_distr::pareto::Error
std only.impl Error for PertError
std only.impl Error for rand_distr::poisson::Error
std only.impl Error for rand_distr::skew_normal::Error
std only.impl Error for TriangularError
std only.impl Error for rand_distr::weibull::Error
std only.impl Error for rand_distr::zeta::Error
std only.impl Error for rand_distr::zipf::Error
std only.impl Error for TimerError
std only.impl Error for ErrorCode
std only.impl Error for regex::error::Error
std only.impl Error for regex_automata::dfa::automaton::StartError
std only.impl Error for regex_automata::hybrid::error::StartError
std only.impl Error for regex_syntax::error::Error
std only.impl Error for rsa::errors::Error
std only.impl Error for EarlyDataError
std only.impl Error for rustls::conn::unbuffered::EncodeError
std only.impl Error for EncryptError
std only.impl Error for rustls::error::Error
std only.impl Error for VerifierBuilderError
std only.impl Error for rustls_pki_types::pem::Error
std only.impl Error for safelog::err::Error
impl Error for sec1::error::Error
std only.impl Error for DeserializerError
impl Error for serde_value::ser::SerializerError
impl Error for slab::GetDisjointMutError
std only.impl Error for spki::error::Error
std only.impl Error for ssh_encoding_fork_arti::error::Error
std only.impl Error for ssh_key_fork_arti::error::Error
std only.impl Error for strum::ParseError
std only.impl Error for KillError
impl Error for time::error::Error
impl Error for Format
impl Error for InvalidFormatDescription
impl Error for Parse
impl Error for ParseFromDescription
impl Error for TryFromParsed
impl Error for tinystr::error::ParseError
impl Error for TryAcquireError
impl Error for tokio::sync::broadcast::error::RecvError
impl Error for tokio::sync::broadcast::error::TryRecvError
impl Error for tokio::sync::mpsc::error::TryRecvError
impl Error for tokio::sync::oneshot::error::TryRecvError
impl Error for AnyDelimiterCodecError
impl Error for LinesCodecError
impl Error for toml_datetime::ser::SerializerError
impl Error for toml_edit::ser::Error
impl Error for ErasedSinkTrySendError
impl Error for tor_basic_utils::n_key_list::Error
impl Error for tor_basic_utils::n_key_set::Error
impl Error for tor_bytes::err::EncodeError
impl Error for tor_bytes::err::Error
impl Error for tor_cell::err::Error
impl Error for EstablishIntroSigError
impl Error for Ed25519CertBuilderError
impl Error for CertEncodeError
impl Error for CertError
impl Error for X509CertError
impl Error for tor_chanmgr::err::Error
impl Error for ProxyError
impl Error for TimeValidityError
impl Error for tor_circmgr::err::Error
impl Error for StreamIsolationBuilderError
impl Error for ConfigError
impl Error for FileWatcherBuildError
impl Error for ConfigResolveError
impl Error for CfgAddrError
impl Error for CfgPathError
impl Error for RequestError
impl Error for tor_general_addr::general::AddrParseError
impl Error for tor_geoip::err::Error
impl Error for BridgeParseError
impl Error for GuardMgrConfigError
impl Error for GuardMgrError
impl Error for PickGuardError
impl Error for VanguardMgrError
impl Error for HsClientDescEncKeyParseError
impl Error for HsIdParseError
impl Error for tor_hscrypto::pow::err::Error
impl Error for RuntimeError
impl Error for SolutionError
impl Error for RuntimeErrorV1
impl Error for SolutionErrorV1
impl Error for TimePeriodError
impl Error for tor_key_forge::err::Error
impl Error for InvalidCertError
impl Error for ArtiPathSyntaxError
impl Error for tor_keymgr::err::Error
impl Error for KeystoreCorruptionError
impl Error for ArtiPathError
impl Error for CTorPathError
impl Error for InvalidKeyPathComponentValue
impl Error for KeyPathError
impl Error for KeyMgrBuilderError
impl Error for ChanTargetDecodeError
impl Error for RelayIdError
impl Error for BridgeAddrError
impl Error for PtTargetInvalidSetting
impl Error for TransportIdError
impl Error for BlindingError
impl Error for InstallRuntimeError
impl Error for tor_memquota::error::Error
impl Error for tor_memquota::error::StartupError
impl Error for RelayLookupError
impl Error for tor_netdir::err::Error
impl Error for OnionDirLookupError
impl Error for VerbatimCircTargetDecodeError
impl Error for HsDescError
impl Error for IntroPointDescBuilderError
impl Error for ProtocolSupportError
impl Error for tor_netdoc::err::BuildError
impl Error for ArgumentError
impl Error for ErrorProblem
impl Error for VerifyFailed
impl Error for InvalidKeyword
impl Error for PolicyError
impl Error for RelayFlagsParseError
impl Error for ErrorSource
impl Error for BadSlug
impl Error for BadIso8601TimeSlug
impl Error for ClosedUnexpectedly
impl Error for ParametersError
impl Error for CircuitPadderConfigError
impl Error for tor_proto::util::err::Error
impl Error for ResolveError
impl Error for tor_protover::ParseError
impl Error for InvokeError
impl Error for InvalidRpcIdentifier
impl Error for tor_rpcbase::LookupError
impl Error for SendUpdateError
impl Error for SleepError
impl Error for MockNetError
impl Error for tor_socksproto::err::Error
impl Error for tor_units::Error
impl Error for url::parser::ParseError
std only.impl Error for webpki::error::Error
std only.impl Error for x509_cert::builder::Error
std only.impl Error for ZeroTrieBuildError
impl Error for UleError
impl Error for DirectoryKeyProviderError
impl Error for ClientError
impl Error for UploadError
impl Error for EstablishSessionError
impl Error for FatalError
impl Error for IntroRequestError
impl Error for IptError
impl Error for tor_hsservice::StartupError
impl Error for IptStoreError
impl Error for StateExpiryError
impl Error for IptEstablisherError
impl Error for ChooseIptError
impl Error for CreateIptError
impl Error for PowError
impl Error for LogContentError
impl Error for ReplayError
impl Error for DescUploadRetryError
impl Error for ConfigBuildError
impl Error for tor_hsservice::internal_prelude::DirClientError
impl Error for ReconfigureError
impl Error for Void
std only.impl Error for tor_hsservice::internal_prelude::fs::TryLockError
impl Error for Infallible
impl Error for FromBytesWithNulError
impl Error for core::slice::GetDisjointMutError
impl Error for VarError
impl Error for std::sync::mpsc::RecvTimeoutError
impl Error for std::sync::mpsc::TryRecvError
impl Error for tor_hsservice::internal_prelude::mpsc::TryRecvError
impl Error for !
impl Error for aho_corasick::util::error::BuildError
std only.impl Error for aho_corasick::util::error::MatchError
std only.impl Error for aho_corasick::util::primitives::PatternIDError
std only.impl Error for aho_corasick::util::primitives::StateIDError
std only.impl Error for MaxRecursionReached
impl Error for ToAsciiCharError
std only.impl Error for AsAsciiStrError
std only.impl Error for async_channel::RecvError
impl Error for async_channel::RecvError
std only.impl Error for async_executors::iface::timer::TimeoutError
impl Error for async_std::future::timeout::TimeoutError
impl Error for async_std::stream::stream::timeout::TimeoutError
impl Error for async_std::task::task_local::AccessError
impl Error for KeyRejected
impl Error for Unspecified
impl Error for InvalidEncodingError
impl Error for InvalidLengthError
impl Error for bitflags::parser::ParseError
std only.impl Error for bstr::ext_vec::FromUtf8Error
std only.impl Error for bstr::utf8::Utf8Error
std only.impl Error for TryGetError
std only.impl Error for DeserializeStateError
impl Error for InvalidKey
impl Error for crypto_common::InvalidLength
std only.impl Error for crypto_common::InvalidLength
impl Error for data_encoding::DecodeError
std only.impl Error for SpecificationError
std only.impl Error for der::error::Error
std only.impl Error for deranged::ParseIntError
impl Error for deranged::TryFromIntError
impl Error for UninitializedFieldError
std only.impl Error for WrongVariantError
impl Error for UnitError
impl Error for FromStrError
impl Error for MacError
std only.impl Error for InvalidBufferSize
std only.impl Error for InvalidOutputSize
std only.impl Error for elliptic_curve::error::Error
std only.impl Error for erased_serde::error::Error
impl Error for errno::Errno
std only.impl Error for figment::error::Error
impl Error for CompressError
impl Error for DecompressError
impl Error for Canceled
std only.impl Error for EnterError
impl Error for getrandom::error::Error
impl Error for getrandom::error::Error
impl Error for http::error::Error
impl Error for MaxSizeReached
impl Error for InvalidHeaderName
impl Error for InvalidHeaderValue
impl Error for ToStrError
impl Error for InvalidMethod
impl Error for InvalidStatusCode
impl Error for InvalidUri
impl Error for InvalidUriParts
impl Error for httpdate::Error
impl Error for TryFromIteratorError
impl Error for DataError
impl Error for Errors
std only.impl Error for indexmap::TryReserveError
impl Error for log::kv::error::Error
impl Error for log::ParseLevelError
std only.impl Error for SetLoggerError
std only.impl Error for native_tls::Error
impl Error for notify::error::Error
impl Error for openssl::error::Error
impl Error for ErrorStack
impl Error for openssl::ssl::error::Error
impl Error for X509VerifyResult
impl Error for FloatIsNan
std only.impl Error for EncodingError
impl Error for priority_queue::TryReserveError
std only.impl Error for NonUtf8Error
impl Error for TooLargeBufferRequiredError
impl Error for UnexpectedNullPointerError
impl Error for Empty
std only.impl Error for rand_core::error::Error
std only.impl Error for OsError
std only.impl Error for regex_automata::dfa::dense::BuildError
std and dfa-build only.impl Error for regex_automata::dfa::onepass::BuildError
std only.impl Error for regex_automata::hybrid::error::BuildError
std only.impl Error for CacheError
std only.impl Error for regex_automata::meta::error::BuildError
std only.impl Error for regex_automata::nfa::thompson::error::BuildError
std only.impl Error for GroupInfoError
std only.impl Error for UnicodeWordBoundaryError
std only.impl Error for regex_automata::util::primitives::PatternIDError
std only.impl Error for SmallIndexError
std only.impl Error for regex_automata::util::primitives::StateIDError
std only.impl Error for regex_automata::util::search::MatchError
std only.impl Error for PatternSetInsertError
std only.impl Error for DeserializeError
std only.impl Error for regex_automata::util::wire::SerializeError
std only.impl Error for regex_syntax::ast::Error
std only.impl Error for regex_syntax::hir::Error
std only.impl Error for CaseFoldError
std only.impl Error for UnicodeWordError
std only.impl Error for rustix::backend::io::errno::Errno
std or error_in_core only.impl Error for UnsupportedOperationError
std only.impl Error for OtherError
std only.impl Error for rustls_pki_types::server_name::AddrParseError
std only.impl Error for InvalidDnsNameError
std only.impl Error for serde_core::de::value::Error
std only.impl Error for serde_json::error::Error
impl Error for signature::error::Error
std only.impl Error for LabelError
std only.impl Error for ComponentRange
impl Error for ConversionRange
impl Error for DifferentVariant
impl Error for InvalidVariant
impl Error for tokio::net::tcp::split_owned::ReuniteError
impl Error for tokio::net::unix::split_owned::ReuniteError
impl Error for TryCurrentError
impl Error for JoinError
impl Error for AcquireError
impl Error for tokio::sync::mutex::TryLockError
impl Error for tokio::sync::oneshot::error::RecvError
impl Error for tokio::sync::watch::error::RecvError
impl Error for Elapsed
impl Error for tokio::time::error::Error
impl Error for LengthDelimitedCodecError
impl Error for toml::de::error::Error
impl Error for toml::de::Error
impl Error for toml::ser::error::Error
impl Error for toml::ser::Error
impl Error for toml_datetime::datetime::DatetimeParseError
impl Error for toml_datetime::datetime::DatetimeParseError
impl Error for toml_edit::de::Error
impl Error for TomlError
impl Error for MpscOtherSinkTrySendError
impl Error for InvalidSendmeTag
impl Error for ListenUnsupported
impl Error for InvalidBoolOrAuto
impl Error for UnixAddrNotAPath
impl Error for Truncated
impl Error for NoAfUnixSocketSupport
impl Error for UnknownKeyTypeError
impl Error for UnrecognizedEntryError
impl Error for MemoryReclaimedError
impl Error for NetdirProviderShutdown
impl Error for DecryptionError
impl Error for tor_netdoc::err::Error
impl Error for tor_netdoc::parse2::error::ParseError
impl Error for InvalidNetworkStatusVoteStatus
impl Error for InvalidHostname
impl Error for InvalidInternetHost
impl Error for tor_netdoc::types::misc::nickname::InvalidNickname
impl Error for tor_persist::err::Error
impl Error for UnsupportedAddress
impl Error for tor_rtcompat::timer::TimeoutError
impl Error for TlsServerUnsupported
impl Error for UnsupportedStreamOp
impl Error for UnsupportedAfUnixAddressType
impl Error for SyntheticError
impl Error for SetGlobalDefaultError
std only.impl Error for tracing_core::metadata::ParseLevelError
std only.impl Error for ParseLevelFilterError
std only.impl Error for universal_hash::Error
impl Error for walkdir::error::Error
impl Error for StreamWasFull
impl Error for InvalidIptLocalId
impl Error for OpenReplayLogError
impl Error for tor_hsservice::InvalidNickname
impl Error for tor_hsservice::time_store::ParseError
impl Error for tor_hsservice::internal_prelude::fmt::Error
impl Error for Aborted
std only.impl Error for UnorderedKeyError
impl Error for alloc::collections::TryReserveError
impl Error for FromVecWithNulError
impl Error for IntoStringError
impl Error for NulError
impl Error for alloc::string::FromUtf8Error
impl Error for FromUtf16Error
impl Error for LayoutError
impl Error for AllocError
impl Error for TryFromSliceError
impl Error for BorrowError
impl Error for BorrowMutError
impl Error for CharTryFromError
impl Error for ParseCharError
impl Error for DecodeUtf16Error
impl Error for TryFromCharError
impl Error for FromBytesUntilNulError
impl Error for core::net::parser::AddrParseError
impl Error for core::num::error::ParseIntError
impl Error for core::num::error::TryFromIntError
impl Error for ParseFloatError
impl Error for ParseBoolError
impl Error for core::str::error::Utf8Error
impl Error for TryFromFloatSecsError
impl Error for JoinPathsError
impl Error for NormalizeError
impl Error for StripPrefixError
impl Error for ExitStatusError
impl Error for std::sync::mpsc::RecvError
impl Error for std::thread::local::AccessError
impl Error for SystemTimeError
impl Error for tor_hsservice::internal_prelude::io::Error
impl Error for WriterPanicked
impl Error for tor_hsservice::internal_prelude::mpsc::RecvError
impl Error for tor_hsservice::internal_prelude::mpsc::SendError
impl Error for Bug
impl Error for RequestFailedError
impl Error for SpawnError
std only.impl<'a, K, V> Error for alloc::collections::btree::map::entry::OccupiedError<'a, K, V>
impl<'a, K, V, A> Error for std::collections::hash::map::OccupiedError<'a, K, V, A>
impl<'a, T> Error for &'a T
impl<A, S, V> Error for ConvertError<A, S, V>
no_zerocopy_core_error_1_81_0 or crate feature std only.impl<CE> Error for tor_memquota::mq_queue::SendError<CE>
impl<E> Error for Err<E>where
E: Debug,
std only.impl<E> Error for ParseNotNanError<E>
std only.impl<E> Error for BackoffError<E>
impl<E> Error for SubfieldBuildError<E>where
E: Error,
std only.impl<E> Error for shellexpand::path::funcs::LookupError<E>where
E: Error + 'static,
impl<E> Error for shellexpand::strings::funcs::LookupError<E>where
E: Error + 'static,
impl<E> Error for MultilineListBuilderError<E>
impl<E> Error for Box<E>where
E: Error,
impl<E> Error for RetryError<E>
impl<Enum> Error for TryFromPrimitiveError<Enum>where
Enum: TryFromPrimitive,
impl<I> Error for ExactlyOneError<I>
use_std only.impl<I> Error for nom::error::Error<I>
std only.impl<I> Error for VerboseError<I>
std only.impl<I> Error for winnow::error::InputError<I>
std only.impl<I> Error for winnow::error::InputError<I>
std only.impl<I, C> Error for winnow::error::TreeError<I, C>
std only.impl<I, C> Error for winnow::error::TreeError<I, C>
std only.impl<L, R> Error for Either<L, R>
std only.Either implements Error if both L and R implement it.
Requires crate feature "std"
impl<O> Error for FromAsciiError<O>where
O: Any,
std only.impl<R> Error for BitIdxError<R>where
R: BitRegister,
std only.impl<R> Error for SetRecorderError<R>
impl<S> Error for native_tls::HandshakeError<S>
impl<S> Error for openssl::ssl::error::HandshakeError<S>where
S: Debug,
impl<Src, Dst> Error for AlignmentError<Src, Dst>
no_zerocopy_core_error_1_81_0 or crate feature std only.impl<Src, Dst> Error for SizeError<Src, Dst>
no_zerocopy_core_error_1_81_0 or crate feature std only.impl<Src, Dst> Error for ValidityError<Src, Dst>
no_zerocopy_core_error_1_81_0 or crate feature std only.impl<T> Error for async_channel::TrySendError<T>
impl<T> Error for async_channel::TrySendError<T>
std only.impl<T> Error for BitPtrError<T>where
T: BitStore,
std only.impl<T> Error for BitSpanError<T>where
T: BitStore,
std only.impl<T> Error for PushError<T>where
T: Debug,
std only.impl<T> Error for postage::sink::errors::TrySendError<T>where
T: Debug,
impl<T> Error for tokio::sync::mpsc::error::SendTimeoutError<T>
time only.impl<T> Error for tokio::sync::mpsc::error::TrySendError<T>
impl<T> Error for SetError<T>where
T: Debug,
impl<T> Error for std::sync::mpmc::error::SendTimeoutError<T>
impl<T> Error for std::sync::mpsc::TrySendError<T>
impl<T> Error for std::sync::oneshot::RecvTimeoutError<T>
impl<T> Error for std::sync::oneshot::TryRecvError<T>
impl<T> Error for std::sync::poison::TryLockError<T>
impl<T> Error for CapacityError<T>where
T: Any,
std only.Requires features="std".
impl<T> Error for async_channel::SendError<T>
impl<T> Error for async_channel::SendError<T>
std only.impl<T> Error for MisalignError<T>
std only.impl<T> Error for ForcePushError<T>where
T: Debug,
std only.impl<T> Error for TryFromReprError<T>where
T: Debug,
impl<T> Error for TryIntoError<T>where
T: Debug,
impl<T> Error for TryUnwrapError<T>where
T: Debug,
impl<T> Error for futures_util::io::split::ReuniteError<T>where
T: Any,
std only.impl<T> Error for postage::sink::errors::SendError<T>where
T: Debug,
impl<T> Error for AsyncFdTryNewError<T>
impl<T> Error for tokio::sync::broadcast::error::SendError<T>where
T: Debug,
impl<T> Error for tokio::sync::mpsc::error::SendError<T>
impl<T> Error for SetOnceError<T>where
T: Debug,
impl<T> Error for tokio::sync::watch::error::SendError<T>
impl<T> Error for PollSendError<T>where
T: Debug,
impl<T> Error for ThinBox<T>
impl<T> Error for std::sync::mpsc::SendError<T>
impl<T> Error for PoisonError<T>
impl<T> Error for tor_hsservice::internal_prelude::mpsc::TrySendError<T>where
T: Any,
impl<T> Error for Arc<T>
impl<T, E> Error for TryChunksError<T, E>
std only.impl<T, E> Error for TryReadyChunksError<T, E>
std only.impl<T, Item> Error for futures_util::stream::stream::split::ReuniteError<T, Item>where
T: Any,
std only.