#[non_exhaustive]pub enum ExecError {
ZeroBudget,
WidthExceedsPool {
width: usize,
pool: usize,
},
WidthExceedsBudget {
width: usize,
budget: usize,
},
Unavailable,
StrategyUnavailable {
strategy: BatchStrategy,
},
}Expand description
Errors from building or using an Exec.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
ZeroBudget
A thread budget of zero was requested.
WidthExceedsPool
An SPMD width larger than the pool was requested.
WidthExceedsBudget
An SPMD width larger than the context’s thread budget was requested.
Co-scheduled execution cannot be guaranteed here (serial context, or the caller is already a worker of the pool).
A forced batch strategy is unavailable on this route:
BatchStrategy::WholeBatchVendor
without a vendor batch call, or a
BatchStrategy::Split that asks for
both lanes and item threads on a route that runs each item serially inside
its lane.
Trait Implementations§
impl Copy for ExecError
impl Eq for ExecError
Source§impl Error for ExecError
impl Error for ExecError
1.30.0 · 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()
impl StructuralPartialEq for ExecError
Auto Trait Implementations§
impl Freeze for ExecError
impl RefUnwindSafe for ExecError
impl Send for ExecError
impl Sync for ExecError
impl Unpin for ExecError
impl UnsafeUnpin for ExecError
impl UnwindSafe for ExecError
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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