pub trait ShrAssign<Rhs = Self> {
fn shr_assign(&mut self, Rhs);
}
The ShrAssign trait is used to specify the functionality of >>=.
A trivial implementation of ShrAssign. When Foo >>= Foo happens, it ends up calling shr_assign, and therefore, main prints Shifting right!.
use std::ops::ShrAssign;
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;
} fn shr_assign(&mut self, Rhs)The method for the >>= operator
impl ShrAssign<usize> for std::num::Wrapping<u8>impl ShrAssign<usize> for std::num::Wrapping<u16>impl ShrAssign<usize> for std::num::Wrapping<u32>impl ShrAssign<usize> for std::num::Wrapping<u64>impl ShrAssign<usize> for std::num::Wrapping<usize>impl ShrAssign<usize> for std::num::Wrapping<i8>impl ShrAssign<usize> for std::num::Wrapping<i16>impl ShrAssign<usize> for std::num::Wrapping<i32>impl ShrAssign<usize> for std::num::Wrapping<i64>impl ShrAssign<usize> for std::num::Wrapping<isize>impl ShrAssign<u8> for u8impl ShrAssign<u16> for u8impl ShrAssign<u32> for u8impl ShrAssign<u64> for u8impl ShrAssign<u128> for u8impl ShrAssign<usize> for u8impl ShrAssign<i8> for u8impl ShrAssign<i16> for u8impl ShrAssign<i32> for u8impl ShrAssign<i64> for u8impl ShrAssign<i128> for u8impl ShrAssign<isize> for u8impl ShrAssign<u8> for u16impl ShrAssign<u16> for u16impl ShrAssign<u32> for u16impl ShrAssign<u64> for u16impl ShrAssign<u128> for u16impl ShrAssign<usize> for u16impl ShrAssign<i8> for u16impl ShrAssign<i16> for u16impl ShrAssign<i32> for u16impl ShrAssign<i64> for u16impl ShrAssign<i128> for u16impl ShrAssign<isize> for u16impl ShrAssign<u8> for u32impl ShrAssign<u16> for u32impl ShrAssign<u32> for u32impl ShrAssign<u64> for u32impl ShrAssign<u128> for u32impl ShrAssign<usize> for u32impl ShrAssign<i8> for u32impl ShrAssign<i16> for u32impl ShrAssign<i32> for u32impl ShrAssign<i64> for u32impl ShrAssign<i128> for u32impl ShrAssign<isize> for u32impl ShrAssign<u8> for u64impl ShrAssign<u16> for u64impl ShrAssign<u32> for u64impl ShrAssign<u64> for u64impl ShrAssign<u128> for u64impl ShrAssign<usize> for u64impl ShrAssign<i8> for u64impl ShrAssign<i16> for u64impl ShrAssign<i32> for u64impl ShrAssign<i64> for u64impl ShrAssign<i128> for u64impl ShrAssign<isize> for u64impl ShrAssign<u8> for usizeimpl ShrAssign<u16> for usizeimpl ShrAssign<u32> for usizeimpl ShrAssign<u64> for usizeimpl ShrAssign<u128> for usizeimpl ShrAssign<usize> for usizeimpl ShrAssign<i8> for usizeimpl ShrAssign<i16> for usizeimpl ShrAssign<i32> for usizeimpl ShrAssign<i64> for usizeimpl ShrAssign<i128> for usizeimpl ShrAssign<isize> for usizeimpl ShrAssign<u8> for i8impl ShrAssign<u16> for i8impl ShrAssign<u32> for i8impl ShrAssign<u64> for i8impl ShrAssign<u128> for i8impl ShrAssign<usize> for i8impl ShrAssign<i8> for i8impl ShrAssign<i16> for i8impl ShrAssign<i32> for i8impl ShrAssign<i64> for i8impl ShrAssign<i128> for i8impl ShrAssign<isize> for i8impl ShrAssign<u8> for i16impl ShrAssign<u16> for i16impl ShrAssign<u32> for i16impl ShrAssign<u64> for i16impl ShrAssign<u128> for i16impl ShrAssign<usize> for i16impl ShrAssign<i8> for i16impl ShrAssign<i16> for i16impl ShrAssign<i32> for i16impl ShrAssign<i64> for i16impl ShrAssign<i128> for i16impl ShrAssign<isize> for i16impl ShrAssign<u8> for i32impl ShrAssign<u16> for i32impl ShrAssign<u32> for i32impl ShrAssign<u64> for i32impl ShrAssign<u128> for i32impl ShrAssign<usize> for i32impl ShrAssign<i8> for i32impl ShrAssign<i16> for i32impl ShrAssign<i32> for i32impl ShrAssign<i64> for i32impl ShrAssign<i128> for i32impl ShrAssign<isize> for i32impl ShrAssign<u8> for i64impl ShrAssign<u16> for i64impl ShrAssign<u32> for i64impl ShrAssign<u64> for i64impl ShrAssign<u128> for i64impl ShrAssign<usize> for i64impl ShrAssign<i8> for i64impl ShrAssign<i16> for i64impl ShrAssign<i32> for i64impl ShrAssign<i64> for i64impl ShrAssign<i128> for i64impl ShrAssign<isize> for i64impl ShrAssign<u8> for isizeimpl ShrAssign<u16> for isizeimpl ShrAssign<u32> for isizeimpl ShrAssign<u64> for isizeimpl ShrAssign<u128> for isizeimpl ShrAssign<usize> for isizeimpl ShrAssign<i8> for isizeimpl ShrAssign<i16> for isizeimpl ShrAssign<i32> for isizeimpl ShrAssign<i64> for isizeimpl ShrAssign<i128> for isizeimpl ShrAssign<isize> for isizeimpl ShrAssign<u8> for u128impl ShrAssign<u16> for u128impl ShrAssign<u32> for u128impl ShrAssign<u64> for u128impl ShrAssign<u128> for u128impl ShrAssign<usize> for u128impl ShrAssign<i8> for u128impl ShrAssign<i16> for u128impl ShrAssign<i32> for u128impl ShrAssign<i64> for u128impl ShrAssign<i128> for u128impl ShrAssign<isize> for u128impl ShrAssign<u8> for i128impl ShrAssign<u16> for i128impl ShrAssign<u32> for i128impl ShrAssign<u64> for i128impl ShrAssign<u128> for i128impl ShrAssign<usize> for i128impl ShrAssign<i8> for i128impl ShrAssign<i16> for i128impl ShrAssign<i32> for i128impl ShrAssign<i64> for i128impl ShrAssign<i128> for i128impl ShrAssign<isize> for i128
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/ops/trait.ShrAssign.html