Trait StdError

1.0.0 · Source
pub trait StdError: Debug + Display {
    // Provided methods
    fn source(&self) -> Option<&(dyn Error + 'static)> { ... }
    fn description(&self) -> &str { ... }
    fn cause(&self) -> Option<&dyn Error> { ... }
    fn provide<'a>(&'a self, request: &mut Request<'a>) { ... }
}
Expand description

Error is a trait representing the basic expectations for error values, i.e., values of type E in Result<T, E>.

Errors must describe themselves through the Display and Debug traits. Error messages are typically concise lowercase sentences without trailing punctuation:

let err = "NaN".parse::<u32>().unwrap_err();
assert_eq!(err.to_string(), "invalid digit found in string");

Errors may provide cause information. Error::source() is generally used when errors cross “abstraction boundaries”. If one module must report an error that is caused by an error from a lower-level module, it can allow accessing that error via Error::source(). This makes it possible for the high-level module to provide its own errors while also revealing some of the implementation for debugging.

§Example

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

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

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

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

impl Error for ReadConfigError {}

Provided Methods§

1.30.0 · Source

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

Returns the lower-level source of this error, if any.

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

#[derive(Debug)]
struct SuperError {
    source: SuperErrorSideKick,
}

impl fmt::Display for SuperError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "SuperError is here!")
    }
}

impl Error for SuperError {
    fn source(&self) -> Option<&(dyn Error + 'static)> {
        Some(&self.source)
    }
}

#[derive(Debug)]
struct SuperErrorSideKick;

impl fmt::Display for SuperErrorSideKick {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "SuperErrorSideKick is here!")
    }
}

impl Error for SuperErrorSideKick {}

fn get_super_error() -> Result<(), SuperError> {
    Err(SuperError { source: SuperErrorSideKick })
}

fn main() {
    match get_super_error() {
        Err(e) => {
            println!("Error: {e}");
            println!("Caused by: {}", e.source().unwrap());
        }
        _ => println!("No error"),
    }
}
1.0.0 · Source

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
if let Err(e) = "xc".parse::<u32>() {
    // Print `e` itself, no need for description().
    eprintln!("Error: {e}");
}
1.0.0 · Source

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)

Provides type-based access to context intended for error reports.

Used in conjunction with Request::provide_value and Request::provide_ref to extract references to member variables from dyn Error trait objects.

§Example
#![feature(error_generic_member_access)]
use core::fmt;
use core::error::{request_ref, Request};

#[derive(Debug)]
enum MyLittleTeaPot {
    Empty,
}

#[derive(Debug)]
struct MyBacktrace {
    // ...
}

impl MyBacktrace {
    fn new() -> MyBacktrace {
        // ...
    }
}

#[derive(Debug)]
struct Error {
    backtrace: MyBacktrace,
}

impl fmt::Display for Error {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "Example Error")
    }
}

impl std::error::Error for Error {
    fn provide<'a>(&'a self, request: &mut Request<'a>) {
        request
            .provide_ref::<MyBacktrace>(&self.backtrace);
    }
}

fn main() {
    let backtrace = MyBacktrace::new();
    let error = Error { backtrace };
    let dyn_error = &error as &dyn std::error::Error;
    let backtrace_ref = request_ref::<MyBacktrace>(dyn_error).unwrap();

    assert!(core::ptr::eq(&error.backtrace, backtrace_ref));
    assert!(request_ref::<MyLittleTeaPot>(dyn_error).is_none());
}

Implementations§

Source§

impl dyn Error

1.3.0 · Source

pub fn is<T>(&self) -> bool
where T: Error + 'static,

Returns true if the inner type is the same as T.

1.3.0 · Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: Error + 'static,

Returns some reference to the inner value if it is of type T, or None if it isn’t.

1.3.0 · Source

pub fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: Error + 'static,

Returns some mutable reference to the inner value if it is of type T, or None if it isn’t.

Source§

impl dyn Error + Send

1.3.0 · Source

pub fn is<T>(&self) -> bool
where T: Error + 'static,

Forwards to the method defined on the type dyn Error.

1.3.0 · Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: Error + 'static,

Forwards to the method defined on the type dyn Error.

1.3.0 · Source

pub fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: Error + 'static,

Forwards to the method defined on the type dyn Error.

Source§

impl dyn Error + Send + Sync

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

1.3.0 · Source

pub fn downcast<T>( self: Box<dyn Error + Send + Sync>, ) -> Result<Box<T>, Box<dyn Error + Send + Sync>>
where T: Error + 'static,

