Skip to main content

BitOrAssign

Trait BitOrAssign 

1.8.0 (const: unstable) · Source
pub trait BitOrAssign<Rhs = Self> {
    // Required method
    fn bitor_assign(&mut self, rhs: Rhs);
}
Expand description

The bitwise OR assignment operator |=.

§Examples

use std::ops::BitOrAssign;

#[derive(Debug, PartialEq)]
struct PersonalPreferences {
    likes_cats: bool,
    likes_dogs: bool,
}

impl BitOrAssign for PersonalPreferences {
    fn bitor_assign(&mut self, rhs: Self) {
        self.likes_cats |= rhs.likes_cats;
        self.likes_dogs |= rhs.likes_dogs;
    }
}

let mut prefs = PersonalPreferences { likes_cats: true, likes_dogs: false };
prefs |= PersonalPreferences { likes_cats: false, likes_dogs: true };
assert_eq!(prefs, PersonalPreferences { likes_cats: true, likes_dogs: true });

Required Methods§

1.8.0 (const: unstable) · Source

fn bitor_assign(&mut self, rhs: Rhs)

Performs the |= operation.

§Examples
let mut x = true;
x |= false;
assert_eq!(x, true);

let mut x = false;
x |= false;
assert_eq!(x, false);

let mut x: u8 = 5;
x |= 1;
assert_eq!(x, 5);

let mut x: u8 = 5;
x |= 2;
assert_eq!(x, 7);

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl BitOrAssign for BoxedUint

Available on crate feature alloc only.
Source§

impl BitOrAssign for crypto_bigint::Choice

Source§

impl BitOrAssign for subtle::Choice

1.75.0 (const: unstable) · Source§

impl BitOrAssign for Ipv4Addr

1.75.0 (const: unstable) · Source§

impl BitOrAssign for Ipv6Addr

Source§

impl BitOrAssign for Limb

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl BitOrAssign for Saturating<usize>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<i8>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<i16>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<i32>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<i64>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<i128>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<isize>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<u8>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<u16>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<u32>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<u64>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<u128>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for core::num::wrapping::Wrapping<usize>

1.8.0 (const: unstable) · Source§

impl BitOrAssign for bool

1.8.0 (const: unstable) · Source§

impl BitOrAssign for i8

1.8.0 (const: unstable) · Source§

impl BitOrAssign for i16

1.8.0 (const: unstable) · Source§

impl BitOrAssign for i32

1.8.0 (const: unstable) · Source§

impl BitOrAssign for i64

1.8.0 (const: unstable) · Source§

impl BitOrAssign for i128

1.8.0 (const: unstable) · Source§

impl BitOrAssign for isize

1.8.0 (const: unstable) · Source§

impl BitOrAssign for u8

1.8.0 (const: unstable) · Source§

impl BitOrAssign for u16

1.8.0 (const: unstable) · Source§

impl BitOrAssign for u32

1.8.0 (const: unstable) · Source§

impl BitOrAssign for u64

1.8.0 (const: unstable) · Source§

impl BitOrAssign for u128

1.8.0 (const: unstable) · Source§

impl BitOrAssign for usize

Source§

impl BitOrAssign<&BoxedUint> for BoxedUint

Available on crate feature alloc only.
1.75.0 (const: unstable) · Source§

impl BitOrAssign<&Ipv4Addr> for Ipv4Addr

1.75.0 (const: unstable) · Source§

impl BitOrAssign<&Ipv6Addr> for Ipv6Addr

Source§

