Skip to main content

StdError

Trait StdError 

1.0.0 · Source
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 · 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());
}
§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

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 AsRef<dyn Error> for UploadError

Source§

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

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl ErrorReport for dyn Error + Sync + Send

Implementation for anyhow::Error, which derefs to dyn StdError.

Source§

fn report(&self) -> Report<ReportHelper<'_>>

Return an object that displays the error and its causes
Source§

impl ErrorReport for dyn Error

Source§

fn report(&self) -> Report<ReportHelper<'_>>

Return an object that displays the error and its causes
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

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.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

1.65.0 · Source§

impl !Error for &str

Source§

impl Error for !

Source§

impl Error for Aborted

Available on crate feature std only.
1.26.0 · Source§

impl Error for std::thread::local::AccessError

Source§

impl Error for async_std::task::task_local::AccessError

Source§

impl Error for AcquireError

1.4.0 · Source§

impl Error for core::net::parser::AddrParseError

Source§

impl Error for tor_general_addr::general::AddrParseError

Source§

impl Error for rustls_pki_types::server_name::AddrParseError

Available on crate feature std only.
Source§

impl Error for ipnet::parser::AddrParseError

Source§

impl Error for AllocError

Source§

impl Error for AnyDelimiterCodecError

Source§

impl Error for ArgumentError

Source§

impl Error for ArtiPathError

Source§

impl Error for ArtiPathSyntaxError

Source§

impl Error for ArtiPathUnavailableError

Source§

impl Error for AsAsciiStrError

Available on crate feature std only.
Source§

impl Error for BadIso8601TimeSlug

Source§

impl Error for BadSlug

Source§

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

Source§

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

Available on crate feature std only.
Source§

impl Error for BinaryError

Source§

impl Error for BlindingError

1.13.0 · Source§

impl Error for BorrowError

1.13.0 · Source§

impl Error for BorrowMutError

Source§

impl Error for BridgeAddrError

Source§

impl Error for BridgeParseError

Source§

impl Error for Bug

Source§

impl Error for regex_automata::dfa::dense::BuildError

Available on crate features dfa-build and std only.
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 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 aho_corasick::util::error::BuildError

Available on crate feature std only.
Source§

impl Error for tor_netdoc::err::BuildError

Source§

impl Error for CTorPathError

Source§

impl Error for CacheError

Available on crate feature std only.
Source§

impl Error for Canceled

Available on crate feature std only.
Source§

impl Error for CaseFoldError

Available on crate feature std only.
Source§

impl Error for CertEncodeError

Source§

impl Error for CertError

Source§

impl Error for CfgAddrError

Source§

impl Error for CfgPathError

Source§

impl Error for ChanTargetDecodeError

1.34.0 · Source§

impl Error for CharTryFromError

Source§

impl Error for ChooseIptError

Source§

impl Error for CircuitPadderConfigError

Source§

impl Error for ClientError

Source§

impl Error for ClosedUnexpectedly

Source§

impl Error for CompilerError

Source§

impl Error for ComponentRange

Source§

impl Error for CompressError

Source§

impl Error for ConfigBuildError

Source§

impl Error for ConfigError

Source§

impl Error for ConfigGetValueError

Source§

impl Error for ConfigResolveError

Source§

impl Error for ConsensusVerifiabilityError

Source§

impl Error for ConsensusVerifyFailed

Source§

impl Error for ConversionRange

Source§

impl Error for CreateIptError

Source§

impl Error for DataError

Source§

impl Error for toml_datetime::datetime::DatetimeParseError

Source§

impl Error for toml_datetime::datetime::DatetimeParseError

Source§

impl Error for base64::decode::DecodeError

Available on crate features std only.
Source§

impl Error for data_encoding::DecodeError

Available on crate feature std only.
Source§

impl Error for DecodeSliceError

Available on crate features std only.
1.9.0 · Source§

impl Error for DecodeUtf16Error

Source§

impl Error for DecompressError

