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§

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);

Implementors§

source§

impl BitOrAssign for bool

source§

impl BitOrAssign for i8

source§

impl BitOrAssign for i16

source§

impl BitOrAssign for i32

source§

impl BitOrAssign for i64

source§

impl BitOrAssign for i128

source§

impl BitOrAssign for isize

source§

impl BitOrAssign for u8

source§

impl BitOrAssign for u16

source§

impl BitOrAssign for u32

source§

impl BitOrAssign for u64

source§

impl BitOrAssign for u128

source§

impl BitOrAssign for usize

source§

impl BitOrAssign for EventFlags

source§

impl BitOrAssign for LockFlags

source§

impl BitOrAssign for VaultFreezeFlags

source§

impl BitOrAssign for I192

source§

impl BitOrAssign for I256

source§

impl BitOrAssign for I320

source§

impl BitOrAssign for I384

source§

impl BitOrAssign for I448

source§

impl BitOrAssign for I512

source§

impl BitOrAssign for I768

source§

impl BitOrAssign for U192

source§

impl BitOrAssign for U256

source§

impl BitOrAssign for U320

source§

impl BitOrAssign for U384

source§

impl BitOrAssign for U448

source§

impl BitOrAssign for U512

source§

impl BitOrAssign for U768

§

impl BitOrAssign for RefTypes

1.45.0 · source§

impl BitOrAssign for NonZero<i8>

1.45.0 · source§

impl BitOrAssign for NonZero<i16>

1.45.0 · source§

impl BitOrAssign for NonZero<i32>

1.45.0 · source§

impl BitOrAssign for NonZero<i64>

1.45.0 · source§

impl BitOrAssign for NonZero<i128>

1.45.0 · source§

impl BitOrAssign for NonZero<isize>

1.45.0 · source§

impl BitOrAssign for NonZero<u8>

1.45.0 · source§

impl BitOrAssign for NonZero<u16>

1.45.0 · source§

impl BitOrAssign for NonZero<u32>

1.45.0 · source§

impl BitOrAssign for NonZero<u64>

1.45.0 · source§

impl BitOrAssign for NonZero<u128>

1.45.0 · source§

impl BitOrAssign for NonZero<usize>

1.74.0 · source§

impl BitOrAssign for Saturating<i8>

1.74.0 · source§

impl BitOrAssign for Saturating<i16>

1.74.0 · source§

impl BitOrAssign for Saturating<i32>

1.74.0 · source§

impl BitOrAssign for Saturating<i64>

1.74.0 · source§

impl BitOrAssign for Saturating<i128>

1.74.0 · source§

impl BitOrAssign for Saturating<isize>

1.74.0 · source§

impl BitOrAssign for Saturating<u8>

1.74.0 · source§

impl BitOrAssign for Saturating<u16>

1.74.0 · source§

impl BitOrAssign for Saturating<u32>

1.74.0 · source§

impl BitOrAssign for Saturating<u64>

1.74.0 · source§

impl BitOrAssign for Saturating<u128>

1.74.0 · source§

impl BitOrAssign for Saturating<usize>

source§

impl BitOrAssign for Wrapping<i8>

source§

impl BitOrAssign for Wrapping<i16>

source§

impl BitOrAssign for Wrapping<i32>

source§

impl BitOrAssign for Wrapping<i64>

source§

impl BitOrAssign for Wrapping<i128>

source§

impl BitOrAssign for Wrapping<isize>

source§

impl BitOrAssign for Wrapping<u8>

source§

impl BitOrAssign for Wrapping<u16>

source§

impl BitOrAssign for Wrapping<u32>

source§

impl BitOrAssign for Wrapping<u64>

source§

impl BitOrAssign for Wrapping<u128>

source§

impl BitOrAssign for Wrapping<usize>

1.75.0 · source§

impl BitOrAssign for Ipv4Addr

1.75.0 · source§

impl BitOrAssign for Ipv6Addr

source§

impl BitOrAssign for BigInt

source§

impl BitOrAssign for BigUint

source§

impl BitOrAssign for Choice

1.22.0 · source§

impl BitOrAssign<&bool> for bool

1.22.0 · source§

impl BitOrAssign<&i8> for i8

1.22.0 · source§

impl BitOrAssign<&i8> for Saturating<i8>

1.22.0 · source§

impl BitOrAssign<&i8> for Wrapping<i8>

