Trait sp_std::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§

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

1.8.0 · source§

impl BitOrAssign for bool

1.8.0 · source§

impl BitOrAssign for i8

1.8.0 · source§

impl BitOrAssign for i16

1.8.0 · source§

impl BitOrAssign for i32

1.8.0 · source§

impl BitOrAssign for i64

1.8.0 · source§

impl BitOrAssign for i128

1.8.0 · source§

impl BitOrAssign for isize

1.8.0 · source§

impl BitOrAssign for u8

1.8.0 · source§

impl BitOrAssign for u16

1.8.0 · source§

impl BitOrAssign for u32

1.8.0 · source§

impl BitOrAssign for u64

1.8.0 · source§

impl BitOrAssign for u128

1.8.0 · source§

impl BitOrAssign for 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>

1.8.0 · source§

impl BitOrAssign for Wrapping<i8>

1.8.0 · source§

impl BitOrAssign for Wrapping<i16>

1.8.0 · source§

impl BitOrAssign for Wrapping<i32>

1.8.0 · source§

impl BitOrAssign for Wrapping<i64>

1.8.0 · source§

impl BitOrAssign for Wrapping<i128>

1.8.0 · source§

impl BitOrAssign for Wrapping<isize>

1.8.0 · source§

impl BitOrAssign for Wrapping<u8>

1.8.0 · source§

impl BitOrAssign for Wrapping<u16>

1.8.0 · source§

impl BitOrAssign for Wrapping<u32>

1.8.0 · source§

impl BitOrAssign for Wrapping<u64>

1.8.0 · source§

impl BitOrAssign for Wrapping<u128>

1.8.0 · source§

impl BitOrAssign for Wrapping<usize>

1.75.0 · source§

impl BitOrAssign for Ipv4Addr

1.75.0 · source§

impl BitOrAssign for Ipv6Addr

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.74.0 · source§

impl BitOrAssign<i8> for Saturating<i8>

1.60.0 · source§

impl BitOrAssign<i8> for Wrapping<i8>

1.74.0 · source§

impl BitOrAssign<i16> for Saturating<i16>

1.60.0 · source§

impl BitOrAssign<i16> for Wrapping<i16>

1.74.0 · source§

impl BitOrAssign<i32> for Saturating<i32>

1.60.0 · source§

impl BitOrAssign<i32> for Wrapping<i32>

1.74.0 · source§

impl BitOrAssign<i64> for Saturating<i64>

1.60.0 · source§

impl BitOrAssign<i64> for Wrapping<i64>

1.74.0 · source§

impl BitOrAssign<i128> for Saturating<i128>

1.60.0 · source§

impl BitOrAssign<i128> for Wrapping<i128>

1.74.0 · source§

impl BitOrAssign<isize> for Saturating<isize>

1.60.0 · source§

impl BitOrAssign<isize> for Wrapping<isize>

1.74.0 · source§

impl BitOrAssign<u8> for Saturating<u8>

1.60.0 · source§

impl BitOrAssign<u8> for Wrapping<u8>

1.74.0 · source§

impl BitOrAssign<u16> for Saturating<u16>

1.60.0 · source§

impl BitOrAssign<u16> for Wrapping<u16>

1.74.0 · source§

impl BitOrAssign<u32> for Saturating<u32>

1.60.0 · source§

impl BitOrAssign<u32> for Wrapping<u32>

1.74.0 · source§

impl BitOrAssign<u64> for Saturating<u64>

1.60.0 · source§

impl BitOrAssign<u64> for Wrapping<u64>

1.74.0 · source§

impl BitOrAssign<u128> for Saturating<u128>

1.60.0 · source§

impl BitOrAssign<u128> for Wrapping<u128>

1.74.0 · source§

impl BitOrAssign<usize> for Saturating<usize>

1.60.0 · source§

impl BitOrAssign<usize> for Wrapping<usize>

1.45.0 · source§

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

1.45.0 · source§

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

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<A, O> BitOrAssign<&BitArray<A, O>> for BitSlice<A::Store, O>
where A: BitViewSized, O: BitOrder,

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

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

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>,

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

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

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

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

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

impl BitOrAssign for Mode

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

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 BitOrAssign for Mode

impl<O: ByteOrder> BitOrAssign for I128<O>

impl<O: ByteOrder> BitOrAssign for I16<O>

impl<O: ByteOrder> BitOrAssign for I32<O>

impl<O: ByteOrder> BitOrAssign for I64<O>

impl<O: ByteOrder> BitOrAssign for U128<O>

impl<O: ByteOrder> BitOrAssign for U16<O>

impl<O: ByteOrder> BitOrAssign for U32<O>

impl<O: ByteOrder> BitOrAssign for U64<O>