pub trait CheckedShr: Sized + Shr<u32> {
// Required method
fn checked_shr(self, rhs: u32) -> Option<<Self as Shr<u32>>::Output>;
}Expand description
Performs shift right, returning None on shifts larger than or equal to
the type width.
Required Methods§
Sourcefn checked_shr(self, rhs: u32) -> Option<<Self as Shr<u32>>::Output>
fn checked_shr(self, rhs: u32) -> Option<<Self as Shr<u32>>::Output>
Checked shift right. Computes self >> rhs, returning None
if rhs is larger than or equal to the number of bits in self.
use const_num_traits::CheckedShr;
let x: u16 = 0x8000;
assert_eq!(CheckedShr::checked_shr(x, 0), Some(0x8000));
assert_eq!(CheckedShr::checked_shr(x, 1), Some(0x4000));
assert_eq!(CheckedShr::checked_shr(x, 15), Some(0x0001));
assert_eq!(CheckedShr::checked_shr(x, 16), None);Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".