Trait BitXorAssign

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

The bitwise XOR assignment operator ^=.

§Examples

use std::ops::BitXorAssign;

#[derive(Debug, PartialEq)]
struct Personality {
    has_soul: bool,
    likes_knitting: bool,
}

impl BitXorAssign for Personality {
    fn bitxor_assign(&mut self, rhs: Self) {
        self.has_soul ^= rhs.has_soul;
        self.likes_knitting ^= rhs.likes_knitting;
    }
}

let mut personality = Personality { has_soul: false, likes_knitting: true };
personality ^= Personality { has_soul: true, likes_knitting: true };
assert_eq!(personality, Personality { has_soul: true, likes_knitting: false});

Required Methods§

1.8.0 · Source

fn bitxor_assign(&mut self, rhs: Rhs)

Performs the ^= operation.

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

let mut x = true;
x ^= true;
assert_eq!(x, false);

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

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

Implementors§

1.8.0 · Source§

impl BitXorAssign for bool

1.8.0 · Source§

impl BitXorAssign for i8

1.8.0 · Source§

impl BitXorAssign for i16

1.8.0 · Source§

impl BitXorAssign for i32

1.8.0 · Source§

impl BitXorAssign for i64

1.8.0 · Source§

impl BitXorAssign for i128

1.8.0 · Source§

impl BitXorAssign for isize

1.8.0 · Source§

impl BitXorAssign for u8

1.8.0 · Source§

impl BitXorAssign for u16

1.8.0 · Source§

impl BitXorAssign for u32

1.8.0 · Source§

impl BitXorAssign for u64

1.8.0 · Source§

impl BitXorAssign for u128

1.8.0 · Source§

impl BitXorAssign for usize

1.74.0 · Source§

impl BitXorAssign for Saturating<i8>

1.74.0 · Source§

impl BitXorAssign for Saturating<i16>

1.74.0 · Source§

impl BitXorAssign for Saturating<i32>

1.74.0 · Source§

impl BitXorAssign for Saturating<i64>

1.74.0 · Source§

impl BitXorAssign for Saturating<i128>

1.74.0 · Source§

impl BitXorAssign for Saturating<isize>

1.74.0 · Source§

impl BitXorAssign for Saturating<u8>

1.74.0 · Source§

impl BitXorAssign for Saturating<u16>

1.74.0 · Source§

impl BitXorAssign for Saturating<u32>

1.74.0 · Source§

impl BitXorAssign for Saturating<u64>

1.74.0 · Source§

impl BitXorAssign for Saturating<u128>

1.74.0 · Source§

impl BitXorAssign for Saturating<usize>

1.8.0 · Source§

impl BitXorAssign for Wrapping<i8>

1.8.0 · Source§

impl BitXorAssign for Wrapping<i16>

1.8.0 · Source§

impl BitXorAssign for Wrapping<i32>

1.8.0 · Source§

impl BitXorAssign for Wrapping<i64>

1.8.0 · Source§

impl BitXorAssign for Wrapping<i128>

1.8.0 · Source§

impl BitXorAssign for Wrapping<isize>

1.8.0 · Source§

impl BitXorAssign for Wrapping<u8>

1.8.0 · Source§

impl BitXorAssign for Wrapping<u16>

1.8.0 · Source§

impl BitXorAssign for Wrapping<u32>

1.8.0 · Source§

impl BitXorAssign for Wrapping<u64>

1.8.0 · Source§

impl BitXorAssign for Wrapping<u128>

1.8.0 · Source§

impl BitXorAssign for Wrapping<usize>

Source§

impl BitXorAssign for CreateFlags

Source§

impl BitXorAssign for ReadFlags

Source§

impl BitXorAssign for WatchFlags

Source§

impl BitXorAssign for Access

Source§

impl BitXorAssign for AtFlags

Source§

impl BitXorAssign for FallocateFlags

Source§

impl BitXorAssign for MemfdFlags

Source§

impl BitXorAssign for Mode

Source§

impl BitXorAssign for OFlags

Source§

impl BitXorAssign for RenameFlags

Source§

impl BitXorAssign for ResolveFlags

Source§

impl BitXorAssign for SealFlags

Source§

impl BitXorAssign for StatVfsMountFlags

Source§

impl BitXorAssign for DupFlags

Source§

impl BitXorAssign for FdFlags

Source§

impl BitXorAssign for ReadWriteFlags

Source§

impl BitXorAssign for MapFlags

Source§

impl BitXorAssign for MlockAllFlags

Source§

