pub enum ValidationError {
Show 16 variants
ControlFlowRequiresFeedForward {
pc: usize,
mnemonic: &'static str,
},
MultipleMeasuresRequireFeedForward {
pc: usize,
},
FillRequiresAtomReloading {
pc: usize,
},
InvalidLocation {
pc: usize,
message: String,
},
InvalidLane {
pc: usize,
message: String,
},
InvalidZone {
pc: usize,
message: String,
},
NewArrayZeroDim0 {
pc: usize,
},
NewArrayInvalidTypeTag {
pc: usize,
type_tag: u32,
},
InitialFillNotFirst {
pc: usize,
},
EmptyProgram,
MissingTerminator {
pc: usize,
},
UnreachableInstruction {
pc: usize,
},
StackUnderflow {
pc: usize,
},
TypeMismatch {
pc: usize,
expected: u8,
got: u8,
},
LocationGroupValidation {
pc: usize,
error: LocationGroupError,
},
LaneGroupValidation {
pc: usize,
error: LaneGroupError,
},
}Expand description
An arch-dependent validation failure, tagged with the offending instruction’s program counter.
Variants§
ControlFlowRequiresFeedForward
A CPU control-flow instruction appears but feed_forward is disabled.
MultipleMeasuresRequireFeedForward
More than one measure appears but feed_forward is disabled.
FillRequiresAtomReloading
A fill appears but atom_reloading is disabled.
InvalidLocation
A const_loc operand does not name a valid location in the arch spec.
InvalidLane
A const_lane operand does not name a valid lane in the arch spec.
InvalidZone
A const_zone operand does not name a valid zone in the arch spec.
NewArrayZeroDim0
new_array dim0 must be greater than zero.
NewArrayInvalidTypeTag
new_array type_tag exceeds the maximum value tag.
InitialFillNotFirst
initial_fill is not the first non-constant instruction.
EmptyProgram
The program has no instructions (and therefore no terminator).
MissingTerminator
The final instruction is neither return nor halt.
UnreachableInstruction
An instruction follows a return/halt and is unreachable.
StackUnderflow
An instruction popped from an empty stack.
TypeMismatch
A popped value had the wrong type tag (see tag).
LocationGroupValidation
A local_r/local_rz/fill/initial_fill location group is invalid.
LaneGroupValidation
A move lane group is invalid (duplicate, inconsistent, AOD, …).
Trait Implementations§
Source§impl Clone for ValidationError
impl Clone for ValidationError
Source§fn clone(&self) -> ValidationError
fn clone(&self) -> ValidationError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ValidationError
impl Debug for ValidationError
Source§impl Display for ValidationError
impl Display for ValidationError
Source§impl Error for ValidationError
impl Error for ValidationError
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 PartialEq for ValidationError
impl PartialEq for ValidationError
Source§fn eq(&self, other: &ValidationError) -> bool
fn eq(&self, other: &ValidationError) -> bool
self and other values to be equal, and is used by ==.impl Eq for ValidationError
impl StructuralPartialEq for ValidationError
Auto Trait Implementations§
impl Freeze for ValidationError
impl RefUnwindSafe for ValidationError
impl Send for ValidationError
impl Sync for ValidationError
impl Unpin for ValidationError
impl UnsafeUnpin for ValidationError
impl UnwindSafe for ValidationError
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,
§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
key and return true if they are equal.§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
MaybeRef].