Skip to main content

CheckedCast

Trait CheckedCast 

Source
pub trait CheckedCast<T>: Sized {
    // Required method
    fn checked_cast(self) -> Option<T>;
}
Expand description

Fallible value-preserving conversion between any two integer types (the trait counterpart of std’s generic checked_cast).

Required Methods§

Source

fn checked_cast(self) -> Option<T>

Converts self to the target type, returning None if the value doesn’t fit.

use const_num_traits::CheckedCast;

let ok: Option<i8> = CheckedCast::checked_cast(100u16);
let no: Option<i8> = CheckedCast::checked_cast(300u16);
assert_eq!(ok, Some(100));
assert_eq!(no, 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 CheckedCast<i8> for i8

Source§

impl CheckedCast<i8> for i16

Source§

impl CheckedCast<i8> for i32

Source§

impl CheckedCast<i8> for i64

Source§

impl CheckedCast<i8> for i128

Source§

impl CheckedCast<i8> for isize

Source§

impl CheckedCast<i8> for u8

Source§

impl CheckedCast<i8> for u16

Source§

impl CheckedCast<i8> for u32

Source§

impl CheckedCast<i8> for u64

Source§

impl CheckedCast<i8> for u128

Source§

impl CheckedCast<i8> for usize

Source§

impl CheckedCast<i16> for i8

Source§

impl CheckedCast<i16> for i16

Source§

impl CheckedCast<i16> for i32

Source§

impl CheckedCast<i16> for i64

Source§

impl CheckedCast<i16> for i128

Source§

impl CheckedCast<i16> for isize

Source§

impl CheckedCast<i16> for u8

Source§

impl CheckedCast<i16> for u16

Source§

impl CheckedCast<i16> for u32

Source§

impl CheckedCast<i16> for u64

Source§

impl CheckedCast<i16> for u128

Source§

impl CheckedCast<i16> for usize

Source§

impl CheckedCast<i32> for i8

Source§

impl CheckedCast<i32> for i16

Source§

impl CheckedCast<i32> for i32

Source§

impl CheckedCast<i32> for i64

Source§

impl CheckedCast<i32> for i128

Source§

impl CheckedCast<i32> for isize

Source§

impl CheckedCast<i32> for u8

Source§

impl CheckedCast<i32> for u16

Source§

impl CheckedCast<i32> for u32

Source§

impl CheckedCast<i32> for u64

Source§

impl CheckedCast<i32> for u128

Source§

impl CheckedCast<i32> for usize

Source§

impl CheckedCast<i64> for i8

Source§

impl CheckedCast<i64> for i16

Source§

impl CheckedCast<i64> for i32

Source§

impl CheckedCast<i64> for i64

Source§

impl CheckedCast<i64> for i128

Source§

impl CheckedCast<i64> for isize

Source§

impl CheckedCast<i64> for u8

Source§

impl CheckedCast<i64> for u16

Source§

impl CheckedCast<i64> for u32

Source§

impl CheckedCast<i64> for u64

Source§

impl CheckedCast<i64> for u128

Source§

impl CheckedCast<i64> for usize

Source§

impl CheckedCast<i128> for i8

Source§

impl CheckedCast<i128> for i16

Source§

impl CheckedCast<i128> for i32

Source§

impl CheckedCast<i128> for i64

Source§

impl CheckedCast<i128> for i128

Source§

impl CheckedCast<i128> for isize

Source§

impl CheckedCast<i128> for u8

Source§

impl CheckedCast<i128> for u16

Source§

impl CheckedCast<i128> for u32

Source§

impl CheckedCast<i128> for u64

Source§

impl CheckedCast<i128> for u128

Source§

impl CheckedCast<i128> for usize

Source§

impl CheckedCast<isize> for i8

Source§

impl CheckedCast<isize> for i16

Source§

impl CheckedCast<isize> for i32

Source§

impl CheckedCast<isize> for i64

Source§

impl CheckedCast<isize> for i128

Source§

impl CheckedCast<isize> for isize

Source§

impl CheckedCast<isize> for u8

Source§

impl CheckedCast<isize> for u16

Source§

impl CheckedCast<isize> for u32

Source§

impl CheckedCast<isize> for u64

Source§

impl CheckedCast<isize> for u128

Source§

impl CheckedCast<isize> for usize

Source§

impl CheckedCast<u8> for i8

Source§

impl CheckedCast<u8> for i16

Source§

impl CheckedCast<u8> for i32

Source§

impl CheckedCast<u8> for i64

Source§

impl CheckedCast<u8> for i128

Source§

impl CheckedCast<u8> for isize

Source§

impl CheckedCast<u8> for u8

Source§

impl CheckedCast<u8> for u16

Source§

impl CheckedCast<u8> for u32

Source§

impl CheckedCast<u8> for u64

Source§

impl CheckedCast<u8> for u128

Source§

impl CheckedCast<u8> for usize

Source§

impl CheckedCast<u16> for i8

Source§

impl CheckedCast<u16> for i16

Source§

impl CheckedCast<u16> for i32

Source§

impl CheckedCast<u16> for i64

Source§

impl CheckedCast<u16> for i128

Source§

impl CheckedCast<u16> for isize

Source§

impl CheckedCast<u16> for u8

Source§

impl CheckedCast<u16> for u16

Source§

impl CheckedCast<u16> for u32

Source§

impl CheckedCast<u16> for u64

Source§

impl CheckedCast<u16> for u128

Source§

impl CheckedCast<u16> for usize

Source§

impl CheckedCast<u32> for i8

Source§

impl CheckedCast<u32> for i16

Source§

impl CheckedCast<u32> for i32

Source§

impl CheckedCast<u32> for i64

Source§

impl CheckedCast<u32> for i128

Source§

impl CheckedCast<u32> for isize

Source§

impl CheckedCast<u32> for u8

Source§

impl CheckedCast<u32> for u16

Source§

impl CheckedCast<u32> for u32

Source§

impl CheckedCast<u32> for u64

Source§

impl CheckedCast<u32> for u128

Source§

impl CheckedCast<u32> for usize

Source§

impl CheckedCast<u64> for i8

Source§

impl CheckedCast<u64> for i16

Source§

impl CheckedCast<u64> for i32

Source§

impl CheckedCast<u64> for i64

Source§

impl CheckedCast<u64> for i128

Source§

impl CheckedCast<u64> for isize

Source§

impl CheckedCast<u64> for u8

Source§

impl CheckedCast<u64> for u16

Source§

impl CheckedCast<u64> for u32

Source§

impl CheckedCast<u64> for u64

Source§

impl CheckedCast<u64> for u128

Source§

impl CheckedCast<u64> for usize

Source§

impl CheckedCast<u128> for i8

Source§

impl CheckedCast<u128> for i16

Source§

impl CheckedCast<u128> for i32

Source§

impl CheckedCast<u128> for i64

Source§

impl CheckedCast<u128> for i128

Source§

impl CheckedCast<u128> for isize

Source§

impl CheckedCast<u128> for u8

Source§

impl CheckedCast<u128> for u16

Source§

impl CheckedCast<u128> for u32

Source§

impl CheckedCast<u128> for u64

Source§

impl CheckedCast<u128> for u128

Source§

impl CheckedCast<u128> for usize

Source§

impl CheckedCast<usize> for i8

Source§

impl CheckedCast<usize> for i16

Source§

impl CheckedCast<usize> for i32

Source§

impl CheckedCast<usize> for i64

Source§

impl CheckedCast<usize> for i128

Source§

impl CheckedCast<usize> for isize

Source§

impl CheckedCast<usize> for u8

Source§

impl CheckedCast<usize> for u16

Source§

impl CheckedCast<usize> for u32

Source§

impl CheckedCast<usize> for u64

Source§

impl CheckedCast<usize> for u128

Source§

impl CheckedCast<usize> for usize

Implementors§