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 · Sourcefn bitxor_assign(&mut self, rhs: Rhs)
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§
impl BitXorAssign for bool
impl BitXorAssign for i8
impl BitXorAssign for i16
impl BitXorAssign for i32
impl BitXorAssign for i64
impl BitXorAssign for i128
impl BitXorAssign for isize
impl BitXorAssign for u8
impl BitXorAssign for u16
impl BitXorAssign for u32
impl BitXorAssign for u64
impl BitXorAssign for u128
impl BitXorAssign for usize
impl BitXorAssign for Saturating<i8>
impl BitXorAssign for Saturating<i16>
impl BitXorAssign for Saturating<i32>
impl BitXorAssign for Saturating<i64>
impl BitXorAssign for Saturating<i128>
impl BitXorAssign for Saturating<isize>
impl BitXorAssign for Saturating<u8>
impl BitXorAssign for Saturating<u16>
impl BitXorAssign for Saturating<u32>
impl BitXorAssign for Saturating<u64>
impl BitXorAssign for Saturating<u128>
impl BitXorAssign for Saturating<usize>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<i8>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<i16>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<i32>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<i64>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<i128>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<isize>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<u8>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<u16>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<u32>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<u64>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<u128>
impl BitXorAssign for cairo_vm::with_std::num::Wrapping<usize>
impl BitXorAssign for BigInt
impl BitXorAssign for BigUint
impl BitXorAssign for udouble
impl BitXorAssign for u32x4_generic
impl BitXorAssign for u64x2_generic
impl BitXorAssign for u128x1_generic
impl BitXorAssign for Choice
impl BitXorAssign<&bool> for bool
impl BitXorAssign<&i8> for i8
impl BitXorAssign<&i8> for Saturating<i8>
impl BitXorAssign<&i8> for cairo_vm::with_std::num::Wrapping<i8>
impl BitXorAssign<&i16> for i16
impl BitXorAssign<&i16> for Saturating<i16>
impl BitXorAssign<&i16> for cairo_vm::with_std::num::Wrapping<i16>
impl BitXorAssign<&i32> for i32
impl BitXorAssign<&i32> for Saturating<i32>
impl BitXorAssign<&i32> for cairo_vm::with_std::num::Wrapping<i32>
impl BitXorAssign<&i64> for i64
impl BitXorAssign<&i64> for Saturating<i64>
impl BitXorAssign<&i64> for cairo_vm::with_std::num::Wrapping<i64>
impl BitXorAssign<&i128> for i128
impl BitXorAssign<&i128> for Saturating<i128>
impl BitXorAssign<&i128> for cairo_vm::with_std::num::Wrapping<i128>
impl BitXorAssign<&isize> for isize
impl BitXorAssign<&isize> for Saturating<isize>
impl BitXorAssign<&isize> for cairo_vm::with_std::num::Wrapping<isize>
impl BitXorAssign<&u8> for u8
impl BitXorAssign<&u8> for Saturating<u8>
impl BitXorAssign<&u8> for cairo_vm::with_std::num::Wrapping<u8>
impl BitXorAssign<&u16> for u16
impl BitXorAssign<&u16> for Saturating<u16>
impl BitXorAssign<&u16> for cairo_vm::with_std::num::Wrapping<u16>
impl BitXorAssign<&u32> for u32
impl BitXorAssign<&u32> for Saturating<u32>
impl BitXorAssign<&u32> for cairo_vm::with_std::num::Wrapping<u32>
impl BitXorAssign<&u64> for u64
impl BitXorAssign<&u64> for Saturating<u64>
impl BitXorAssign<&u64> for cairo_vm::with_std::num::Wrapping<u64>
impl BitXorAssign<&u128> for u128
impl BitXorAssign<&u128> for Saturating<u128>
impl BitXorAssign<&u128> for cairo_vm::with_std::num::Wrapping<u128>
impl BitXorAssign<&usize> for usize
impl BitXorAssign<&usize> for Saturating<usize>
impl BitXorAssign<&usize> for cairo_vm::with_std::num::Wrapping<usize>
impl BitXorAssign<&Saturating<i8>> for Saturating<i8>
impl BitXorAssign<&Saturating<i16>> for Saturating<i16>
impl BitXorAssign<&Saturating<i32>> for Saturating<i32>
impl BitXorAssign<&Saturating<i64>> for Saturating<i64>
impl BitXorAssign<&Saturating<i128>> for Saturating<i128>
impl BitXorAssign<&Saturating<isize>> for Saturating<isize>
impl BitXorAssign<&Saturating<u8>> for Saturating<u8>
impl BitXorAssign<&Saturating<u16>> for Saturating<u16>
impl BitXorAssign<&Saturating<u32>> for Saturating<u32>
impl BitXorAssign<&Saturating<u64>> for Saturating<u64>
impl BitXorAssign<&Saturating<u128>> for Saturating<u128>
impl BitXorAssign<&Saturating<usize>> for Saturating<usize>
impl BitXorAssign<&Wrapping<i8>> for cairo_vm::with_std::num::Wrapping<i8>
impl BitXorAssign<&Wrapping<i16>> for cairo_vm::with_std::num::Wrapping<i16>
impl BitXorAssign<&Wrapping<i32>> for cairo_vm::with_std::num::Wrapping<i32>
impl BitXorAssign<&Wrapping<i64>> for cairo_vm::with_std::num::Wrapping<i64>
impl BitXorAssign<&Wrapping<i128>> for cairo_vm::with_std::num::Wrapping<i128>
impl BitXorAssign<&Wrapping<isize>> for cairo_vm::with_std::num::Wrapping<isize>
impl BitXorAssign<&Wrapping<u8>> for cairo_vm::with_std::num::Wrapping<u8>
impl BitXorAssign<&Wrapping<u16>> for cairo_vm::with_std::num::Wrapping<u16>
impl BitXorAssign<&Wrapping<u32>> for cairo_vm::with_std::num::Wrapping<u32>
impl BitXorAssign<&Wrapping<u64>> for cairo_vm::with_std::num::Wrapping<u64>
impl BitXorAssign<&Wrapping<u128>> for cairo_vm::with_std::num::Wrapping<u128>
impl BitXorAssign<&Wrapping<usize>> for cairo_vm::with_std::num::Wrapping<usize>
impl BitXorAssign<&BigInt> for BigInt
impl BitXorAssign<&BigUint> for BigUint
impl BitXorAssign<i8> for Saturating<i8>
impl BitXorAssign<i8> for cairo_vm::with_std::num::Wrapping<i8>
impl BitXorAssign<i16> for Saturating<i16>
impl BitXorAssign<i16> for cairo_vm::with_std::num::Wrapping<i16>
impl BitXorAssign<i32> for Saturating<i32>
impl BitXorAssign<i32> for cairo_vm::with_std::num::Wrapping<i32>
impl BitXorAssign<i64> for Saturating<i64>
impl BitXorAssign<i64> for cairo_vm::with_std::num::Wrapping<i64>
impl BitXorAssign<i128> for Saturating<i128>
impl BitXorAssign<i128> for cairo_vm::with_std::num::Wrapping<i128>
impl BitXorAssign<isize> for Saturating<isize>
impl BitXorAssign<isize> for cairo_vm::with_std::num::Wrapping<isize>
impl BitXorAssign<u8> for Saturating<u8>
impl BitXorAssign<u8> for cairo_vm::with_std::num::Wrapping<u8>
impl BitXorAssign<u16> for Saturating<u16>
impl BitXorAssign<u16> for cairo_vm::with_std::num::Wrapping<u16>
impl BitXorAssign<u32> for Saturating<u32>
impl BitXorAssign<u32> for cairo_vm::with_std::num::Wrapping<u32>
impl BitXorAssign<u64> for Saturating<u64>
impl BitXorAssign<u64> for cairo_vm::with_std::num::Wrapping<u64>
impl BitXorAssign<u128> for Saturating<u128>
impl BitXorAssign<u128> for cairo_vm::with_std::num::Wrapping<u128>
impl BitXorAssign<usize> for Saturating<usize>
impl BitXorAssign<usize> for cairo_vm::with_std::num::Wrapping<usize>
impl<A, O> BitXorAssign<&BitArray<A, O>> for BitSlice<<A as BitView>::Store, O>where
A: BitViewSized,
O: BitOrder,
Available on non-
tarpaulin_include only.impl<A, O> BitXorAssign<BitArray<A, O>> for BitSlice<<A as BitView>::Store, O>where
A: BitViewSized,
O: BitOrder,
Available on non-
tarpaulin_include only.impl<A, O, Rhs> BitXorAssign<Rhs> for BitArray<A, O>
impl<O> BitXorAssign for I16<O>where
O: ByteOrder,
impl<O> BitXorAssign for I32<O>where
O: ByteOrder,
impl<O> BitXorAssign for I64<O>where
O: ByteOrder,
impl<O> BitXorAssign for I128<O>where
O: ByteOrder,
impl<O> BitXorAssign for Isize<O>where
O: ByteOrder,
impl<O> BitXorAssign for U16<O>where
O: ByteOrder,
impl<O> BitXorAssign for U32<O>where
O: ByteOrder,
impl<O> BitXorAssign for U64<O>where
O: ByteOrder,
impl<O> BitXorAssign for U128<O>where
O: ByteOrder,
impl<O> BitXorAssign for Usize<O>where
O: ByteOrder,
impl<O> BitXorAssign<i16> for I16<O>where
O: ByteOrder,
impl<O> BitXorAssign<i32> for I32<O>where
O: ByteOrder,
impl<O> BitXorAssign<i64> for I64<O>where
O: ByteOrder,
impl<O> BitXorAssign<i128> for I128<O>where
O: ByteOrder,
impl<O> BitXorAssign<isize> for Isize<O>where
O: ByteOrder,
impl<O> BitXorAssign<u16> for U16<O>where
O: ByteOrder,
impl<O> BitXorAssign<u32> for U32<O>where
O: ByteOrder,
impl<O> BitXorAssign<u64> for U64<O>where
O: ByteOrder,
impl<O> BitXorAssign<u128> for U128<O>where
O: ByteOrder,
impl<O> BitXorAssign<usize> for Usize<O>where
O: ByteOrder,
impl<O> BitXorAssign<I16<O>> for i16where
O: ByteOrder,
impl<O> BitXorAssign<I32<O>> for i32where
O: ByteOrder,
impl<O> BitXorAssign<I64<O>> for i64where
O: ByteOrder,
impl<O> BitXorAssign<I128<O>> for i128where
O: ByteOrder,
impl<O> BitXorAssign<Isize<O>> for isizewhere
O: ByteOrder,
impl<O> BitXorAssign<U16<O>> for u16where
O: ByteOrder,
impl<O> BitXorAssign<U32<O>> for u32where
O: ByteOrder,
impl<O> BitXorAssign<U64<O>> for u64where
O: ByteOrder,
impl<O> BitXorAssign<U128<O>> for u128where
O: ByteOrder,
impl<O> BitXorAssign<Usize<O>> for usizewhere
O: ByteOrder,
impl<T1, T2, O1, O2> BitXorAssign<&BitSlice<T2, O2>> for BitSlice<T1, O1>
impl<T, O> BitXorAssign<&BitBox<T, O>> for BitSlice<T, O>
Available on non-
tarpaulin_include only.impl<T, O> BitXorAssign<&BitVec<T, O>> for BitSlice<T, O>
Available on non-
tarpaulin_include only.impl<T, O> BitXorAssign<BitBox<T, O>> for BitSlice<T, O>
Available on non-
tarpaulin_include only.impl<T, O> BitXorAssign<BitVec<T, O>> for BitSlice<T, O>
Available on non-
tarpaulin_include only.impl<T, O, Rhs> BitXorAssign<Rhs> for BitBox<T, O>
impl<T, O, Rhs> BitXorAssign<Rhs> for BitVec<T, O>
Available on non-
tarpaulin_include only.