pub enum CondBinaryOp {
BitwiseAnd,
BitwiseOr,
BitwiseXor,
BitwiseXnor,
Equality,
Inequality,
LogicalAnd,
LogicalOr,
CaseEquality,
CaseInequality,
}Expand description
LRM Table 30-1’s own eight BINARY operators valid in a state-dependent
path’s conditional expression – the binary-operator sibling of
CondUnaryOp, same exhaustive-translation discipline
(Self::from_sv).
Variants§
BitwiseAnd
& – bitwise AND (two operands; distinct from [CondUnaryOp:: ReductionAnd]’s single-operand reduction form, Table 30-1 lists
both under the same glyph).
BitwiseOr
| – bitwise OR.
BitwiseXor
^ – bitwise XOR.
BitwiseXnor
^~/~^ – bitwise XNOR.
Equality
== – logical equality.
Inequality
!= – logical inequality.
LogicalAnd
&& – logical AND.
LogicalOr
|| – logical OR.
CaseEquality
=== – case equality. Table 30-1 does not list it, so a module path
condition never produces it (Self::from_sv); LRM 31.7’s
scalar_timing_check_condition does (Self::from_sv_check), and a
timing check’s &&& condition is the only producer.
CaseInequality
!== – case inequality (see Self::CaseEquality).
Trait Implementations§
Source§impl Clone for CondBinaryOp
impl Clone for CondBinaryOp
impl Copy for CondBinaryOp
Source§impl Debug for CondBinaryOp
impl Debug for CondBinaryOp
Source§impl<'de> Deserialize<'de> for CondBinaryOp
impl<'de> Deserialize<'de> for CondBinaryOp
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for CondBinaryOp
Source§impl PartialEq for CondBinaryOp
impl PartialEq for CondBinaryOp
Source§impl Serialize for CondBinaryOp
impl Serialize for CondBinaryOp
impl StructuralPartialEq for CondBinaryOp
Auto Trait Implementations§
impl Freeze for CondBinaryOp
impl RefUnwindSafe for CondBinaryOp
impl Send for CondBinaryOp
impl Sync for CondBinaryOp
impl Unpin for CondBinaryOp
impl UnsafeUnpin for CondBinaryOp
impl UnwindSafe for CondBinaryOp
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
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
key and return true if they are equal.