Attempts to downcast the box to a concrete type.

Trait Implementations§

1.6.0 · Source§

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

Source§

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

Converts a str into a box of dyn Error.

§Examples
use std::error::Error;

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

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

Source§

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

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

§Examples
use std::error::Error;

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

impl From<ColoredString> for Box<dyn Error>

§

fn from(cs: ColoredString) -> Box<dyn Error>

Converts to this type from the input type.
§

impl From<CompactString> for Box<dyn Error>

§

fn from(value: CompactString) -> Box<dyn Error>

Converts to this type from the input type.
§

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

§

fn from(value: CompactString) -> Box<dyn Error + Send + Sync>

Converts to this type from the input type.
1.22.0 · Source§

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

Source§

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

Converts a Cow into a box of dyn Error.

§Examples
use std::error::Error;
use std::borrow::Cow;

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

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

Source§

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

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

§Examples
use std::error::Error;
use std::borrow::Cow;

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

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

Source§

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

Converts a type of Error into a box of dyn Error.

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

#[derive(Debug)]
struct AnError;

impl fmt::Display for AnError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "An error")
    }
}

impl Error for AnError {}

let an_error = AnError;
assert!(0 == size_of_val(&an_error));
let a_boxed_error = Box::<dyn Error>::from(an_error);
assert!(size_of::<Box<dyn Error>>() == size_of_val(&a_boxed_error))
1.0.0 · Source§

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

Source§

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

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

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

#[derive(Debug)]
struct AnError;

impl fmt::Display for AnError {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "An error")
    }
}

impl Error for AnError {}

unsafe impl Send for AnError {}

unsafe impl Sync for AnError {}

let an_error = AnError;
assert!(0 == size_of_val(&an_error));
let a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);
assert!(
    size_of::<Box<dyn Error + Send + Sync>>() == size_of_val(&a_boxed_error))
Source§

impl From<Error> for Box<dyn Error>

Source§

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

Converts to this type from the input type.
Source§

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

Source§

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

Converts to this type from the input type.
Source§

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

Source§

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

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;

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

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

Source§

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

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

§Examples
use std::error::Error;

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

impl Value for dyn Error

§

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

Visits this value with the given Visitor.
§

impl Value for dyn Error + Send

§

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

Visits this value with the given Visitor.
§

impl Value for dyn Error + Send + Sync

§

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

Visits this value with the given Visitor.
§

impl Value for dyn Error + Sync

§

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

§

impl Error for ConfigError

§

impl Error for ImporterError

§

impl Error for SqliteDatasetError

§

impl Error for ImageLoaderError

§

impl Error for RecorderError

1.8.0 · Source§

impl Error for Infallible

1.17.0 · Source§

impl Error for FromBytesWithNulError

1.86.0 · Source§

impl Error for core::slice::GetDisjointMutError

1.0.0 · Source§

impl Error for VarError

Source§

impl Error for std::fs::TryLockError

1.15.0 · Source§

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

1.0.0 · Source§

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

Source§

impl Error for bincode::error::DecodeError

Source§

impl Error for bincode::error::EncodeError

Source§

impl Error for url::parser::ParseError

Source§

impl Error for BernoulliError

Source§

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

Source§

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

Source§

impl Error for rand_distr::beta::Error

Source§

impl Error for rand_distr::binomial::Error

Source§

impl Error for rand_distr::cauchy::Error

Source§

impl Error for rand_distr::chi_squared::Error

Source§

impl Error for rand_distr::dirichlet::Error

Source§

impl Error for rand_distr::exponential::Error

Source§

impl Error for rand_distr::fisher_f::Error

Source§

impl Error for rand_distr::frechet::Error

Source§

impl Error for rand_distr::gamma::Error

Source§

impl Error for rand_distr::geometric::Error

Source§

impl Error for rand_distr::gumbel::Error

Source§

impl Error for rand_distr::hypergeometric::Error

Source§

impl Error for rand_distr::inverse_gaussian::Error

Source§

impl Error for rand_distr::normal::Error

Source§

impl Error for rand_distr::normal_inverse_gaussian::Error

Source§

impl Error for rand_distr::pareto::Error

Source§

impl Error for PertError

Source§

impl Error for rand_distr::poisson::Error

Source§

impl Error for rand_distr::skew_normal::Error

Source§

impl Error for TriangularError

Source§

impl Error for rand_distr::weibull::Error

Source§

impl Error for rand_distr::zeta::Error

Source§

