Trait std::ops::ShlAssign1.8.0 [] [src]

pub trait ShlAssign<Rhs> {
    fn shl_assign(&mut self, Rhs);

The ShlAssign trait is used to specify the functionality of <<=.


A trivial implementation of ShlAssign. When Foo <<= Foo happens, it ends up calling shl_assign, and therefore, main prints Shifting left!.

use std::ops::ShlAssign;

struct Foo;

impl ShlAssign<Foo> for Foo {
    fn shl_assign(&mut self, _rhs: Foo) {
        println!("Shifting left!");

fn main() {
    let mut foo = Foo;
    foo <<= Foo;

Required Methods

The method for the <<= operator