pub enum SpecializationError {
WrongInputCount {
expected: usize,
actual: usize,
},
AxisOutOfRange {
input: usize,
axis: u32,
rank: usize,
},
AlignmentUnavailable {
input: usize,
required_alignment_log2: u8,
},
ProjectionOverflow {
input: usize,
rank: usize,
},
}Expand description
Reports failures while projecting signatures through specialization requirements.
§Examples
use tenferro_runtime::{InputSignature, SpecializationRequirements};
let error = SpecializationRequirements::polymorphic(1)
.project(&InputSignature::new(Vec::new()))
.unwrap_err();
assert!(matches!(error, tenferro_runtime::PrepareError::Specialization { .. }));Variants§
WrongInputCount
The signature does not have the required input arity.
AxisOutOfRange
A concrete-axis request names an axis outside the actual rank.
Fields
A required host-pointer alignment class is unavailable.
ProjectionOverflow
A specialization projection could not encode every requested axis in the finite public axis type.
Trait Implementations§
Source§impl Clone for SpecializationError
impl Clone for SpecializationError
Source§fn clone(&self) -> SpecializationError
fn clone(&self) -> SpecializationError
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SpecializationError
impl Debug for SpecializationError
Source§impl Display for SpecializationError
impl Display for SpecializationError
Source§impl Error for SpecializationError
impl Error for SpecializationError
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()
Source§impl PartialEq for SpecializationError
impl PartialEq for SpecializationError
Source§fn eq(&self, other: &SpecializationError) -> bool
fn eq(&self, other: &SpecializationError) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for SpecializationError
impl StructuralPartialEq for SpecializationError
Auto Trait Implementations§
impl Freeze for SpecializationError
impl RefUnwindSafe for SpecializationError
impl Send for SpecializationError
impl Sync for SpecializationError
impl Unpin for SpecializationError
impl UnsafeUnpin for SpecializationError
impl UnwindSafe for SpecializationError
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,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.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