impl BitXorAssign for MlockFlags

Source§

impl BitXorAssign for MprotectFlags

Source§

impl BitXorAssign for MremapFlags

Source§

impl BitXorAssign for MsyncFlags

Source§

impl BitXorAssign for ProtFlags

Source§

impl BitXorAssign for UserfaultfdFlags

Source§

impl BitXorAssign for Flags

Source§

impl BitXorAssign for WaitFlags

Source§

impl BitXorAssign for TimerfdFlags

Source§

impl BitXorAssign for TimerfdTimerFlags

Source§

impl BitXorAssign for IFlags

Source§

impl BitXorAssign for StatxAttributes

Source§

impl BitXorAssign for StatxFlags

Source§

impl BitXorAssign for XattrFlags

Source§

impl BitXorAssign for PidfdFlags

Source§

impl BitXorAssign for PidfdGetfdFlags

Source§

impl BitXorAssign for FloatingPointEmulationControl

Source§

impl BitXorAssign for FloatingPointExceptionMode

Source§

impl BitXorAssign for SpeculationFeatureControl

Source§

impl BitXorAssign for SpeculationFeatureState

Source§

impl BitXorAssign for UnalignedAccessControl

Source§

impl BitXorAssign for WaitIdOptions

Source§

impl BitXorAssign for WaitOptions

Source§

impl BitXorAssign for KernelSigactionFlags

Source§

impl BitXorAssign for WaitvFlags

Source§

impl BitXorAssign for CapabilityFlags

Source§

impl BitXorAssign for MembarrierQuery

Source§

impl BitXorAssign for CapabilitiesSecureBits

Source§

impl BitXorAssign for TaggedAddressMode

Source§

impl BitXorAssign for ThreadNameSpaceType

Source§

impl BitXorAssign for UnshareFlags

1.22.0 · Source§

impl BitXorAssign<&bool> for bool

1.22.0 · Source§

impl BitXorAssign<&i8> for i8

1.22.0 · Source§

impl BitXorAssign<&i8> for Saturating<i8>

1.22.0 · Source§

impl BitXorAssign<&i8> for Wrapping<i8>

1.22.0 · Source§

impl BitXorAssign<&i16> for i16

1.22.0 · Source§

impl BitXorAssign<&i16> for Saturating<i16>

1.22.0 · Source§

impl BitXorAssign<&i16> for Wrapping<i16>

1.22.0 · Source§

impl BitXorAssign<&i32> for i32

1.22.0 · Source§

impl BitXorAssign<&i32> for Saturating<i32>

1.22.0 · Source§

impl BitXorAssign<&i32> for Wrapping<i32>

1.22.0 · Source§

impl BitXorAssign<&i64> for i64

1.22.0 · Source§

impl BitXorAssign<&i64> for Saturating<i64>

1.22.0 · Source§

impl BitXorAssign<&i64> for Wrapping<i64>

1.22.0 · Source§

impl BitXorAssign<&i128> for i128

1.22.0 · Source§

impl BitXorAssign<&i128> for Saturating<i128>

1.22.0 · Source§

impl BitXorAssign<&i128> for Wrapping<i128>

1.22.0 · Source§

impl BitXorAssign<&isize> for isize

1.22.0 · Source§

impl BitXorAssign<&isize> for Saturating<isize>

1.22.0 · Source§

impl BitXorAssign<&isize> for Wrapping<isize>

1.22.0 · Source§

impl BitXorAssign<&u8> for u8

1.22.0 · Source§

impl BitXorAssign<&u8> for Saturating<u8>

1.22.0 · Source§

impl BitXorAssign<&u8> for Wrapping<u8>

1.22.0 · Source§

impl BitXorAssign<&u16> for u16

1.22.0 · Source§

impl BitXorAssign<&u16> for Saturating<u16>

1.22.0 · Source§

impl BitXorAssign<&u16> for Wrapping<u16>

1.22.0 · Source§

impl BitXorAssign<&u32> for u32

1.22.0 · Source§

impl BitXorAssign<&u32> for Saturating<u32>

1.22.0 · Source§

impl BitXorAssign<&u32> for Wrapping<u32>

1.22.0 · Source§

impl BitXorAssign<&u64> for u64

1.22.0 · Source§

impl BitXorAssign<&u64> for Saturating<u64>

1.22.0 · Source§

impl BitXorAssign<&u64> for Wrapping<u64>

1.22.0 · Source§

impl BitXorAssign<&u128> for u128

1.22.0 · Source§

impl BitXorAssign<&u128> for Saturating<u128>

