Trait core::ops::ShrAssign [] [src]

pub trait ShrAssign<Rhs = Self> {
    fn shr_assign(&mut self, Rhs);
}
Unstable (op_assign_traits #28235)

: recently added

The ShrAssign trait is used to specify the functionality of >>=.

Examples

A trivial implementation of ShrAssign. When Foo >>= Foo happens, it ends up calling shr_assign, and therefore, main prints Shifting right!.

#![feature(augmented_assignments)] #![feature(op_assign_traits)] use std::ops::ShrAssign; #[derive(Copy, Clone)] struct Foo; impl ShrAssign<Foo> for Foo { fn shr_assign(&mut self, _rhs: Foo) { println!("Shifting right!"); } } #[allow(unused_assignments)] fn main() { let mut foo = Foo; foo >>= Foo; }
#![feature(augmented_assignments)]
#![feature(op_assign_traits)]

use std::ops::ShrAssign;

#[derive(Copy, Clone)]
struct Foo;

impl ShrAssign<Foo> for Foo {
    fn shr_assign(&mut self, _rhs: Foo) {
        println!("Shifting right!");
    }
}

fn main() {
    let mut foo = Foo;
    foo >>= Foo;
}

Required Methods

fn shr_assign(&mut self, Rhs)

Unstable (op_assign_traits #28235)

: recently added

The method for the >>= operator

Implementors