#[non_exhaustive]pub enum ErrorCode {
DeviceOutOfMemory,
UnsupportedFeature,
PoisonedLock,
KernelCompileFailed,
DispatchFailed,
InvalidProgram,
Unknown,
}Expand description
Machine-readable classification of a backend failure kind.
Use this to drive retry logic, circuit breakers, and alerting rules without parsing human-readable message strings.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
DeviceOutOfMemory
Backend device reported insufficient memory.
UnsupportedFeature
The backend does not support a required feature.
PoisonedLock
A lock used by the backend failed to unlock safely.
This is generally caused by a panic while a write guard was held and indicates an internal synchronization bug in process state.
KernelCompileFailed
GPU kernel-source compilation failed. “Shader” in the variant
name is historical; the code covers any kernel-source compile
failure for any backend kernel-source or binary validation.
A 2.0 rename to KernelCompileFailed is tracked in the
semver-policy doc; the variant stays stable in 0.x.
DispatchFailed
Command dispatch or queue submission failed.
InvalidProgram
The program itself is invalid for this backend.
Unknown
Unclassified error (produced by BackendError::new).
Implementations§
Trait Implementations§
impl Copy for ErrorCode
impl Eq for ErrorCode
impl StructuralPartialEq for ErrorCode
Auto Trait Implementations§
impl Freeze for ErrorCode
impl RefUnwindSafe for ErrorCode
impl Send for ErrorCode
impl Sync for ErrorCode
impl Unpin for ErrorCode
impl UnsafeUnpin for ErrorCode
impl UnwindSafe for ErrorCode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.