Source§

impl Error for DecryptionError

Source§

impl Error for DerConstraint

Source§

impl Error for DescUploadRetryError

Source§

impl Error for DeserializeError

Available on crate feature std only.
Source§

impl Error for DeserializeStateError

Source§

impl Error for DeserializerError

Source§

impl Error for DifferentVariant

Source§

impl Error for DirectoryKeyProviderError

Source§

impl Error for DynasmError

Source§

impl Error for EarlyDataError

Available on crate feature std only.
Source§

impl Error for Ed25519CertBuilderError

Source§

impl Error for Elapsed

Source§

impl Error for rand::distr::slice::Empty

Source§

impl Error for rand::distr::slice::Empty

Available on crate feature std only.
Source§

impl Error for rustls::conn::unbuffered::EncodeError

Available on crate feature std only.
Source§

impl Error for tor_bytes::err::EncodeError

Source§

impl Error for EncodeSliceError

Available on crate features std only.
Source§

impl Error for EncodingError

Source§

impl Error for EncryptError

Available on crate feature std only.
Source§

impl Error for EnterError

Source§

impl Error for ErasedSinkTrySendError

Source§

impl Error for rustix::backend::io::errno::Errno

Available on error_in_core or crate feature std only.
Source§

impl Error for errno::Errno

Available on crate feature std only.
1.0.0 · Source§

impl Error for tor_hsservice::internal_prelude::io::Error

1.11.0 · Source§

impl Error for tor_hsservice::internal_prelude::fmt::Error

Source§

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

Available on crate feature std only.
Source§

impl Error for log::kv::error::Error

Source§

impl Error for arbitrary::error::Error

Source§

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

Source§

impl Error for rustls::error::Error

Available on crate feature std only.
Source§

impl Error for rustls_pki_types::pem::Error

Available on crate feature std only.
Source§

impl Error for getrandom::error::Error

Source§

impl Error for webpki::error::Error

Available on crate feature std only.
Source§

impl Error for native_tls::Error

Source§

impl Error for openssl::error::Error

Source§

impl Error for openssl::ssl::error::Error

Source§

impl Error for http::error::Error

Source§

impl Error for humantime::date::Error

Source§

impl Error for humantime::duration::Error

Source§

impl Error for serde_json::error::Error

Source§

impl Error for const_oid::error::Error

Available on crate feature std only.
Source§

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

Source§

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

Source§

impl Error for getrandom::error::Error

Source§

impl Error for rsa::errors::Error

Available on crate feature std only.
Source§

impl Error for rand_core::error::Error

Available on crate feature std only.
Source§

impl Error for signature::error::Error

Available on crate feature std only.
Source§

impl Error for pkcs8::error::Error

Available on crate feature std only.
Source§

impl Error for der::error::Error

Available on crate feature std only.
Source§

impl Error for pem_rfc7468::error::Error

Available on crate feature std only.
Source§

impl Error for base64ct::errors::Error

Source§

impl Error for spki::error::Error

Available on crate feature std only.
Source§

impl Error for pkcs1::error::Error

Available on crate feature std only.
Source§

impl Error for safelog::err::Error

Source§

impl Error for asn1_rs::error::Error

Source§

impl Error for x509_cert::builder::Error

Available on crate feature std only.
Source§

impl Error for elliptic_curve::error::Error

Available on crate feature std only.
Source§

impl Error for sec1::error::Error

Available on crate feature std only.
Source§

impl Error for async_native_tls::acceptor::Error

Source§

impl Error for icu_collections::codepointtrie::error::Error

Source§

impl Error for tor_basic_utils::n_key_list::Error

Source§

impl Error for tor_basic_utils::n_key_set::Error

Source§

impl Error for tor_cell::err::Error

Source§

impl Error for tor_bytes::err::Error

Source§

impl Error for tor_memquota::error::Error

Source§

impl Error for regex::error::Error

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::error::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 figment::error::Error

Source§

