Trait scale_info::prelude::ops::BitXorAssign
1.8.0 · source · [−]pub trait BitXorAssign<Rhs = Self> {
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
fn 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);