Trait std::ops::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});
Run

Required Methods§

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

Implementors§

source§

impl BitXorAssign for bool

source§

impl BitXorAssign for i8

source§

impl BitXorAssign for i16

source§

impl BitXorAssign for i32

source§

impl BitXorAssign for i64

source§

impl BitXorAssign for i128

source§

impl BitXorAssign for isize

source§

impl BitXorAssign for u8

source§

impl BitXorAssign for u16

source§

impl BitXorAssign for u32

source§

impl BitXorAssign for u64

source§

impl BitXorAssign for u128

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>

source§

impl BitXorAssign for Wrapping<i8>

source§

impl BitXorAssign for Wrapping<i16>

source§

impl BitXorAssign for Wrapping<i32>

source§

impl BitXorAssign for Wrapping<i64>

source§

impl BitXorAssign for Wrapping<i128>

source§

impl BitXorAssign for Wrapping<isize>

source§

impl BitXorAssign for Wrapping<u8>

source§

impl BitXorAssign for Wrapping<u16>

source§

impl BitXorAssign for Wrapping<u32>

source§

impl BitXorAssign for Wrapping<u64>

source§

impl BitXorAssign for Wrapping<u128>

source§

impl BitXorAssign for Wrapping<usize>

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 LANES: usize> BitXorAssign<U> for Simd<T, LANES>where Simd<T, LANES>: BitXor<U, Output = Simd<T, LANES>>, T: SimdElement, LaneCount<LANES>: SupportedLaneCount,

source§

impl<T, const LANES: usize> BitXorAssign for Mask<T, LANES>where T: MaskElement, LaneCount<LANES>: SupportedLaneCount,

source§

impl<T, const LANES: usize> BitXorAssign<bool> for Mask<T, LANES>where T: MaskElement, LaneCount<LANES>: SupportedLaneCount,