Trait gstd::prelude::ops::BitOrAssign

1.8.0 · 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§

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

1.45.0 · source§

impl BitOrAssign for NonZeroI8

1.45.0 · source§

impl BitOrAssign for NonZeroI16

1.45.0 · source§

impl BitOrAssign for NonZeroI32

1.45.0 · source§

impl BitOrAssign for NonZeroI64

1.45.0 · source§

impl BitOrAssign for NonZeroI128

1.45.0 · source§

impl BitOrAssign for NonZeroIsize

1.45.0 · source§

impl BitOrAssign for NonZeroU8

1.45.0 · source§

impl BitOrAssign for NonZeroU16

1.45.0 · source§

impl BitOrAssign for NonZeroU32

1.45.0 · source§

impl BitOrAssign for NonZeroU64

1.45.0 · source§

impl BitOrAssign for NonZeroU128

1.45.0 · source§

impl BitOrAssign for NonZeroUsize

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

§

impl BitOrAssign for H128

§

impl BitOrAssign for H160

§

impl BitOrAssign for H256

§

impl BitOrAssign for H384

§

impl BitOrAssign for H512

§

impl BitOrAssign for H768

§

impl BitOrAssign for U128

§

impl BitOrAssign for U256

§

impl BitOrAssign for U512

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

1.45.0 · source§

impl BitOrAssign<i8> for NonZeroI8

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 NonZeroI16

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 NonZeroI32

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 NonZeroI64

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 NonZeroI128

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 NonZeroIsize

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 NonZeroU8

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 NonZeroU16

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 NonZeroU32

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 NonZeroU64

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 NonZeroU128

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 NonZeroUsize

1.74.0 · source§

impl BitOrAssign<usize> for Saturating<usize>

1.60.0 · source§

impl BitOrAssign<usize> for Wrapping<usize>

§

impl<'r> BitOrAssign<&'r H128> for H128

§

impl<'r> BitOrAssign<&'r H160> for H160

§

impl<'r> BitOrAssign<&'r H256> for H256

§

impl<'r> BitOrAssign<&'r H384> for H384

§

impl<'r> BitOrAssign<&'r H512> for H512

§

impl<'r> BitOrAssign<&'r H768> for H768

§

impl<A, O> BitOrAssign<&BitArray<A, O>> for BitSlice<<A as BitView>::Store, O>
where A: BitViewSized, O: BitOrder,

§

impl<A, O> BitOrAssign<BitArray<A, O>> for BitSlice<<A as BitView>::Store, O>
where A: BitViewSized, O: BitOrder,

§

impl<A, O, Rhs> BitOrAssign<Rhs> for BitArray<A, O>
where A: BitViewSized, O: BitOrder, BitSlice<<A as BitView>::Store, O>: BitOrAssign<Rhs>,

§

impl<T1, T2, O1, O2> BitOrAssign<&BitSlice<T2, O2>> for BitSlice<T1, O1>
where T1: BitStore, T2: BitStore, O1: BitOrder, O2: BitOrder,

§

impl<T, O> BitOrAssign<&BitBox<T, O>> for BitSlice<T, O>
where T: BitStore, O: BitOrder,

§

impl<T, O> BitOrAssign<&BitVec<T, O>> for BitSlice<T, O>
where T: BitStore, O: BitOrder,

§

impl<T, O> BitOrAssign<BitBox<T, O>> for BitSlice<T, O>
where T: BitStore, O: BitOrder,

§

impl<T, O> BitOrAssign<BitVec<T, O>> for BitSlice<T, O>
where T: BitStore, O: BitOrder,

§

impl<T, O, Rhs> BitOrAssign<Rhs> for BitBox<T, O>
where T: BitStore, O: BitOrder, BitSlice<T, O>: BitOrAssign<Rhs>,

§

impl<T, O, Rhs> BitOrAssign<Rhs> for BitVec<T, O>
where T: BitStore, O: BitOrder, BitSlice<T, O>: BitOrAssign<Rhs>,

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>