Enum charon_lib::ast::expressions::BinOp   
source · pub enum BinOp {
Show 19 variants
    BitXor,
    BitAnd,
    BitOr,
    Eq,
    Lt,
    Le,
    Ne,
    Ge,
    Gt,
    Div,
    Rem,
    Add,
    Sub,
    Mul,
    CheckedAdd,
    CheckedSub,
    CheckedMul,
    Shl,
    Shr,
}Expand description
Binary operations.
Variants§
BitXor
BitAnd
BitOr
Eq
Lt
Le
Ne
Ge
Gt
Div
Fails if the divisor is 0, or if the operation is int::MIN / -1.
Rem
Fails if the divisor is 0, or if the operation is int::MIN % -1.
Add
Fails on overflow.
Sub
Fails on overflow.
Mul
Fails on overflow.
CheckedAdd
Returns (result, did_overflow), where result is the result of the operation with
wrapping semantics, and did_overflow is a boolean that indicates whether the operation
overflowed. This operation does not fail.
CheckedSub
Like CheckedAdd.
CheckedMul
Like CheckedAdd.
Shl
Fails if the shift is bigger than the bit-size of the type.
Shr
Fails if the shift is bigger than the bit-size of the type.
Implementations§
source§impl BinOp
 
impl BinOp
pub fn is_bit_xor(&self) -> bool
pub fn is_bit_and(&self) -> bool
pub fn is_bit_or(&self) -> bool
pub fn is_eq(&self) -> bool
pub fn is_lt(&self) -> bool
pub fn is_le(&self) -> bool
pub fn is_ne(&self) -> bool
pub fn is_ge(&self) -> bool
pub fn is_gt(&self) -> bool
pub fn is_div(&self) -> bool
pub fn is_rem(&self) -> bool
pub fn is_add(&self) -> bool
pub fn is_sub(&self) -> bool
pub fn is_mul(&self) -> bool
pub fn is_checked_add(&self) -> bool
pub fn is_checked_sub(&self) -> bool
pub fn is_checked_mul(&self) -> bool
pub fn is_shl(&self) -> bool
pub fn is_shr(&self) -> bool
Trait Implementations§
source§impl<'de> Deserialize<'de> for BinOp
 
impl<'de> Deserialize<'de> for BinOp
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Copy for BinOp
impl Eq for BinOp
impl StructuralPartialEq for BinOp
Auto Trait Implementations§
impl Freeze for BinOp
impl RefUnwindSafe for BinOp
impl Send for BinOp
impl Sync for BinOp
impl Unpin for BinOp
impl UnwindSafe for BinOp
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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
 
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)source§impl<T> CloneToUninit for Twhere
    T: Copy,
 
impl<T> CloneToUninit for Twhere
    T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
 
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)§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
Checks if this value is equivalent to the given key. Read more
§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.§impl<I, T> ExtractContext<I, ()> for T
 
impl<I, T> ExtractContext<I, ()> for T
§fn extract_context(self, _original_input: I)
 
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
§impl<T> Indentable for Twhere
    T: Display,
 
impl<T> Indentable for Twhere
    T: Display,
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
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§impl<I> RecreateContext<I> for I
 
impl<I> RecreateContext<I> for I
§fn recreate_context(_original_input: I, tail: I) -> I
 
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more