impl Error for rand_distr::zipf::Error

Source§

impl Error for !

Source§

impl Error for UnorderedKeyError

1.57.0 · Source§

impl Error for alloc::collections::TryReserveError

1.58.0 · Source§

impl Error for FromVecWithNulError

1.7.0 · Source§

impl Error for IntoStringError

1.0.0 · Source§

impl Error for NulError

1.0.0 · Source§

impl Error for alloc::string::FromUtf8Error

1.0.0 · Source§

impl Error for FromUtf16Error

1.28.0 · Source§

impl Error for core::alloc::layout::LayoutError

Source§

impl Error for AllocError

1.34.0 · Source§

impl Error for TryFromSliceError

1.13.0 · Source§

impl Error for BorrowError

1.13.0 · Source§

impl Error for BorrowMutError

1.34.0 · Source§

impl Error for CharTryFromError

1.20.0 · Source§

impl Error for ParseCharError

1.9.0 · Source§

impl Error for DecodeUtf16Error

1.59.0 · Source§

impl Error for TryFromCharError

1.69.0 · Source§

impl Error for FromBytesUntilNulError

1.11.0 · Source§

impl Error for core::fmt::Error

1.4.0 · Source§

impl Error for 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 core::str::error::Utf8Error

1.66.0 · Source§

impl Error for TryFromFloatSecsError

1.0.0 · Source§

impl Error for JoinPathsError

1.56.0 · Source§

impl Error for WriterPanicked

1.0.0 · Source§

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

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 CompressError

Source§

impl Error for DecompressError

Source§

impl Error for getrandom::error::Error

Source§

impl Error for PrefixLenError

Source§

impl Error for ipnet::parser::AddrParseError

Source§

impl Error for log::ParseLevelError

Source§

impl Error for SetLoggerError

Source§

impl Error for ShapeError

Source§

impl Error for ParseBigIntError

Source§

impl Error for ParseRatioError

Source§

impl Error for r2d2::Error

Source§

impl Error for serde_json::error::Error

Source§

impl Error for PathPersistError

Source§

impl Error for uuid::error::Error

Source§

impl Error for Empty

Source§

impl Error for OsError

Source§

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

§

impl Error for Aborted

§

impl Error for AcquireError

§

impl Error for AddrParseError

§

impl Error for AllocationError

§

impl Error for AllocationError

§

impl Error for AttachmentError

§

impl Error for BindError

§

impl Error for BindGroupLayoutEntryError

§

impl Error for BindingError

§

impl Error for BindingTypeMaxCountError

§

impl Error for BindingZone

§

impl Error for BufferAccessError

§

impl Error for BufferAsyncError

§

impl Error for BuildAccelerationStructureError

§

impl Error for BuildError

§

impl Error for BuildError

§

impl Error for BuildError

§

impl Error for BuildError

§

impl Error for BuildError

§

impl Error for BytesReadError

§

impl Error for CStrTooLargeForStaticArray

§

impl Error for CacheError

§

impl Error for CallError

§

impl Error for Canceled

§

impl Error for CapacityOverflowError

§

impl Error for CaseFoldError

§

impl Error for ClearError

§

impl Error for ColorAttachmentError

§

impl Error for ColorChoiceParseError

§

impl Error for ColorStateError

§

impl Error for CommandEncoderError

§

impl Error for CompileError

§

impl Error for ComponentRange

§

impl Error for ComposeError

§

impl Error for ComputePassError

§

impl Error for ComputePassErrorInner

§

impl Error for ConfigureSurfaceError

§

impl Error for ConstExpressionError

§

impl Error for ConstantError

§

impl Error for ConstantEvaluatorError

§

impl Error for ContextError

§

impl Error for ConversionRange

§

impl Error for CopyError

§

impl Error for CreateBindGroupError

§

impl Error for CreateBindGroupLayoutError

§

impl Error for CreateBlasError

§

impl Error for CreateBufferError

§

impl Error for CreateComputePipelineError

§

impl Error for CreatePipelineCacheError

§

impl Error for CreatePipelineLayoutError

§

impl Error for CreateQuerySetError

§

impl Error for CreateRenderBundleError

§

impl Error for CreateRenderPipelineError

§

impl Error for CreateSamplerError

§

impl Error for CreateShaderModuleError

§

impl Error for CreateSurfaceError

§

impl Error for CreateSurfaceError

§

impl Error for CreateTextureError

§

impl Error for CreateTextureViewError

§

impl Error for CreateTlasError

§

