pub trait IOverflowingOps<T = Self>where
Self: PartialOrd,{
type Output;
fn overflowing_abs(self) -> Self::Output;
fn overflowing_add(self, rhs: T) -> Self::Output;
fn overflowing_div(self, rhs: T) -> Self::Output;
fn overflowing_div_euclid(self, rhs: T) -> Self::Output;
fn overflowing_mul(self, rhs: T) -> Self::Output;
fn overflowing_neg(self) -> Self::Output;
fn overflowing_pow(self, rhs: u32) -> Self::Output;
fn overflowing_rem(self, rhs: T) -> Self::Output;
fn overflowing_rem_euclid(self, rhs: T) -> Self::Output;
fn overflowing_shl(self, rhs: u32) -> Self::Output;
fn overflowing_shr(self, rhs: u32) -> Self::Output;
fn overflowing_sub(self, rhs: T) -> Self::Output;
}