# Enum rustc_hir::hir::BinOpKind

source ·

    pub enum BinOpKind {
    Show 18 variants    Add,
        Sub,
        Mul,
        Div,
        Rem,
        And,
        Or,
        BitXor,
        BitAnd,
        BitOr,
        Shl,
        Shr,
        Eq,
        Lt,
        Le,
        Ne,
        Ge,
        Gt,
    }

## Variants§

§

### Add

The `+` operator (addition)

§

### Sub

The `-` operator (subtraction)

§

### Mul

The `*` operator (multiplication)

§

### Div

The `/` operator (division)

§

### Rem

The `%` operator (modulus)

§

### And

The `&&` operator (logical and)

§

### Or

The `||` operator (logical or)

§

### BitXor

The `^` operator (bitwise xor)

§

### BitAnd

The `&` operator (bitwise and)

§

### BitOr

The `|` operator (bitwise or)

§

### Shl

The `<<` operator (shift left)

§

### Shr

The `>>` operator (shift right)

§

### Eq

The `==` operator (equality)

§

### Lt

The `<` operator (less than)

§

### Le

The `<=` operator (less than or equal to)

§

### Ne

The `!=` operator (not equal to)

§

### Ge

The `>=` operator (greater than or equal to)

§

### Gt

The `>` operator (greater than)

## Auto Trait Implementations§

§

### impl RefUnwindSafe for BinOpKind

§

### impl Send for BinOpKind

§

### impl Sync for BinOpKind

§

### impl Unpin for BinOpKind

§

### impl UnwindSafe for BinOpKind

## Blanket Implementations§

source§

### impl<T> Any for T
where T: 'static + ?Sized,

source§

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
source§

### impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for T
where T: Copy,

source§

#### fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut T

source§

#### fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = T> ) -> &'a mut [T]

source§

### impl<T> Borrow<T> for T
where T: ?Sized,

source§

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

### impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

### impl<T> From<T> for T

source§

#### fn from(t: T) -> T

Returns the argument unchanged.

source§

### impl<T, U> Into<U> for T
where U: From<T>,

source§

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

source§

### impl<T> ToOwned for T
where T: Clone,

§

#### type Owned = T

The resulting type after obtaining ownership.
source§

#### fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

#### fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

### impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

#### type Error = Infallible

The type returned in the event of a conversion error.
source§

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

### impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

## Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain `repr(...)` attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 1 byte

Size for each variant:

- `Add`: 0 bytes
- `Sub`: 0 bytes
- `Mul`: 0 bytes
- `Div`: 0 bytes
- `Rem`: 0 bytes
- `And`: 0 bytes
- `Or`: 0 bytes
- `BitXor`: 0 bytes
- `BitAnd`: 0 bytes
- `BitOr`: 0 bytes
- `Shl`: 0 bytes
- `Shr`: 0 bytes
- `Eq`: 0 bytes
- `Lt`: 0 bytes
- `Le`: 0 bytes
- `Ne`: 0 bytes
- `Ge`: 0 bytes
- `Gt`: 0 bytes