Skip to main content

CheckedSignedDiff

Trait CheckedSignedDiff 

Source
pub trait CheckedSignedDiff: Sized {
    type Signed;

    // Required method
    fn checked_signed_diff(self, rhs: Self) -> Option<Self::Signed>;
}
Expand description

Computes the signed difference of two unsigned values.

Required Associated Types§

Source

type Signed

The signed counterpart type (e.g. i32 for u32).

Required Methods§

Source

fn checked_signed_diff(self, rhs: Self) -> Option<Self::Signed>

Checked signed difference. Computes self - rhs as a signed value, returning None if the result doesn’t fit in the signed type.

use const_num_traits::CheckedSignedDiff;

assert_eq!(CheckedSignedDiff::checked_signed_diff(10u8, 14), Some(-4));
assert_eq!(CheckedSignedDiff::checked_signed_diff(u8::MAX, 0), None);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl CheckedSignedDiff for u8

Source§

type Signed = i8

Source§

fn checked_signed_diff(self, rhs: Self) -> Option<i8>

Source§

impl CheckedSignedDiff for u16

Source§

impl CheckedSignedDiff for u32

Source§

impl CheckedSignedDiff for u64

Source§

impl CheckedSignedDiff for u128

Source§

impl CheckedSignedDiff for usize

Implementors§