impl BitOrAssign<&Limb> for Limb

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<i8>> for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<i16>> for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<i32>> for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<i64>> for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<i128>> for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<isize>> for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<u8>> for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<u16>> for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<u32>> for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<u64>> for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<u128>> for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&Saturating<usize>> for Saturating<usize>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<i8>> for core::num::wrapping::Wrapping<i8>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<i16>> for core::num::wrapping::Wrapping<i16>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<i32>> for core::num::wrapping::Wrapping<i32>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<i64>> for core::num::wrapping::Wrapping<i64>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<i128>> for core::num::wrapping::Wrapping<i128>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<isize>> for core::num::wrapping::Wrapping<isize>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<u8>> for core::num::wrapping::Wrapping<u8>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<u16>> for core::num::wrapping::Wrapping<u16>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<u32>> for core::num::wrapping::Wrapping<u32>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<u64>> for core::num::wrapping::Wrapping<u64>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<u128>> for core::num::wrapping::Wrapping<u128>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&Wrapping<usize>> for core::num::wrapping::Wrapping<usize>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&bool> for bool

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&i8> for Saturating<i8>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&i8> for core::num::wrapping::Wrapping<i8>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&i8> for i8

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&i16> for Saturating<i16>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&i16> for core::num::wrapping::Wrapping<i16>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&i16> for i16

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&i32> for Saturating<i32>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&i32> for core::num::wrapping::Wrapping<i32>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&i32> for i32

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&i64> for Saturating<i64>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&i64> for core::num::wrapping::Wrapping<i64>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&i64> for i64

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&i128> for Saturating<i128>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&i128> for core::num::wrapping::Wrapping<i128>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&i128> for i128

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&isize> for Saturating<isize>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&isize> for core::num::wrapping::Wrapping<isize>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&isize> for isize

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&u8> for Saturating<u8>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&u8> for core::num::wrapping::Wrapping<u8>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&u8> for u8

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&u16> for Saturating<u16>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&u16> for core::num::wrapping::Wrapping<u16>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&u16> for u16

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&u32> for Saturating<u32>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&u32> for core::num::wrapping::Wrapping<u32>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&u32> for u32

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&u64> for Saturating<u64>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&u64> for core::num::wrapping::Wrapping<u64>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&u64> for u64

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&u128> for Saturating<u128>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&u128> for core::num::wrapping::Wrapping<u128>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&u128> for u128

1.74.0 (const: unstable) · Source§

impl BitOrAssign<&usize> for Saturating<usize>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&usize> for core::num::wrapping::Wrapping<usize>

1.22.0 (const: unstable) · Source§

impl BitOrAssign<&usize> for usize

1.74.0 (const: unstable) · Source§

impl BitOrAssign<i8> for Saturating<i8>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<i8> for core::num::wrapping::Wrapping<i8>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<i16> for Saturating<i16>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<i16> for core::num::wrapping::Wrapping<i16>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<i32> for Saturating<i32>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<i32> for core::num::wrapping::Wrapping<i32>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<i64> for Saturating<i64>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<i64> for core::num::wrapping::Wrapping<i64>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<i128> for Saturating<i128>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<i128> for core::num::wrapping::Wrapping<i128>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<isize> for Saturating<isize>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<isize> for core::num::wrapping::Wrapping<isize>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<u8> for Saturating<u8>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<u8> for core::num::wrapping::Wrapping<u8>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<u16> for Saturating<u16>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<u16> for core::num::wrapping::Wrapping<u16>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<u32> for Saturating<u32>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<u32> for core::num::wrapping::Wrapping<u32>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<u64> for Saturating<u64>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<u64> for core::num::wrapping::Wrapping<u64>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<u128> for Saturating<u128>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<u128> for core::num::wrapping::Wrapping<u128>

1.74.0 (const: unstable) · Source§

impl BitOrAssign<usize> for Saturating<usize>

1.60.0 (const: unstable) · Source§

impl BitOrAssign<usize> for core::num::wrapping::Wrapping<usize>

Source§

impl<T, U, const N: usize> BitOrAssign<U> for Simd<T, N>
where Simd<T, N>: BitOr<U, Output = Simd<T, N>>, T: SimdElement,

Source§

impl<T, const N: usize> BitOrAssign for Mask<T, N>
where T: MaskElement,

Source§

impl<T, const N: usize> BitOrAssign<bool> for Mask<T, N>
where T: MaskElement,

Source§

impl<T: Integer> BitOrAssign for crypto_bigint::Wrapping<T>

Source§

impl<T: Integer> BitOrAssign<&Wrapping<T>> for crypto_bigint::Wrapping<T>

1.45.0 (const: unstable) · Source§

impl<T> BitOrAssign for NonZero<T>
where T: ZeroablePrimitive, NonZero<T>: BitOr<Output = NonZero<T>>,

1.45.0 (const: unstable) · Source§

impl<T> BitOrAssign<T> for NonZero<T>
where T: ZeroablePrimitive, NonZero<T>: BitOr<T, Output = NonZero<T>>,

Source§

impl<const LIMBS: usize> BitOrAssign for Int<LIMBS>

Source§

impl<const LIMBS: usize> BitOrAssign for Uint<LIMBS>

Source§

impl<const LIMBS: usize> BitOrAssign<&Int<LIMBS>> for Int<LIMBS>

Source§

impl<const LIMBS: usize> BitOrAssign<&Uint<LIMBS>> for Uint<LIMBS>