impl Error for toml::de::Error

Source§

impl Error for toml::ser::Error

Source§

impl Error for toml_edit::de::Error

Source§

impl Error for toml_edit::ser::Error

Source§

impl Error for notify::error::Error

Source§

impl Error for walkdir::error::Error

Source§

impl Error for fs_mistrust::err::Error

Source§

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

Source§

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

Source§

impl Error for tor_units::Error

Source§

impl Error for tor_hscrypto::pow::err::Error

Source§

impl Error for tor_key_forge::err::Error

Source§

impl Error for ssh_key_fork_arti::error::Error

Available on crate feature std only.
Source§

impl Error for ssh_encoding_fork_arti::error::Error

Available on crate feature std only.
Source§

impl Error for equix::err::Error

Source§

impl Error for hashx::err::Error

Source§

impl Error for tor_circmgr::err::Error

Source§

impl Error for tor_chanmgr::err::Error

Source§

impl Error for tor_proto::util::err::Error

Source§

impl Error for erased_serde::error::Error

Source§

impl Error for universal_hash::Error

Source§

impl Error for maybenot::error::Error

Source§

impl Error for getrandom::error::Error

Source§

impl Error for rand_distr::beta::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::binomial::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::cauchy::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::chi_squared::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::dirichlet::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::exponential::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::fisher_f::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::frechet::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::gamma::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::geometric::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::gumbel::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::hypergeometric::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::inverse_gaussian::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::normal::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::normal_inverse_gaussian::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::pareto::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::poisson::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::skew_normal::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::weibull::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::zeta::Error

Available on crate feature std only.
Source§

impl Error for rand_distr::zipf::Error

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 tor_socksproto::err::Error

Source§

impl Error for tor_netdir::err::Error

Source§

impl Error for tor_netdoc::err::Error

Source§

impl Error for time::error::Error

Source§

impl Error for tor_geoip::err::Error

Source§

impl Error for httparse::Error

Available on crate feature std only.
Source§

impl Error for tor_persist::err::Error

Source§

impl Error for tor_hsservice::internal_prelude::DirClientError

Source§

impl Error for liblzma::stream::Error

Source§

impl Error for httpdate::Error

Source§

impl Error for tor_keymgr::err::Error

Source§

impl Error for ErrorCode

Available on crate feature std only.
Source§

impl Error for ErrorKind

Source§

impl Error for ErrorProblem

Source§

impl Error for ErrorSource

Source§

impl Error for ErrorStack

Source§

impl Error for Errors

Available on crate feature std only.
Source§

impl Error for EstablishIntroSigError

Source§

impl Error for EstablishSessionError

Source§

impl Error for EventMaskParseError

Source§

impl Error for ExitStatusError

Source§

impl Error for ExpectedConstantString

Source§

impl Error for F64FiniteParseError

Source§

impl Error for FatalError

Source§

impl Error for FileWatcherBuildError

Source§

impl Error for FloatIsNan

Available on crate feature std only.
Source§

impl Error for Format

1.69.0 · Source§

impl Error for FromBytesUntilNulError

1.17.0 · Source§

impl Error for FromBytesWithNulError

Source§

impl Error for FromHexError

Available on crate feature std only.
Source§

impl Error for FromStrError

1.0.0 · Source§

impl Error for alloc::string::FromUtf8Error

Source§

impl Error for bstr::ext_vec::FromUtf8Error

Available on crate feature std only.
1.0.0 · Source§

impl Error for FromUtf16Error

1.58.0 · Source§

impl Error for FromVecWithNulError

Source§

impl Error for GenError

Available on crate feature std only.
1.86.0 · Source§

impl Error for core::slice::GetDisjointMutError

Source§

impl Error for slab::GetDisjointMutError

Available on crate feature std only.
Source§

impl Error for indexmap::GetDisjointMutError

Source§

impl Error for GroupInfoError

Available on crate feature std only.
Source§

impl Error for GuardMgrConfigError

Source§

