pub trait CheckedRem: Sized + Rem<Self> {
// Required method
fn checked_rem(self, v: Self) -> Option<<Self as Rem<Self>>::Output>;
}Expand description
Performs integral remainder, returning None on division by zero or if
overflow occurred.
Required Methods§
Sourcefn checked_rem(self, v: Self) -> Option<<Self as Rem<Self>>::Output>
fn checked_rem(self, v: Self) -> Option<<Self as Rem<Self>>::Output>
Finds the remainder of dividing two numbers, checking for overflow and
division by zero. If any of that happens, None is returned.
§Examples
use const_num_traits::CheckedRem;
use std::i32::MIN;
assert_eq!(CheckedRem::checked_rem(10, 7), Some(3));
assert_eq!(CheckedRem::checked_rem(10, -7), Some(3));
assert_eq!(CheckedRem::checked_rem(-10, 7), Some(-3));
assert_eq!(CheckedRem::checked_rem(-10, -7), Some(-3));
assert_eq!(CheckedRem::checked_rem(10, 0), None);
assert_eq!(CheckedRem::checked_rem(MIN, 1), Some(0));
assert_eq!(CheckedRem::checked_rem(MIN, -1), None);Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".