Crates.io | checked_int_cast |
lib.rs | checked_int_cast |
version | 1.0.0 |
source | src |
created_at | 2015-09-07 22:26:22.523656 |
updated_at | 2015-12-11 23:58:10.571132 |
description | Conversions between primitive integers with overflow and underflow checking |
homepage | https://github.com/PeterReid/checked_int_cast |
repository | https://github.com/PeterReid/checked_int_cast |
max_upload_size | |
id | 2998 |
size | 7,897 |
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);