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) -> Self
pub const fn as_inplace(self) -> Self
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 From<BinaryOperator> for u32
impl From<BinaryOperator> for u32
Source§fn from(value: BinaryOperator) -> Self
fn from(value: BinaryOperator) -> Self
Converts to this type from the input type.
Source§impl From<BinaryOperator> for u8
impl From<BinaryOperator> for u8
Source§fn from(value: BinaryOperator) -> Self
fn from(value: BinaryOperator) -> Self
Converts to this type from the input type.
Source§impl PartialEq for BinaryOperator
impl PartialEq for BinaryOperator
Source§impl TryFrom<u32> for BinaryOperator
impl TryFrom<u32> for BinaryOperator
Source§impl TryFrom<u8> for BinaryOperator
impl TryFrom<u8> for BinaryOperator
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<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