impl Error for GuardMgrError

Source§

impl Error for HsClientDescEncKeyParseError

Source§

impl Error for HsDescError

Source§

impl Error for HsIdParseError

1.8.0 · Source§

impl Error for Infallible

Source§

impl Error for InstallRuntimeError

Source§

impl Error for InsufficientTokensError

1.7.0 · Source§

impl Error for IntoStringError

Source§

impl Error for IntroPointDescBuilderError

Source§

impl Error for IntroRequestError

Source§

impl Error for InvalidBoolOrAuto

Source§

impl Error for InvalidBufferSize

Available on crate feature std only.
Source§

impl Error for InvalidCertError

Source§

impl Error for InvalidContactInfo

Source§

impl Error for InvalidDnsNameError

Available on crate feature std only.
Source§

impl Error for InvalidEncodingError

Source§

impl Error for InvalidFormatDescription

Source§

impl Error for InvalidHeaderName

Source§

impl Error for InvalidHeaderValue

Source§

impl Error for InvalidHostname

Source§

impl Error for InvalidInternetHost

Source§

impl Error for InvalidIptLocalId

Source§

impl Error for InvalidKey

Source§

impl Error for InvalidKeyPathComponentValue

Source§

impl Error for InvalidKeyword

Source§

impl Error for crypto_common::InvalidLength

Available on crate feature std only.
Source§

impl Error for crypto_common::InvalidLength

Source§

impl Error for InvalidLengthError

Source§

impl Error for InvalidMethod

Source§

impl Error for tor_netdoc::types::misc::nickname::InvalidNickname

Source§

impl Error for tor_hsservice::InvalidNickname

Source§

impl Error for InvalidOutputSize

Available on crate feature std only.
Source§

impl Error for InvalidRecommendedTorVersions

Source§

impl Error for InvalidRelayWeights

Source§

impl Error for InvalidRpcIdentifier

Source§

impl Error for InvalidSendmeTag

Source§

impl Error for InvalidStatusCode

Source§

impl Error for InvalidUri

Source§

impl Error for InvalidUriParts

Source§

impl Error for InvalidVariant

Source§

impl Error for InvokeError

Source§

impl Error for IptError

Source§

impl Error for IptEstablisherError

Source§

impl Error for IptStoreError

Source§

impl Error for JoinError

1.0.0 · Source§

impl Error for JoinPathsError

Source§

impl Error for JsonCodecError

Source§

impl Error for KeyMgrBuilderError

Source§

impl Error for KeyPathError

Source§

impl Error for KeyRejected

Source§

impl Error for KeystoreCorruptionError

Source§

impl Error for KillError

Source§

impl Error for LabelError

Available on crate feature std only.
1.28.0 · Source§

impl Error for LayoutError

Source§

impl Error for LengthDelimitedCodecError

Source§

impl Error for LinesCodecError

Source§

impl Error for ListenUnsupported

Source§

impl Error for LogContentError

Source§

impl Error for tor_rpcbase::LookupError

Source§

impl Error for MacError

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 aho_corasick::util::error::MatchError

Available on crate feature std only.
Source§

impl Error for MaxRecursionReached

Source§

impl Error for MaxSizeReached

Source§

impl Error for MemoryReclaimedError

Source§

impl Error for MockNetError

Source§

impl Error for MpscOtherSinkTrySendError

Source§

impl Error for NetdirProviderShutdown

Source§

impl Error for NeverEnoughTokensError

Source§

impl Error for NoAfUnixSocketSupport

Source§

impl Error for NonUtf8Error

Source§

impl Error for NormalizeError

1.0.0 · Source§

impl Error for NulError

Source§

impl Error for OidParseError

Source§

impl Error for OnionDirLookupError

Source§

impl Error for OpenReplayLogError

Source§

impl Error for OsError

Available on crate feature std only.
Source§

impl Error for OtherError

Available on crate feature std only.
Source§

impl Error for ParametersError

Source§