impl Error for DataError

§

impl Error for DatetimeParseError

§

impl Error for DecodeError

§

impl Error for DecodeErrors

§

impl Error for DecodeSliceError

§

impl Error for DecodingError

§

impl Error for DecodingError

§

impl Error for DecodingError

§

impl Error for DecodingError

§

impl Error for DecodingFormatError

§

impl Error for DepthStencilStateError

§

impl Error for DeserializeError

§

impl Error for DeserializeError

§

impl Error for DestroyError

§

impl Error for DestroyedResourceError

§

impl Error for DeviceError

§

impl Error for DeviceError

§

impl Error for DeviceMismatch

§

impl Error for DifferentVariant

§

impl Error for Disalignment

§

impl Error for DispatchError

§

impl Error for DrawError

§

impl Error for DriverError

§

impl Error for EarlyDataError

§

impl Error for Elapsed

§

impl Error for Elapsed

§

impl Error for EncodeError

§

impl Error for EncodeSliceError

§

impl Error for EncoderStatus

§

impl Error for EncodingError

§

impl Error for EncodingError

§

impl Error for EncodingError

§

impl Error for EncodingError

§

impl Error for EncodingFormatError

§

impl Error for EncryptError

§

impl Error for EntryPointError

§

impl Error for EntryPointError

§

impl Error for Errno

§

impl Error for Errno

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error

§

impl Error for Error<'_>

§

impl Error for Errors

§

impl Error for ExecutionError

§

impl Error for ExpressionError

§

impl Error for FailedLimit

§

impl Error for FilteringError

§

impl Error for Format

§

impl Error for FromSqlError

§

impl Error for FromUtf8Error

§

impl Error for FromUtf8Error

§

impl Error for FunctionError

§

impl Error for GetBindGroupLayoutError

§

impl Error for GetDisjointMutError

§

impl Error for GetDisjointMutError

§

impl Error for GetSurfaceSupportError

§

impl Error for GlobError

§

impl Error for GlobalVariableError

§

impl Error for GroupInfoError

§

impl Error for HandleError

§

impl Error for HuffmanTreeError

§

impl Error for ImageError

§

impl Error for ImplicitLayoutError

§

impl Error for IndeterminateOffset

§

impl Error for IndexableLengthError

§

impl Error for InitError

§

impl Error for InputError

§

impl Error for InstanceError

§

impl Error for InvalidConfig

§

impl Error for InvalidDnsNameError

§

impl Error for InvalidFormatDescription

§

impl Error for InvalidHeaderName

§

impl Error for InvalidHeaderValue

§

impl Error for InvalidMethod

§

impl Error for InvalidNameError

§

impl Error for InvalidResourceError

§

impl Error for InvalidStatusCode

§

impl Error for InvalidUri

§

impl Error for InvalidUriParts

§

impl Error for InvalidVariant

§

impl Error for JoinError

§

impl Error for LateMinBufferBindingSizeMismatch

§

impl Error for LayoutError

§

impl Error for LayoutErrorInner

§

impl Error for LengthLimitError

§

impl Error for LimitError

§

impl Error for LiteralError

§

impl Error for LoadingError

§

impl Error for LocalVariableError

§

impl Error for LzwError

§

impl Error for MapError

§

impl Error for MatchError

§

impl Error for MatchError

§

impl Error for MaxSizeReached

§

impl Error for MissingBufferUsageError

§

impl Error for MissingDownlevelFlags

§

impl Error for MissingFeatures

§

impl Error for MissingSpecialType

§

impl Error for MissingTextureUsageError

§

impl Error for MultiError

§

impl Error for None

§

impl Error for NumValueReadError

§

impl Error for NvmlError

§

impl Error for NvmlErrorWithSource

§

impl Error for NvrtcError

§

impl Error for OtherError

§

impl Error for OverrideError

§

impl Error for ParameterError

§

impl Error for Parse

§

impl Error for ParseAlphabetError

§

impl Error for ParseColorError

§

impl Error for ParseColorError

§

impl Error for ParseError

§

impl Error for ParseError

§

impl Error for ParseError

§

impl Error for ParseError

§

impl Error for ParseError

§

impl Error for ParseError

§

impl Error for ParseError

§

impl Error for ParseFromDescription

§

impl Error for ParseHexfError

§

impl Error for ParseIntError

§

impl Error for ParseIntegerError

§

impl Error for ParseLevelError

§

impl Error for ParseLevelFilterError

§

impl Error for PassErrorScope

§

