pub trait ShlAssign<Rhs = Self> {
// Required method
fn shl_assign(&mut self, rhs: Rhs);
}
Expand description
The left shift assignment operator <<=
.
Examples
An implementation of ShlAssign
for a wrapper around usize
.
use std::ops::ShlAssign;
#[derive(Debug, PartialEq)]
struct Scalar(usize);
impl ShlAssign<usize> for Scalar {
fn shl_assign(&mut self, rhs: usize) {
self.0 <<= rhs;
}
}
let mut scalar = Scalar(4);
scalar <<= 2;
assert_eq!(scalar, Scalar(16));
Required Methods§
sourcefn shl_assign(&mut self, rhs: Rhs)
fn shl_assign(&mut self, rhs: Rhs)
Performs the <<=
operation.
Examples
let mut x: u8 = 5;
x <<= 1;
assert_eq!(x, 10);
let mut x: u8 = 1;
x <<= 1;
assert_eq!(x, 2);