impl Error for Parse

Source§

impl Error for ParseAlphabetError

Available on crate features std only.
1.0.0 · Source§

impl Error for ParseBoolError

1.20.0 · Source§

impl Error for ParseCharError

Source§

impl Error for bitflags::parser::ParseError

Available on crate feature std only.
Source§

impl Error for strum::ParseError

Available on crate feature std only.
Source§

impl Error for url::parser::ParseError

Available on crate feature std only.
Source§

impl Error for icu_locale_core::parser::errors::ParseError

Source§

impl Error for tinystr::error::ParseError

Source§

impl Error for tor_protover::ParseError

Source§

impl Error for tor_netdoc::parse2::error::ParseError

Source§

impl Error for tor_hsservice::time_store::ParseError

1.0.0 · Source§

impl Error for ParseFloatError

Source§

impl Error for ParseFromDescription

1.0.0 · Source§

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

Source§

impl Error for deranged::ParseIntError

Source§

impl Error for tracing_core::metadata::ParseLevelError

Available on crate feature std only.
Source§

impl Error for log::ParseLevelError

Available on crate feature std only.
Source§

impl Error for ParseLevelFilterError

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 aho_corasick::util::primitives::PatternIDError

Available on crate feature std only.
Source§

impl Error for PatternSetInsertError

Available on crate feature std only.
Source§

impl Error for PemError

Available on crate features std only.
Source§

impl Error for PertError

Available on crate feature std only.
Source§

impl Error for PickGuardError

Source§

impl Error for PolicyError

Source§

impl Error for PopError

Available on crate feature std only.
Source§

impl Error for PowError

Source§

impl Error for PreferencesParseError

Source§

impl Error for PrefixLenError

Source§

impl Error for ProtocolSupportError

Source§

impl Error for ProxyError

Source§

impl Error for PtTargetInvalidSetting

Source§

impl Error for ReconfigureError

1.0.0 · Source§

impl Error for std::sync::mpsc::RecvError

Source§

impl Error for async_channel::RecvError

Source§

impl Error for async_channel::RecvError

Available on crate feature std only.
Source§

impl Error for tor_hsservice::internal_prelude::mpsc::RecvError

Source§

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

Source§

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

Source§

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

1.15.0 · Source§

impl Error for std::sync::mpsc::RecvTimeoutError

Source§

impl Error for RelayFlagsParseError

Source§

impl Error for RelayIdError

Source§

impl Error for RelayLookupError

Source§

impl Error for ReplayError

Source§

impl Error for RequestError

Source§

impl Error for RequestFailedError

Source§

impl Error for ResolveError

Source§

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

Source§

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

Source§

impl Error for RuntimeError

Source§

impl Error for RuntimeErrorV1

Source§

impl Error for tor_hsservice::internal_prelude::mpsc::SendError

Source§

impl Error for SendUpdateError

Source§

impl Error for asn1_rs::error::SerializeError

Source§

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

Available on crate feature std only.
Source§

impl Error for serde_value::ser::SerializerError

Source§

impl Error for toml_datetime::ser::SerializerError

Source§

impl Error for SetGlobalDefaultError

Available on crate feature std only.
Source§

impl Error for SetLoggerError

Available on crate feature std only.
Source§

impl Error for SleepError

Source§

impl Error for SmallIndexError

Available on crate feature std only.
Source§

impl Error for SolutionError

Source§

impl Error for SolutionErrorV1

Source§

impl Error for SpawnError

Available on crate feature std only.
Source§

impl Error for SpecificationError

Available on crate feature std only.
Source§

impl Error for regex_automata::dfa::automaton::StartError

Available on crate feature std only.
Source§

impl Error for regex_automata::hybrid::error::StartError

Available on crate feature std only.
Source§

impl Error for tor_memquota::error::StartupError

Source§

impl Error for tor_hsservice::StartupError

Source§

impl Error for StateExpiryError

Source§

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

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 StreamIsolationBuilderError

