Skip to main content

BitXorAssign

Trait BitXorAssign 

1.8.0 (const: unstable) · 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 (const: unstable) · 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);

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl BitXorAssign for BigInt

Source§

impl BitXorAssign for BigUint

Source§

impl BitXorAssign for subtle::Choice

Source§

impl BitXorAssign for ctutils::choice::Choice

Source§

impl BitXorAssign for Limb

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl BitXorAssign for Saturating<usize>

Source§

impl BitXorAssign for Style

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<i8>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<i16>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<i32>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<i64>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<i128>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<isize>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<u8>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<u16>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<u32>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<u64>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<u128>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for core::num::wrapping::Wrapping<usize>

1.8.0 (const: unstable) · Source§

impl BitXorAssign for bool

1.8.0 (const: unstable) · Source§

impl BitXorAssign for i8

1.8.0 (const: unstable) · Source§

impl BitXorAssign for i16

1.8.0 (const: unstable) · Source§

impl BitXorAssign for i32

1.8.0 (const: unstable) · Source§

impl BitXorAssign for i64

1.8.0 (const: unstable) · Source§

impl BitXorAssign for i128

1.8.0 (const: unstable) · Source§

impl BitXorAssign for isize

1.8.0 (const: unstable) · Source§

impl BitXorAssign for u8

1.8.0 (const: unstable) · Source§

impl BitXorAssign for u16

1.8.0 (const: unstable) · Source§

impl BitXorAssign for u32

1.8.0 (const: unstable) · Source§

impl BitXorAssign for u64

1.8.0 (const: unstable) · Source§

impl BitXorAssign for u128

1.8.0 (const: unstable) · Source§

impl BitXorAssign for usize

Source§

impl BitXorAssign<&BigInt> for BigInt

Source§

impl BitXorAssign<&BigUint> for BigUint

Source§

impl BitXorAssign<&Limb> for Limb

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

Source§

impl BitXorAssign<&Style> for Style

Source§

impl BitXorAssign<&Styles> for Style

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<i8>> for core::num::wrapping::Wrapping<i8>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<i16>> for core::num::wrapping::Wrapping<i16>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<i32>> for core::num::wrapping::Wrapping<i32>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<i64>> for core::num::wrapping::Wrapping<i64>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<i128>> for core::num::wrapping::Wrapping<i128>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<isize>> for core::num::wrapping::Wrapping<isize>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<u8>> for core::num::wrapping::Wrapping<u8>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<u16>> for core::num::wrapping::Wrapping<u16>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<u32>> for core::num::wrapping::Wrapping<u32>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<u64>> for core::num::wrapping::Wrapping<u64>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<u128>> for core::num::wrapping::Wrapping<u128>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&Wrapping<usize>> for core::num::wrapping::Wrapping<usize>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&bool> for bool

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&i8> for Saturating<i8>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&i8> for core::num::wrapping::Wrapping<i8>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&i8> for i8

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&i16> for Saturating<i16>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&i16> for core::num::wrapping::Wrapping<i16>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&i16> for i16

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&i32> for Saturating<i32>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&i32> for core::num::wrapping::Wrapping<i32>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&i32> for i32

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&i64> for Saturating<i64>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&i64> for core::num::wrapping::Wrapping<i64>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&i64> for i64

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&i128> for Saturating<i128>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&i128> for core::num::wrapping::Wrapping<i128>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&i128> for i128

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&isize> for Saturating<isize>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&isize> for core::num::wrapping::Wrapping<isize>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&isize> for isize

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&u8> for Saturating<u8>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&u8> for core::num::wrapping::Wrapping<u8>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&u8> for u8

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&u16> for Saturating<u16>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&u16> for core::num::wrapping::Wrapping<u16>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&u16> for u16

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&u32> for Saturating<u32>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&u32> for core::num::wrapping::Wrapping<u32>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&u32> for u32

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&u64> for Saturating<u64>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&u64> for core::num::wrapping::Wrapping<u64>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&u64> for u64

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&u128> for Saturating<u128>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&u128> for core::num::wrapping::Wrapping<u128>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&u128> for u128

1.74.0 (const: unstable) · Source§

impl BitXorAssign<&usize> for Saturating<usize>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&usize> for core::num::wrapping::Wrapping<usize>

1.22.0 (const: unstable) · Source§

impl BitXorAssign<&usize> for usize

Source§

impl BitXorAssign<Styles> for Style

1.74.0 (const: unstable) · Source§

impl BitXorAssign<i8> for Saturating<i8>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<i8> for core::num::wrapping::Wrapping<i8>

1.74.0 (const: unstable) · Source§

impl BitXorAssign<i16> for Saturating<i16>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<i16> for core::num::wrapping::Wrapping<i16>

1.74.0 (const: unstable) · Source§

impl BitXorAssign<i32> for Saturating<i32>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<i32> for core::num::wrapping::Wrapping<i32>

1.74.0 (const: unstable) · Source§

impl BitXorAssign<i64> for Saturating<i64>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<i64> for core::num::wrapping::Wrapping<i64>

1.74.0 (const: unstable) · Source§

impl BitXorAssign<i128> for Saturating<i128>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<i128> for core::num::wrapping::Wrapping<i128>

1.74.0 (const: unstable) · Source§

impl BitXorAssign<isize> for Saturating<isize>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<isize> for core::num::wrapping::Wrapping<isize>

1.74.0 (const: unstable) · Source§

impl BitXorAssign<u8> for Saturating<u8>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<u8> for core::num::wrapping::Wrapping<u8>

1.74.0 (const: unstable) · Source§

impl BitXorAssign<u16> for Saturating<u16>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<u16> for core::num::wrapping::Wrapping<u16>

1.74.0 (const: unstable) · Source§

impl BitXorAssign<u32> for Saturating<u32>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<u32> for core::num::wrapping::Wrapping<u32>

1.74.0 (const: unstable) · Source§

impl BitXorAssign<u64> for Saturating<u64>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<u64> for core::num::wrapping::Wrapping<u64>

1.74.0 (const: unstable) · Source§

impl BitXorAssign<u128> for Saturating<u128>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<u128> for core::num::wrapping::Wrapping<u128>

1.74.0 (const: unstable) · Source§

impl BitXorAssign<usize> for Saturating<usize>

1.60.0 (const: unstable) · Source§

impl BitXorAssign<usize> for core::num::wrapping::Wrapping<usize>

Source§

impl<E, I> BitXorAssign for Integer<E, I>
where E: Environment, I: IntegerType,

Source§

impl<E> BitXorAssign for Boolean<E>
where E: Environment,

Source§

impl<T, S, A> BitXorAssign<&HashSet<T, S, A>> for hashbrown::set::HashSet<T, S, A>
where T: Eq + Hash + Clone, S: BuildHasher, A: Allocator,

Source§

impl<T, S, A> BitXorAssign<&HashSet<T, S, A>> for hashbrown::set::HashSet<T, S, A>
where T: Eq + Hash + Clone, S: BuildHasher, A: Allocator,

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,

Source§

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

Source§

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

Source§

impl<T> BitXorAssign for crypto_bigint::wrapping::Wrapping<T>
where T: Integer,

Source§

impl<T> BitXorAssign<&Wrapping<T>> for crypto_bigint::wrapping::Wrapping<T>
where T: Integer,

Source§

impl<const LIMBS: usize> BitXorAssign for Int<LIMBS>

Source§

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

Source§

impl<const LIMBS: usize> BitXorAssign<&Int<LIMBS>> for Int<LIMBS>

Source§

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