Trait 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.75.0 · Source§

impl BitOrAssign for Ipv4Addr

1.75.0 · Source§

impl BitOrAssign for Ipv6Addr

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>

Source§

impl BitOrAssign for CreateFlags

Source§

impl BitOrAssign for ReadFlags

Source§

impl BitOrAssign for WatchFlags

Source§

impl BitOrAssign for Access

Source§

impl BitOrAssign for AtFlags

Source§

impl BitOrAssign for FallocateFlags

Source§

impl BitOrAssign for MemfdFlags

Source§

impl BitOrAssign for Mode

Source§

impl BitOrAssign for OFlags

Source§

impl BitOrAssign for RenameFlags

Source§

impl BitOrAssign for ResolveFlags

Source§

impl BitOrAssign for SealFlags

Source§

impl BitOrAssign for StatVfsMountFlags

Source§

impl BitOrAssign for DupFlags

Source§

impl BitOrAssign for FdFlags

Source§

impl BitOrAssign for ReadWriteFlags

Source§

impl BitOrAssign for MapFlags

Source§

impl BitOrAssign for MlockAllFlags

Source§

impl BitOrAssign for MlockFlags

Source§

impl BitOrAssign for MprotectFlags

Source§

impl BitOrAssign for MremapFlags

Source§

impl BitOrAssign for MsyncFlags

Source§

impl BitOrAssign for ProtFlags

Source§

impl BitOrAssign for UserfaultfdFlags

Source§

impl BitOrAssign for Flags

Source§

impl BitOrAssign for WaitFlags

Source§

impl BitOrAssign for TimerfdFlags

Source§

impl BitOrAssign for TimerfdTimerFlags

Source§

impl BitOrAssign for IFlags

Source§

impl BitOrAssign for StatxAttributes

Source§

impl BitOrAssign for StatxFlags

Source§

impl BitOrAssign for XattrFlags

Source§

impl BitOrAssign for PidfdFlags

Source§

impl BitOrAssign for PidfdGetfdFlags

Source§

impl BitOrAssign for FloatingPointEmulationControl

Source§

impl BitOrAssign for FloatingPointExceptionMode

Source§

impl BitOrAssign for SpeculationFeatureControl

Source§

impl BitOrAssign for SpeculationFeatureState

Source§

impl BitOrAssign for UnalignedAccessControl

Source§

impl BitOrAssign for WaitIdOptions

Source§

impl BitOrAssign for WaitOptions

Source§

impl BitOrAssign for KernelSigactionFlags

Source§

impl BitOrAssign for WaitvFlags

Source§

impl BitOrAssign for CapabilityFlags

Source§

impl BitOrAssign for MembarrierQuery

Source§

impl BitOrAssign for CapabilitiesSecureBits

Source§

impl BitOrAssign for TaggedAddressMode

Source§

impl BitOrAssign for ThreadNameSpaceType

Source§

impl BitOrAssign for UnshareFlags

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.75.0 · Source§

impl BitOrAssign<&Ipv4Addr> for Ipv4Addr

1.75.0 · Source§

impl BitOrAssign<&Ipv6Addr> for Ipv6Addr

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