Source§

impl Error for StreamWasFull

1.7.0 · Source§

impl Error for StripPrefixError

Source§

impl Error for SyntheticError

1.8.0 · Source§

impl Error for SystemTimeError

Source§

impl Error for TimePeriodError

Source§

impl Error for TimeValidityError

Source§

impl Error for tor_rtcompat::timer::TimeoutError

Source§

impl Error for async_std::future::timeout::TimeoutError

Source§

impl Error for async_std::stream::stream::timeout::TimeoutError

Source§

impl Error for async_executors::iface::timer::TimeoutError

Source§

impl Error for TimerError

Available on crate feature std only.
Source§

impl Error for TlsServerUnsupported

Source§

impl Error for ToAsciiCharError

Available on crate feature std only.
Source§

impl Error for ToStrError

Source§

impl Error for TokioTpErr

Source§

impl Error for TomlError

Source§

impl Error for TooLargeBufferRequiredError

Source§

impl Error for TransportIdError

Source§

impl Error for TriangularError

Available on crate feature std only.
Source§

impl Error for Truncated

Source§

impl Error for TryAcquireError

Source§

impl Error for TryCurrentError

1.59.0 · Source§

impl Error for TryFromCharError

1.66.0 · Source§

impl Error for TryFromFloatSecsError

1.34.0 · Source§

impl Error for core::num::error::TryFromIntError

Source§

impl Error for deranged::TryFromIntError

Source§

impl Error for TryFromIteratorError

Source§

impl Error for TryFromParsed

1.34.0 · Source§

impl Error for TryFromSliceError

Source§

impl Error for TryGetError

Available on crate feature std only.
1.89.0 · Source§

impl Error for tor_hsservice::internal_prelude::fs::TryLockError

Source§

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

1.0.0 · Source§

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

Source§

impl Error for async_channel::TryRecvError

Source§

impl Error for async_channel::TryRecvError

Available on crate feature std only.
Source§

impl Error for tor_hsservice::internal_prelude::mpsc::TryRecvError

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 postage::stream::errors::TryRecvError

1.57.0 · Source§

impl Error for alloc::collections::TryReserveError

Source§

impl Error for indexmap::TryReserveError

Source§

impl Error for hashbrown::TryReserveError

Source§

impl Error for priority_queue::TryReserveError

Available on crate feature std only.
Source§

impl Error for UleError

Source§

impl Error for UnexpectedNullPointerError

Source§

impl Error for UnicodeWordBoundaryError

Available on crate feature std only.
Source§

impl Error for UnicodeWordError

Available on crate feature std only.
Source§

impl Error for UninitializedFieldError

Available on crate feature std only.
Source§

impl Error for UnitError

Source§

impl Error for UnixAddrNotAPath

Source§

impl Error for UnknownKeyTypeError

Source§

impl Error for UnorderedKeyError

Source§

impl Error for UnrecognizedEntryError

Source§

impl Error for Unspecified

Source§

impl Error for UnsupportedAddress

Source§

impl Error for UnsupportedAfUnixAddressType

Source§

impl Error for UnsupportedOperationError

Available on crate feature std only.
Source§

impl Error for UnsupportedStreamOp

Source§

impl Error for UploadError

1.0.0 · Source§

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

Source§

impl Error for bstr::utf8::Utf8Error

Available on crate feature std only.
Source§

impl Error for VanguardMgrError

1.0.0 · Source§

impl Error for VarError

Source§

impl Error for VerbatimCircTargetDecodeError

Source§

impl Error for VerifierBuilderError

Available on crate feature std only.
Source§

impl Error for VerifyFailed

Source§

impl Error for Void

Available on crate feature std only.
Source§

impl Error for VoteVerifyFailed

1.56.0 · Source§

impl Error for WriterPanicked

Source§

impl Error for WrongVariantError

Source§

impl Error for X509CertError

Source§

impl Error for X509VerifyResult

Source§

