pub enum BinaryOperator {
Show 27 variants
Add,
And,
FloorDivide,
Lshift,
MatrixMultiply,
Multiply,
Remainder,
Or,
Power,
Rshift,
Subtract,
TrueDivide,
Xor,
InplaceAdd,
InplaceAnd,
InplaceFloorDivide,
InplaceLshift,
InplaceMatrixMultiply,
InplaceMultiply,
InplaceRemainder,
InplaceOr,
InplacePower,
InplaceRshift,
InplaceSubtract,
InplaceTrueDivide,
InplaceXor,
Subscr,
}Expand description
The possible Binary operators
§Examples
use rustpython_compiler_core::bytecode::{Arg, BinaryOperator, Instruction};
let (op, _) = Arg::new(BinaryOperator::Add);
let instruction = Instruction::BinaryOp { op };See also:
Variants§
Add
+
And
&
FloorDivide
//
Lshift
<<
MatrixMultiply
@
Multiply
*
Remainder
%
Or
|
Power
**
Rshift
>>
Subtract
-
TrueDivide
/
Xor
^
InplaceAdd
+=
InplaceAnd
&=
InplaceFloorDivide
//=
InplaceLshift
<<=
InplaceMatrixMultiply
@=
InplaceMultiply
*=
InplaceRemainder
%=
InplaceOr
|=
InplacePower
**=
InplaceRshift
>>=
InplaceSubtract
-=
InplaceTrueDivide
/=
InplaceXor
^=
Subscr
[] subscript
Implementations§
Source§impl BinaryOperator
impl BinaryOperator
Sourcepub const fn as_inplace(self) -> BinaryOperator
pub const fn as_inplace(self) -> BinaryOperator
Get the “inplace” version of the operator.
This has no effect if self is already an “inplace” operator.
§Example
use rustpython_compiler_core::bytecode::BinaryOperator;
assert_eq!(BinaryOperator::Power.as_inplace(), BinaryOperator::InplacePower);
assert_eq!(BinaryOperator::InplaceSubtract.as_inplace(), BinaryOperator::InplaceSubtract);Trait Implementations§
Source§impl Clone for BinaryOperator
impl Clone for BinaryOperator
Source§fn clone(&self) -> BinaryOperator
fn clone(&self) -> BinaryOperator
Returns a duplicate 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 BinaryOperator
impl Debug for BinaryOperator
Source§impl Display for BinaryOperator
impl Display for BinaryOperator
Source§impl PartialEq for BinaryOperator
impl PartialEq for BinaryOperator
Source§impl TryFrom<u32> for BinaryOperator
impl TryFrom<u32> for BinaryOperator
Source§type Error = MarshalError
type Error = MarshalError
The type returned in the event of a conversion error.
Source§fn try_from(
value: u32,
) -> Result<BinaryOperator, <BinaryOperator as TryFrom<u32>>::Error>
fn try_from( value: u32, ) -> Result<BinaryOperator, <BinaryOperator as TryFrom<u32>>::Error>
Performs the conversion.
Source§impl TryFrom<u8> for BinaryOperator
impl TryFrom<u8> for BinaryOperator
Source§type Error = MarshalError
type Error = MarshalError
The type returned in the event of a conversion error.
Source§fn try_from(
value: u8,
) -> Result<BinaryOperator, <BinaryOperator as TryFrom<u8>>::Error>
fn try_from( value: u8, ) -> Result<BinaryOperator, <BinaryOperator as TryFrom<u8>>::Error>
Performs the conversion.
impl Copy for BinaryOperator
impl Eq for BinaryOperator
impl OpArgType for BinaryOperator
impl StructuralPartialEq for BinaryOperator
Auto Trait Implementations§
impl Freeze for BinaryOperator
impl RefUnwindSafe for BinaryOperator
impl Send for BinaryOperator
impl Sync for BinaryOperator
impl Unpin for BinaryOperator
impl UnsafeUnpin for BinaryOperator
impl UnwindSafe for BinaryOperator
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<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.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 moreSource§impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
fn overflowing_into(self) -> (U, bool)
Source§impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
impl<T, U> RoundingInto<U> for Twhere
U: RoundingFrom<T>,
fn rounding_into(self, rm: RoundingMode) -> (U, Ordering)
Source§impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
impl<T, U> SaturatingInto<U> for Twhere
U: SaturatingFrom<T>,
fn saturating_into(self) -> U
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
Fallible version of
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
Converts the given value to a
CompactString. Read more