1.22.0 · source§

impl BitOrAssign<&i16> for i16

1.22.0 · source§

impl BitOrAssign<&i16> for Saturating<i16>

1.22.0 · source§

impl BitOrAssign<&i16> for Wrapping<i16>

1.22.0 · source§

impl BitOrAssign<&i32> for i32

1.22.0 · source§

impl BitOrAssign<&i32> for Saturating<i32>

1.22.0 · source§

impl BitOrAssign<&i32> for Wrapping<i32>

1.22.0 · source§

impl BitOrAssign<&i64> for i64

1.22.0 · source§

impl BitOrAssign<&i64> for Saturating<i64>

1.22.0 · source§

impl BitOrAssign<&i64> for Wrapping<i64>

1.22.0 · source§

impl BitOrAssign<&i128> for i128

1.22.0 · source§

impl BitOrAssign<&i128> for Saturating<i128>

1.22.0 · source§

impl BitOrAssign<&i128> for Wrapping<i128>

1.22.0 · source§

impl BitOrAssign<&isize> for isize

1.22.0 · source§

impl BitOrAssign<&isize> for Saturating<isize>

1.22.0 · source§

impl BitOrAssign<&isize> for Wrapping<isize>

1.22.0 · source§

impl BitOrAssign<&u8> for u8

1.22.0 · source§

impl BitOrAssign<&u8> for Saturating<u8>

1.22.0 · source§

impl BitOrAssign<&u8> for Wrapping<u8>

1.22.0 · source§

impl BitOrAssign<&u16> for u16

1.22.0 · source§

impl BitOrAssign<&u16> for Saturating<u16>

1.22.0 · source§

impl BitOrAssign<&u16> for Wrapping<u16>

1.22.0 · source§

impl BitOrAssign<&u32> for u32

1.22.0 · source§

impl BitOrAssign<&u32> for Saturating<u32>

1.22.0 · source§

impl BitOrAssign<&u32> for Wrapping<u32>

1.22.0 · source§

impl BitOrAssign<&u64> for u64

1.22.0 · source§

impl BitOrAssign<&u64> for Saturating<u64>

1.22.0 · source§

impl BitOrAssign<&u64> for Wrapping<u64>

1.22.0 · source§

impl BitOrAssign<&u128> for u128

1.22.0 · source§

impl BitOrAssign<&u128> for Saturating<u128>

1.22.0 · source§

impl BitOrAssign<&u128> for Wrapping<u128>

1.22.0 · source§

impl BitOrAssign<&usize> for usize

1.22.0 · source§

impl BitOrAssign<&usize> for Saturating<usize>

1.22.0 · source§

impl BitOrAssign<&usize> for Wrapping<usize>

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

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

1.22.0 · source§

impl BitOrAssign<&Wrapping<i8>> for Wrapping<i8>

1.22.0 · source§

impl BitOrAssign<&Wrapping<i16>> for Wrapping<i16>

1.22.0 · source§

impl BitOrAssign<&Wrapping<i32>> for Wrapping<i32>

1.22.0 · source§

impl BitOrAssign<&Wrapping<i64>> for Wrapping<i64>

1.22.0 · source§

impl BitOrAssign<&Wrapping<i128>> for Wrapping<i128>

1.22.0 · source§

impl BitOrAssign<&Wrapping<isize>> for Wrapping<isize>

1.22.0 · source§

impl BitOrAssign<&Wrapping<u8>> for Wrapping<u8>

1.22.0 · source§

impl BitOrAssign<&Wrapping<u16>> for Wrapping<u16>

1.22.0 · source§

impl BitOrAssign<&Wrapping<u32>> for Wrapping<u32>

1.22.0 · source§

impl BitOrAssign<&Wrapping<u64>> for Wrapping<u64>

1.22.0 · source§

impl BitOrAssign<&Wrapping<u128>> for Wrapping<u128>

1.22.0 · source§

impl BitOrAssign<&Wrapping<usize>> for Wrapping<usize>

1.75.0 · source§

impl BitOrAssign<&Ipv4Addr> for Ipv4Addr

1.75.0 · source§

impl BitOrAssign<&Ipv6Addr> for Ipv6Addr

source§

impl BitOrAssign<&BigInt> for BigInt

source§

impl BitOrAssign<&BigUint> for BigUint

1.45.0 · source§