impl Error for ZeroTrieBuildError

1.51.0 · Source§

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

Source§

impl<A, S, V> Error for ConvertError<A, S, V>
where A: Display + Debug, S: Display + Debug, V: Display + Debug,

Available on crate feature std or non-no_zerocopy_core_error_1_81_0 only.
Source§

impl<CE> Error for tor_memquota::mq_queue::SendError<CE>
where CE: Error + 'static, SendError<CE>: Debug + Display,

Source§

impl<E> Error for BackoffError<E>
where Self: Debug + Display,

1.8.0 · Source§

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

Source§

impl<E> Error for Err<E>
where E: Debug,

Available on crate feature std only.
Source§

impl<E> Error for shellexpand::strings::funcs::LookupError<E>
where E: Error + 'static,

Source§

impl<E> Error for shellexpand::path::funcs::LookupError<E>
where E: Error + 'static,

Source§

impl<E> Error for MultilineListBuilderError<E>

Source§

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

Available on crate feature std only.
Source§

impl<E> Error for RetryError<E>
where E: Debug + AsRef<dyn Error>,

Source§

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

Available on crate feature std only.
Source§

impl<Enum> Error for TryFromPrimitiveError<Enum>
where Enum: TryFromPrimitive,

Source§

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

Available on crate feature std only.
Source§

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

Available on crate feature std only.
Source§

impl<I> Error for nom::error::Error<I>
where I: Debug + Display,

Available on crate feature std only.
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 winnow::error::InputError<I>
where I: Clone + Debug + Display + Sync + Send + 'static,

Available on crate feature std only.
Source§

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

Available on crate feature std only.
Source§

impl<I> Error for VerboseError<I>
where I: Debug + Display,

Available on crate feature std only.
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<O> Error for FromAsciiError<O>
where O: Any,

Available on crate feature std only.
Source§

impl<R> Error for BitIdxError<R>
where R: BitRegister,

Available on crate feature std only.
Source§

impl<R> Error for SetRecorderError<R>

Source§

impl<S> Error for native_tls::HandshakeError<S>
where S: Any + Debug,

Source§

impl<S> Error for openssl::ssl::error::HandshakeError<S>
where S: Debug,

Source§

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

Available on crate feature std or non-no_zerocopy_core_error_1_81_0 only.
Source§

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

Available on crate feature std or non-no_zerocopy_core_error_1_81_0 only.
Source§

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

Available on crate feature std or non-no_zerocopy_core_error_1_81_0 only.
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.
1.52.0 · Source§

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

Source§

impl<T> Error for AsyncFdTryNewError<T>

Source§

impl<T> Error for BitPtrError<T>
where T: BitStore,

Available on crate feature std only.
Source§

impl<T> Error for BitSpanError<T>
where T: BitStore,

Available on crate feature std only.
Source§

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

Available on crate feature std only.

Requires features="std".

Source§

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

Available on crate feature std only.
Source§

impl<T> Error for MisalignError<T>

Available on crate feature std only.
1.0.0 · Source§

impl<T> Error for PoisonError<T>

Source§

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

Source§

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

Available on crate feature std only.
Source§

impl<T> Error for std::sync::oneshot::RecvTimeoutError<T>

Source§

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

Available on crate feature std only.
1.0.0 · Source§

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

Source§

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

Source§

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

Available on crate feature std only.
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> Error for tokio::sync::broadcast::error::SendError<T>
where T: Debug,

Source§

impl<T> Error for postage::sink::errors::SendError<T>
where T: Debug,

Source§

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

Source§

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

Available on crate feature time only.
Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

1.0.0 · Source§

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

Source§

impl<T> Error for std::sync::oneshot::TryRecvError<T>

1.0.0 · Source§

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

Source§

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

Source§

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

Available on crate feature std only.
Source§

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

Source§

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

Source§

impl<T> Error for postage::sink::errors::TrySendError<T>
where T: Debug,

Source§

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

1.0.0 · Source§

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