pub enum ExpandError {
IndexOutOfRange {
array: ArrayId,
index: i64,
size: usize,
},
LeafIndexOutOfRange {
index: i64,
size: usize,
},
NonConstantIndex,
GuardError,
StateUnknown(u32),
Func(FuncError),
DistRandomBound,
Malformed(&'static str),
}Expand description
Why expand failed.
Variants§
IndexOutOfRange
An element index outside 0..size in a live constraint.
Fields
LeafIndexOutOfRange
An index outside the elements of a fixed-size array held in a class
property (ArrayNode::Pick) in a live constraint.
NonConstantIndex
An element index that is not a constant once the loop variables are substituted.
GuardError
A guard of an implication or if constraint is ERROR (LRM 18.5.12).
StateUnknown(u32)
A state an index or constant guard reads is X/Z.
Func(FuncError)
A function called from a constraint failed on fixed arguments.
DistRandomBound
A weight or bound of a dist inside a foreach over a dynamic array
reads a random element once the loop is unrolled (LRM 18.5.3: weights
and bounds are fixed values).
Malformed(&'static str)
The array-level IR is malformed (a builder bug).
Trait Implementations§
Source§impl Clone for ExpandError
impl Clone for ExpandError
Source§impl Debug for ExpandError
impl Debug for ExpandError
impl Eq for ExpandError
Source§impl PartialEq for ExpandError
impl PartialEq for ExpandError
impl StructuralPartialEq for ExpandError
Auto Trait Implementations§
impl Freeze for ExpandError
impl RefUnwindSafe for ExpandError
impl Send for ExpandError
impl Sync for ExpandError
impl Unpin for ExpandError
impl UnsafeUnpin for ExpandError
impl UnwindSafe for ExpandError
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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
Compare self to
key and return true if they are equal.