#[repr(u8)]pub enum Opcode {
Stack(Stack),
Pred(Pred),
Alu(Alu),
Access(Access),
Crypto(Crypto),
TotalControlFlow(TotalControlFlow),
Temporary(Temporary),
}
Expand description
All operations available to the constraint checker.
Note that this is a subset of the operations available to state read execution.
Variants§
Stack(Stack)
Operations related to stack manipulation.
Pred(Pred)
Operations for computing predicates.
Alu(Alu)
Operations for computing arithmetic and logic.
Access(Access)
Operations for accessing input data.
Crypto(Crypto)
Operations providing cryptographic functionality.
TotalControlFlow(TotalControlFlow)
Control flow operations that keep the program total.
Temporary(Temporary)
Operations for temporary memory.
Trait Implementations§
Source§impl Clone for Constraint
impl Clone for Constraint
Source§fn clone(&self) -> Constraint
fn clone(&self) -> Constraint
Returns a copy of the value. Read more
1.0.0 · 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 Constraint
impl Debug for Constraint
Source§impl From<Access> for Constraint
impl From<Access> for Constraint
Source§fn from(subgroup: Access) -> Constraint
fn from(subgroup: Access) -> Constraint
Converts to this type from the input type.
Source§impl From<Alu> for Constraint
impl From<Alu> for Constraint
Source§fn from(subgroup: Alu) -> Constraint
fn from(subgroup: Alu) -> Constraint
Converts to this type from the input type.
Source§impl From<Crypto> for Constraint
impl From<Crypto> for Constraint
Source§fn from(subgroup: Crypto) -> Constraint
fn from(subgroup: Crypto) -> Constraint
Converts to this type from the input type.
Source§impl From<Pred> for Constraint
impl From<Pred> for Constraint
Source§fn from(subgroup: Pred) -> Constraint
fn from(subgroup: Pred) -> Constraint
Converts to this type from the input type.
Source§impl From<Stack> for Constraint
impl From<Stack> for Constraint
Source§fn from(subgroup: Stack) -> Constraint
fn from(subgroup: Stack) -> Constraint
Converts to this type from the input type.
Source§impl From<Temporary> for Constraint
impl From<Temporary> for Constraint
Source§fn from(subgroup: Temporary) -> Constraint
fn from(subgroup: Temporary) -> Constraint
Converts to this type from the input type.
Source§impl From<TotalControlFlow> for Constraint
impl From<TotalControlFlow> for Constraint
Source§fn from(subgroup: TotalControlFlow) -> Constraint
fn from(subgroup: TotalControlFlow) -> Constraint
Converts to this type from the input type.
Source§impl Hash for Constraint
impl Hash for Constraint
Source§impl Ord for Constraint
impl Ord for Constraint
Source§fn cmp(&self, other: &Constraint) -> Ordering
fn cmp(&self, other: &Constraint) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl ParseOp for Constraint
impl ParseOp for Constraint
Source§fn parse_op(
&self,
bytes: &mut impl Iterator<Item = u8>,
) -> Result<<Constraint as ParseOp>::Op, <Constraint as ParseOp>::Error>
fn parse_op( &self, bytes: &mut impl Iterator<Item = u8>, ) -> Result<<Constraint as ParseOp>::Op, <Constraint as ParseOp>::Error>
Attempt to parse the operation associated with the opcode from the given bytes.
Only consumes the bytes necessary to construct any associated data.
Returns an error in the case that the given bytes
iterator
contains insufficient bytes to parse the op.
Source§type Op = Constraint
type Op = Constraint
The operation associated with the opcode.
Source§type Error = NotEnoughBytesError
type Error = NotEnoughBytesError
Any error that might occur while parsing.
Source§impl PartialEq for Constraint
impl PartialEq for Constraint
Source§impl PartialOrd for Constraint
impl PartialOrd for Constraint
Source§impl TryFrom<u8> for Constraint
impl TryFrom<u8> for Constraint
Source§type Error = InvalidOpcodeError
type Error = InvalidOpcodeError
The type returned in the event of a conversion error.
Source§fn try_from(u: u8) -> Result<Constraint, <Constraint as TryFrom<u8>>::Error>
fn try_from(u: u8) -> Result<Constraint, <Constraint as TryFrom<u8>>::Error>
Performs the conversion.
impl Copy for Constraint
impl Eq for Constraint
impl StructuralPartialEq for Constraint
Auto Trait Implementations§
impl Freeze for Constraint
impl RefUnwindSafe for Constraint
impl Send for Constraint
impl Sync for Constraint
impl Unpin for Constraint
impl UnwindSafe for Constraint
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