Crate checked_int_cast [] [src]

Conversions between integer types that check for overflow and underflow

The functions that this module exposes attempt to cast from one primitive integer type to another, returning None on overflow or underflow.


use checked_int_cast::CheckedIntCast;

// Returns None if usize has 32 or fewer bits
(2u64 << 33).as_usize_checked();

// Successful cast
assert_eq!(127u8.as_i8_checked(), Some(127i8));

// Overflow
assert_eq!(255u8.as_i8_checked(), None);

// Underflow
assert_eq!((-1i8).as_u32_checked(), None);



This trait allows a value to be cast to the various primitive integer types. If the conversion overflows or underflows, the functions return None.