pub trait BitOrAssign<Rhs = Self> {
// Required method
fn bitor_assign(&mut self, rhs: Rhs);
}Expand description
The bitwise OR assignment operator |=.
§Examples
use std::ops::BitOrAssign;
#[derive(Debug, PartialEq)]
struct PersonalPreferences {
likes_cats: bool,
likes_dogs: bool,
}
impl BitOrAssign for PersonalPreferences {
fn bitor_assign(&mut self, rhs: Self) {
self.likes_cats |= rhs.likes_cats;
self.likes_dogs |= rhs.likes_dogs;
}
}
let mut prefs = PersonalPreferences { likes_cats: true, likes_dogs: false };
prefs |= PersonalPreferences { likes_cats: false, likes_dogs: true };
assert_eq!(prefs, PersonalPreferences { likes_cats: true, likes_dogs: true });Required Methods§
1.8.0 · Sourcefn bitor_assign(&mut self, rhs: Rhs)
fn bitor_assign(&mut self, rhs: Rhs)
Performs the |= operation.
§Examples
let mut x = true;
x |= false;
assert_eq!(x, true);
let mut x = false;
x |= false;
assert_eq!(x, false);
let mut x: u8 = 5;
x |= 1;
assert_eq!(x, 5);
let mut x: u8 = 5;
x |= 2;
assert_eq!(x, 7);Implementors§
impl BitOrAssign for bool
impl BitOrAssign for i8
impl BitOrAssign for i16
impl BitOrAssign for i32
impl BitOrAssign for i64
impl BitOrAssign for i128
impl BitOrAssign for isize
impl BitOrAssign for u8
impl BitOrAssign for u16
impl BitOrAssign for u32
impl BitOrAssign for u64
impl BitOrAssign for u128
impl BitOrAssign for usize
impl BitOrAssign for Saturating<i8>
impl BitOrAssign for Saturating<i16>
impl BitOrAssign for Saturating<i32>
impl BitOrAssign for Saturating<i64>
impl BitOrAssign for Saturating<i128>
impl BitOrAssign for Saturating<isize>
impl BitOrAssign for Saturating<u8>
impl BitOrAssign for Saturating<u16>
impl BitOrAssign for Saturating<u32>
impl BitOrAssign for Saturating<u64>
impl BitOrAssign for Saturating<u128>
impl BitOrAssign for Saturating<usize>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<i8>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<i16>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<i32>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<i64>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<i128>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<isize>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<u8>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<u16>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<u32>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<u64>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<u128>
impl BitOrAssign for cairo_vm::with_std::num::Wrapping<usize>
impl BitOrAssign for Ipv4Addr
impl BitOrAssign for Ipv6Addr
impl BitOrAssign for BigInt
impl BitOrAssign for BigUint
impl BitOrAssign for udouble
impl BitOrAssign for Choice
impl BitOrAssign<&bool> for bool
impl BitOrAssign<&i8> for i8
impl BitOrAssign<&i8> for Saturating<i8>
impl BitOrAssign<&i8> for cairo_vm::with_std::num::Wrapping<i8>
impl BitOrAssign<&i16> for i16
impl BitOrAssign<&i16> for Saturating<i16>
impl BitOrAssign<&i16> for cairo_vm::with_std::num::Wrapping<i16>
impl BitOrAssign<&i32> for i32
impl BitOrAssign<&i32> for Saturating<i32>
impl BitOrAssign<&i32> for cairo_vm::with_std::num::Wrapping<i32>
impl BitOrAssign<&i64> for i64
impl BitOrAssign<&i64> for Saturating<i64>
impl BitOrAssign<&i64> for cairo_vm::with_std::num::Wrapping<i64>
impl BitOrAssign<&i128> for i128
impl BitOrAssign<&i128> for Saturating<i128>
impl BitOrAssign<&i128> for cairo_vm::with_std::num::Wrapping<i128>
impl BitOrAssign<&isize> for isize
impl BitOrAssign<&isize> for Saturating<isize>
impl BitOrAssign<&isize> for cairo_vm::with_std::num::Wrapping<isize>
impl BitOrAssign<&u8> for u8
impl BitOrAssign<&u8> for Saturating<u8>
impl BitOrAssign<&u8> for cairo_vm::with_std::num::Wrapping<u8>
impl BitOrAssign<&u16> for u16
impl BitOrAssign<&u16> for Saturating<u16>
impl BitOrAssign<&u16> for cairo_vm::with_std::num::Wrapping<u16>
impl BitOrAssign<&u32> for u32
impl BitOrAssign<&u32> for Saturating<u32>
impl BitOrAssign<&u32> for cairo_vm::with_std::num::Wrapping<u32>
impl BitOrAssign<&u64> for u64
impl BitOrAssign<&u64> for Saturating<u64>
impl BitOrAssign<&u64> for cairo_vm::with_std::num::Wrapping<u64>
impl BitOrAssign<&u128> for u128
impl BitOrAssign<&u128> for Saturating<u128>
impl BitOrAssign<&u128> for cairo_vm::with_std::num::Wrapping<u128>
impl BitOrAssign<&usize> for usize
impl BitOrAssign<&usize> for Saturating<usize>
impl BitOrAssign<&usize> for cairo_vm::with_std::num::Wrapping<usize>
impl BitOrAssign<&Saturating<i8>> for Saturating<i8>
impl BitOrAssign<&Saturating<i16>> for Saturating<i16>
impl BitOrAssign<&Saturating<i32>> for Saturating<i32>
impl BitOrAssign<&Saturating<i64>> for Saturating<i64>
impl BitOrAssign<&Saturating<i128>> for Saturating<i128>
impl BitOrAssign<&Saturating<isize>> for Saturating<isize>
impl BitOrAssign<&Saturating<u8>> for Saturating<u8>
impl BitOrAssign<&Saturating<u16>> for Saturating<u16>
impl BitOrAssign<&Saturating<u32>> for Saturating<u32>
impl BitOrAssign<&Saturating<u64>> for Saturating<u64>
impl BitOrAssign<&Saturating<u128>> for Saturating<u128>
impl BitOrAssign<&Saturating<usize>> for Saturating<usize>
impl BitOrAssign<&Wrapping<i8>> for cairo_vm::with_std::num::Wrapping<i8>
impl BitOrAssign<&Wrapping<i16>> for cairo_vm::with_std::num::Wrapping<i16>
impl BitOrAssign<&Wrapping<i32>> for cairo_vm::with_std::num::Wrapping<i32>
impl BitOrAssign<&Wrapping<i64>> for cairo_vm::with_std::num::Wrapping<i64>
impl BitOrAssign<&Wrapping<i128>> for cairo_vm::with_std::num::Wrapping<i128>
impl BitOrAssign<&Wrapping<isize>> for cairo_vm::with_std::num::Wrapping<isize>
impl BitOrAssign<&Wrapping<u8>> for cairo_vm::with_std::num::Wrapping<u8>
impl BitOrAssign<&Wrapping<u16>> for cairo_vm::with_std::num::Wrapping<u16>
impl BitOrAssign<&Wrapping<u32>> for cairo_vm::with_std::num::Wrapping<u32>
impl BitOrAssign<&Wrapping<u64>> for cairo_vm::with_std::num::Wrapping<u64>
impl BitOrAssign<&Wrapping<u128>> for cairo_vm::with_std::num::Wrapping<u128>
impl BitOrAssign<&Wrapping<usize>> for cairo_vm::with_std::num::Wrapping<usize>
impl BitOrAssign<&Ipv4Addr> for Ipv4Addr
impl BitOrAssign<&Ipv6Addr> for Ipv6Addr
impl BitOrAssign<&BigInt> for BigInt
impl BitOrAssign<&BigUint> for BigUint
impl BitOrAssign<i8> for Saturating<i8>
impl BitOrAssign<i8> for cairo_vm::with_std::num::Wrapping<i8>
impl BitOrAssign<i16> for Saturating<i16>
impl BitOrAssign<i16> for cairo_vm::with_std::num::Wrapping<i16>
impl BitOrAssign<i32> for Saturating<i32>
impl BitOrAssign<i32> for cairo_vm::with_std::num::Wrapping<i32>
impl BitOrAssign<i64> for Saturating<i64>
impl BitOrAssign<i64> for cairo_vm::with_std::num::Wrapping<i64>
impl BitOrAssign<i128> for Saturating<i128>
impl BitOrAssign<i128> for cairo_vm::with_std::num::Wrapping<i128>
impl BitOrAssign<isize> for Saturating<isize>
impl BitOrAssign<isize> for cairo_vm::with_std::num::Wrapping<isize>
impl BitOrAssign<u8> for Saturating<u8>
impl BitOrAssign<u8> for cairo_vm::with_std::num::Wrapping<u8>
impl BitOrAssign<u16> for Saturating<u16>
impl BitOrAssign<u16> for cairo_vm::with_std::num::Wrapping<u16>
impl BitOrAssign<u32> for Saturating<u32>
impl BitOrAssign<u32> for cairo_vm::with_std::num::Wrapping<u32>
impl BitOrAssign<u64> for Saturating<u64>
impl BitOrAssign<u64> for cairo_vm::with_std::num::Wrapping<u64>
impl BitOrAssign<u128> for Saturating<u128>
impl BitOrAssign<u128> for cairo_vm::with_std::num::Wrapping<u128>
impl BitOrAssign<usize> for Saturating<usize>
impl BitOrAssign<usize> for cairo_vm::with_std::num::Wrapping<usize>
impl<A, O> BitOrAssign<&BitArray<A, O>> for BitSlice<<A as BitView>::Store, O>where
A: BitViewSized,
O: BitOrder,
Available on non-
tarpaulin_include only.impl<A, O> BitOrAssign<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> BitOrAssign<Rhs> for BitArray<A, O>
impl<O> BitOrAssign for I16<O>where
O: ByteOrder,
impl<O> BitOrAssign for I32<O>where
O: ByteOrder,
impl<O> BitOrAssign for I64<O>where
O: ByteOrder,
impl<O> BitOrAssign for I128<O>where
O: ByteOrder,
impl<O> BitOrAssign for Isize<O>where
O: ByteOrder,
impl<O> BitOrAssign for U16<O>where
O: ByteOrder,
impl<O> BitOrAssign for U32<O>where
O: ByteOrder,
impl<O> BitOrAssign for U64<O>where
O: ByteOrder,
impl<O> BitOrAssign for U128<O>where
O: ByteOrder,
impl<O> BitOrAssign for Usize<O>where
O: ByteOrder,
impl<O> BitOrAssign<i16> for I16<O>where
O: ByteOrder,
impl<O> BitOrAssign<i32> for I32<O>where
O: ByteOrder,
impl<O> BitOrAssign<i64> for I64<O>where
O: ByteOrder,
impl<O> BitOrAssign<i128> for I128<O>where
O: ByteOrder,
impl<O> BitOrAssign<isize> for Isize<O>where
O: ByteOrder,
impl<O> BitOrAssign<u16> for U16<O>where
O: ByteOrder,
impl<O> BitOrAssign<u32> for U32<O>where
O: ByteOrder,
impl<O> BitOrAssign<u64> for U64<O>where
O: ByteOrder,
impl<O> BitOrAssign<u128> for U128<O>where
O: ByteOrder,
impl<O> BitOrAssign<usize> for Usize<O>where
O: ByteOrder,
impl<O> BitOrAssign<I16<O>> for i16where
O: ByteOrder,
impl<O> BitOrAssign<I32<O>> for i32where
O: ByteOrder,
impl<O> BitOrAssign<I64<O>> for i64where
O: ByteOrder,
impl<O> BitOrAssign<I128<O>> for i128where
O: ByteOrder,
impl<O> BitOrAssign<Isize<O>> for isizewhere
O: ByteOrder,
impl<O> BitOrAssign<U16<O>> for u16where
O: ByteOrder,
impl<O> BitOrAssign<U32<O>> for u32where
O: ByteOrder,
impl<O> BitOrAssign<U64<O>> for u64where
O: ByteOrder,
impl<O> BitOrAssign<U128<O>> for u128where
O: ByteOrder,
impl<O> BitOrAssign<Usize<O>> for usizewhere
O: ByteOrder,
impl<T1, T2, O1, O2> BitOrAssign<&BitSlice<T2, O2>> for BitSlice<T1, O1>
impl<T> BitOrAssign for NonZero<T>
impl<T> BitOrAssign<T> for NonZero<T>
impl<T, O> BitOrAssign<&BitBox<T, O>> for BitSlice<T, O>
Available on non-
tarpaulin_include only.impl<T, O> BitOrAssign<&BitVec<T, O>> for BitSlice<T, O>
Available on non-
tarpaulin_include only.impl<T, O> BitOrAssign<BitBox<T, O>> for BitSlice<T, O>
Available on non-
tarpaulin_include only.impl<T, O> BitOrAssign<BitVec<T, O>> for BitSlice<T, O>
Available on non-
tarpaulin_include only.impl<T, O, Rhs> BitOrAssign<Rhs> for BitBox<T, O>
impl<T, O, Rhs> BitOrAssign<Rhs> for BitVec<T, O>
Available on non-
tarpaulin_include only.