impl Error for PatternIDError

§

impl Error for PatternIDError

§

impl Error for PatternSetInsertError

§

impl Error for PipelineCacheError

§

impl Error for PipelineCacheValidationError

§

impl Error for PipelineConstantError

§

impl Error for PipelineError

§

impl Error for PollError

§

impl Error for PopError

§

impl Error for PreferencesParseError

§

impl Error for PushConstantError

§

impl Error for PushConstantUploadError

§

impl Error for QueryError

§

impl Error for QueryUseError

§

impl Error for QueueSubmitError

§

impl Error for QueueWriteError

§

impl Error for RecvError

§

impl Error for RecvError

§

impl Error for RecvError

§

impl Error for RecvError

§

impl Error for RecvError

§

impl Error for RecvTimeoutError

§

impl Error for RenderBundleError

§

impl Error for RenderCommandError

§

impl Error for RenderPassCompatibilityError

§

impl Error for RenderPassError

§

impl Error for RenderPassErrorInner

§

impl Error for RequestAdapterError

§

impl Error for RequestDeviceError

§

impl Error for RequestDeviceError

§

impl Error for ReserveError

§

impl Error for ResolveArraySizeError

§

impl Error for ResolveError

§

impl Error for ResolveError

§

impl Error for Result

§

impl Error for ReuniteError

§

impl Error for ReuniteError

§

impl Error for SelectTimeoutError

§

impl Error for SendError

§

impl Error for SerializeError

§

impl Error for SerializerError

§

impl Error for SetGlobalDefaultError

§

impl Error for ShaderError

§

impl Error for SmallIndexError

§

impl Error for SpawnError

§

impl Error for StageError

§

impl Error for StartError

§

impl Error for StartError

§

impl Error for StateIDError

§

impl Error for StateIDError

§

impl Error for SurfaceError

§

impl Error for SurfaceError

§

impl Error for SurfaceError

§

impl Error for TemplateError

§

impl Error for TextureDimensionError

§

impl Error for TextureViewDestroyError

§

impl Error for TextureViewNotRenderableReason

§

impl Error for ThreadPoolBuildError

§

impl Error for TiffError

§

impl Error for ToCompactStringError

§

impl Error for ToStrError

§

impl Error for TransferError

§

impl Error for TryAcquireError

§

impl Error for TryCurrentError

§

impl Error for TryFromIntError

§

impl Error for TryFromParsed

§

impl Error for TryGetError

§

impl Error for TryInitError

§

impl Error for TryLockError

§

impl Error for TryRecvError

§

impl Error for TryRecvError

§

impl Error for TryRecvError

§

impl Error for TryRecvError

§

impl Error for TryRecvError

§

impl Error for TryRecvError

§

impl Error for TryReserveError

§

impl Error for TrySelectError

§

impl Error for TypeError

§

impl Error for UleError

§

impl Error for UnicodeWordBoundaryError

§

impl Error for UnicodeWordError

§

impl Error for UnsupportedError

§

impl Error for UnsupportedOperationError

§

impl Error for Utf8Error

§

impl Error for Utf8Error

§

impl Error for Utf8Error

§

impl Error for ValidateAsActionsError

§

impl Error for ValidationError

§

impl Error for ValueReadError

§

impl Error for VaryingError

§

impl Error for VerifierBuilderError

§

impl Error for WaitIdleError

§

impl Error for WidthError

§

impl Error for ZeroTrieBuildError

§

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,

§

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

1.8.0 · Source§

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

Source§

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

§

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

§

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

§

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

§

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

Source§

impl<F> Error for PersistError<F>

§

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

§

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

§

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

§

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

§

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

§

impl<L> Error for LoadError<L>
where L: Error + 'static,

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 "std"

§

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

§

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

§

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

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 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 TryFromBigIntError<T>
where T: Debug,

§

impl<T> Error for AsyncFdTryNewError<T>

§

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

§

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

§

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

§

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

§

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

§

impl<T> Error for SendError<T>

§

impl<T> Error for SendError<T>

§

impl<T> Error for SendError<T>

§

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

§

impl<T> Error for SendError<T>
where T: Send,

§

impl<T> Error for SendTimeoutError<T>

§

impl<T> Error for SendTimeoutError<T>
where T: Send,

§

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

§

impl<T> Error for TrySendError<T>

§

impl<T> Error for TrySendError<T>

§

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

§

impl<T> Error for TrySendError<T>
where T: Send,

§

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

§

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

1.0.0 · Source§

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

§

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