impl BitOrAssign<i8> for NonZero<i8>

1.74.0 · source§

impl BitOrAssign<i8> for Saturating<i8>

1.60.0 · source§

impl BitOrAssign<i8> for Wrapping<i8>

1.45.0 · source§

impl BitOrAssign<i16> for NonZero<i16>

1.74.0 · source§

impl BitOrAssign<i16> for Saturating<i16>

1.60.0 · source§

impl BitOrAssign<i16> for Wrapping<i16>

1.45.0 · source§

impl BitOrAssign<i32> for NonZero<i32>

1.74.0 · source§

impl BitOrAssign<i32> for Saturating<i32>

1.60.0 · source§

impl BitOrAssign<i32> for Wrapping<i32>

1.45.0 · source§

impl BitOrAssign<i64> for NonZero<i64>

1.74.0 · source§

impl BitOrAssign<i64> for Saturating<i64>

1.60.0 · source§

impl BitOrAssign<i64> for Wrapping<i64>

1.45.0 · source§

impl BitOrAssign<i128> for NonZero<i128>

1.74.0 · source§

impl BitOrAssign<i128> for Saturating<i128>

1.60.0 · source§

impl BitOrAssign<i128> for Wrapping<i128>

1.45.0 · source§

impl BitOrAssign<isize> for NonZero<isize>

1.74.0 · source§

impl BitOrAssign<isize> for Saturating<isize>

1.60.0 · source§

impl BitOrAssign<isize> for Wrapping<isize>

1.45.0 · source§

impl BitOrAssign<u8> for NonZero<u8>

1.74.0 · source§

impl BitOrAssign<u8> for Saturating<u8>

1.60.0 · source§

impl BitOrAssign<u8> for Wrapping<u8>

1.45.0 · source§

impl BitOrAssign<u16> for NonZero<u16>

1.74.0 · source§

impl BitOrAssign<u16> for Saturating<u16>

1.60.0 · source§

impl BitOrAssign<u16> for Wrapping<u16>

1.45.0 · source§

impl BitOrAssign<u32> for NonZero<u32>

1.74.0 · source§

impl BitOrAssign<u32> for Saturating<u32>

1.60.0 · source§

impl BitOrAssign<u32> for Wrapping<u32>

1.45.0 · source§

impl BitOrAssign<u64> for NonZero<u64>

1.74.0 · source§

impl BitOrAssign<u64> for Saturating<u64>

1.60.0 · source§

impl BitOrAssign<u64> for Wrapping<u64>

1.45.0 · source§

impl BitOrAssign<u128> for NonZero<u128>

1.74.0 · source§

impl BitOrAssign<u128> for Saturating<u128>

1.60.0 · source§

impl BitOrAssign<u128> for Wrapping<u128>

1.45.0 · source§

impl BitOrAssign<usize> for NonZero<usize>

1.74.0 · source§

impl BitOrAssign<usize> for Saturating<usize>

1.60.0 · source§

impl BitOrAssign<usize> for 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, LaneCount<N>: SupportedLaneCount,

source§

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

source§

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

§

impl<const N: usize> BitOrAssign for BInt<N>

§

impl<const N: usize> BitOrAssign for BIntD8<N>

§

impl<const N: usize> BitOrAssign for BIntD16<N>

§

impl<const N: usize> BitOrAssign for BIntD32<N>

§

impl<const N: usize> BitOrAssign for BUint<N>

§

impl<const N: usize> BitOrAssign for BUintD8<N>

§

impl<const N: usize> BitOrAssign for BUintD16<N>

§

impl<const N: usize> BitOrAssign for BUintD32<N>

§

impl<const N: usize> BitOrAssign<&BInt<N>> for BInt<N>

§

impl<const N: usize> BitOrAssign<&BIntD8<N>> for BIntD8<N>

§

impl<const N: usize> BitOrAssign<&BIntD16<N>> for BIntD16<N>

§

impl<const N: usize> BitOrAssign<&BIntD32<N>> for BIntD32<N>

§

impl<const N: usize> BitOrAssign<&BUint<N>> for BUint<N>

§

impl<const N: usize> BitOrAssign<&BUintD8<N>> for BUintD8<N>

§

impl<const N: usize> BitOrAssign<&BUintD16<N>> for BUintD16<N>

§

impl<const N: usize> BitOrAssign<&BUintD32<N>> for BUintD32<N>