pub struct DriverError { /* private fields */ }Expand description
A driver entry point that failed, named by what was called.
The status is kept as a number rather than decoded: each API numbers its own enum and neither table belongs here. Naming the entry point is what makes the number searchable in the vendor’s headers.
A backend also says whether the status poisoned the device: some faults (e.g. an illegal address) leave the context unusable, and every later call on it fails with the same code.
Implementations§
Source§impl DriverError
impl DriverError
Sourcepub fn new(op: &'static str, status: u32) -> Self
pub fn new(op: &'static str, status: u32) -> Self
A failure a binding already turned into an error type of its own, named by the entry point that produced it.
checked is the answer wherever the status is still a number. A
binding that returns a typed result — cudarc’s CUresult wrapper — has
already consumed the number, and this is how the entry point’s name is
put back on it.
Sourcepub fn poisoned(op: &'static str, status: u32) -> Self
pub fn poisoned(op: &'static str, status: u32) -> Self
A failure rendering the device unusable.
Sourcepub fn is_device_poisoned(&self) -> bool
pub fn is_device_poisoned(&self) -> bool
Whether this failure poisoned the device.
Trait Implementations§
Source§impl Clone for DriverError
impl Clone for DriverError
Source§impl Debug for DriverError
impl Debug for DriverError
Source§impl Display for DriverError
impl Display for DriverError
impl Eq for DriverError
Source§impl Error for DriverError
impl Error for DriverError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<DriverError> for ServerError
impl From<DriverError> for ServerError
Source§fn from(error: DriverError) -> Self
fn from(error: DriverError) -> Self
Source§impl From<DriverError> for IoError
impl From<DriverError> for IoError
Source§fn from(error: DriverError) -> Self
fn from(error: DriverError) -> Self
Source§impl From<DriverError> for CompilationError
impl From<DriverError> for CompilationError
Source§fn from(error: DriverError) -> Self
fn from(error: DriverError) -> Self
Source§impl From<DriverError> for LaunchError
impl From<DriverError> for LaunchError
Source§fn from(error: DriverError) -> Self
fn from(error: DriverError) -> Self
Source§impl PartialEq for DriverError
impl PartialEq for DriverError
impl StructuralPartialEq for DriverError
Auto Trait Implementations§
impl Freeze for DriverError
impl RefUnwindSafe for DriverError
impl Send for DriverError
impl Sync for DriverError
impl Unpin for DriverError
impl UnsafeUnpin for DriverError
impl UnwindSafe for DriverError
Blanket Implementations§
impl<T> AnyError for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
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.Source§impl<K, Q> Equivalent<Q> for K
impl<K, Q> Equivalent<Q> for K
Source§fn equivalent(&self, key: &Q) -> bool
fn equivalent(&self, key: &Q) -> bool
key and return true if they are equal.impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more