1.22.0 · Source§

impl BitXorAssign<&u128> for Wrapping<u128>

1.22.0 · Source§

impl BitXorAssign<&usize> for usize

1.22.0 · Source§

impl BitXorAssign<&usize> for Saturating<usize>

1.22.0 · Source§

impl BitXorAssign<&usize> for Wrapping<usize>

1.22.0 · Source§

impl BitXorAssign<&Saturating<i8>> for Saturating<i8>

1.22.0 · Source§

impl BitXorAssign<&Saturating<i16>> for Saturating<i16>

1.22.0 · Source§

impl BitXorAssign<&Saturating<i32>> for Saturating<i32>

1.22.0 · Source§

impl BitXorAssign<&Saturating<i64>> for Saturating<i64>

1.22.0 · Source§

impl BitXorAssign<&Saturating<i128>> for Saturating<i128>

1.22.0 · Source§

impl BitXorAssign<&Saturating<isize>> for Saturating<isize>

1.22.0 · Source§

impl BitXorAssign<&Saturating<u8>> for Saturating<u8>

1.22.0 · Source§

impl BitXorAssign<&Saturating<u16>> for Saturating<u16>

1.22.0 · Source§

impl BitXorAssign<&Saturating<u32>> for Saturating<u32>

1.22.0 · Source§

impl BitXorAssign<&Saturating<u64>> for Saturating<u64>

1.22.0 · Source§

impl BitXorAssign<&Saturating<u128>> for Saturating<u128>

1.22.0 · Source§

impl BitXorAssign<&Saturating<usize>> for Saturating<usize>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<i8>> for Wrapping<i8>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<i16>> for Wrapping<i16>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<i32>> for Wrapping<i32>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<i64>> for Wrapping<i64>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<i128>> for Wrapping<i128>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<isize>> for Wrapping<isize>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<u8>> for Wrapping<u8>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<u16>> for Wrapping<u16>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<u32>> for Wrapping<u32>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<u64>> for Wrapping<u64>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<u128>> for Wrapping<u128>

1.22.0 · Source§

impl BitXorAssign<&Wrapping<usize>> for Wrapping<usize>

1.74.0 · Source§

impl BitXorAssign<i8> for Saturating<i8>

1.60.0 · Source§

impl BitXorAssign<i8> for Wrapping<i8>

1.74.0 · Source§

impl BitXorAssign<i16> for Saturating<i16>

1.60.0 · Source§

impl BitXorAssign<i16> for Wrapping<i16>

1.74.0 · Source§

impl BitXorAssign<i32> for Saturating<i32>

1.60.0 · Source§

impl BitXorAssign<i32> for Wrapping<i32>

1.74.0 · Source§

impl BitXorAssign<i64> for Saturating<i64>

1.60.0 · Source§

impl BitXorAssign<i64> for Wrapping<i64>

1.74.0 · Source§

impl BitXorAssign<i128> for Saturating<i128>

1.60.0 · Source§

impl BitXorAssign<i128> for Wrapping<i128>

1.74.0 · Source§

impl BitXorAssign<isize> for Saturating<isize>

1.60.0 · Source§

impl BitXorAssign<isize> for Wrapping<isize>

1.74.0 · Source§

impl BitXorAssign<u8> for Saturating<u8>

1.60.0 · Source§

impl BitXorAssign<u8> for Wrapping<u8>

1.74.0 · Source§

impl BitXorAssign<u16> for Saturating<u16>

1.60.0 · Source§

impl BitXorAssign<u16> for Wrapping<u16>

1.74.0 · Source§

impl BitXorAssign<u32> for Saturating<u32>

1.60.0 · Source§

impl BitXorAssign<u32> for Wrapping<u32>

1.74.0 · Source§

impl BitXorAssign<u64> for Saturating<u64>

1.60.0 · Source§

impl BitXorAssign<u64> for Wrapping<u64>

1.74.0 · Source§

impl BitXorAssign<u128> for Saturating<u128>

1.60.0 · Source§

impl BitXorAssign<u128> for Wrapping<u128>

1.74.0 · Source§

impl BitXorAssign<usize> for Saturating<usize>

1.60.0 · Source§

impl BitXorAssign<usize> for Wrapping<usize>

Source§

impl<T, U, const N: usize> BitXorAssign<U> for Simd<T, N>
where Simd<T, N>: BitXor<U, Output = Simd<T, N>>, T: SimdElement, LaneCount<N>: SupportedLaneCount,

Source§

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

Source§

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