pub enum JitError {
NotPrepared,
InputBufferNotFound {
name: &'static str,
},
DuplicateInputBuffer {
name: &'static str,
duplicate_of: &'static str,
buffer_id: BufferId,
},
Build {
source: Box<dyn Error + Send + Sync>,
},
Tensor {
source: Box<Error>,
},
Device {
source: Box<Error>,
},
OutputLayoutMismatch {
declared_head: usize,
declared_state: usize,
actual: usize,
},
Runtime {
source: Error,
},
}Variants§
NotPrepared
InputBufferNotFound
DuplicateInputBuffer
Build
Wraps the user-supplied error type returned by a jit_wrapper! build
closure. Genuine Box<dyn> because the closure’s E is arbitrary.
Tensor
Device
OutputLayoutMismatch
JitRecurrent::new rejected a JIT whose output element count does not
match the declared head_len + |h| + |c|. Typically means the build
closure was changed and now emits a different layout than the wrapper
expects.
Runtime
Trait Implementations§
Source§impl Error for JitError
impl Error for JitError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl ErrorCompat for JitError
impl ErrorCompat for JitError
Source§fn iter_chain(&self) -> ChainCompat<'_, '_>where
Self: AsErrorSource,
fn iter_chain(&self) -> ChainCompat<'_, '_>where
Self: AsErrorSource,
Returns an iterator for traversing the chain of errors,
starting with the current error
and continuing with recursive calls to
Error::source. Read moreSource§impl IntoError<JitError> for BuildSnafu
impl IntoError<JitError> for BuildSnafu
Source§impl IntoError<JitError> for DeviceSnafu
impl IntoError<JitError> for DeviceSnafu
Source§impl<__T0, __T1, __T2> IntoError<JitError> for DuplicateInputBufferSnafu<__T0, __T1, __T2>
impl<__T0, __T1, __T2> IntoError<JitError> for DuplicateInputBufferSnafu<__T0, __T1, __T2>
Source§impl<__T0> IntoError<JitError> for InputBufferNotFoundSnafu<__T0>
impl<__T0> IntoError<JitError> for InputBufferNotFoundSnafu<__T0>
Source§impl IntoError<JitError> for NotPreparedSnafu
impl IntoError<JitError> for NotPreparedSnafu
Source§impl<__T0, __T1, __T2> IntoError<JitError> for OutputLayoutMismatchSnafu<__T0, __T1, __T2>
impl<__T0, __T1, __T2> IntoError<JitError> for OutputLayoutMismatchSnafu<__T0, __T1, __T2>
Source§impl IntoError<JitError> for RuntimeSnafu
impl IntoError<JitError> for RuntimeSnafu
Auto Trait Implementations§
impl Freeze for JitError
impl !RefUnwindSafe for JitError
impl Send for JitError
impl Sync for JitError
impl Unpin for JitError
impl UnsafeUnpin for JitError
impl !UnwindSafe for JitError
Blanket Implementations§
Source§impl<T> AsErrorSource for Twhere
T: Error + 'static,
impl<T> AsErrorSource for Twhere
T: Error + 'static,
Source§fn as_error_source(&self) -> &(dyn Error + 'static)
fn as_error_source(&self) -> &(dyn Error + 'static)
For maximum effectiveness, this needs to be called as a method
to benefit from Rust’s automatic dereferencing of method
receivers.
Source§impl<T> AsErrorSource for Twhere
T: Error + 'static,
impl<T> AsErrorSource for Twhere
T: Error + 'static,
Source§fn as_error_source(&self) -> &(dyn Error + 'static)
fn as_error_source(&self) -> &(dyn Error + 'static)
For maximum effectiveness, this needs to be called as a method
to benefit from Rust’s automatic dereferencing of method
receivers.
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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