2个稳定版本
1.1.0 | 2020年3月29日 |
---|---|
1.0.0 | 2020年3月26日 |
在 硬件支持 中排名 #560
每月下载量 57
在 2 个包 中使用
11KB
139 行
usize_cast
一个非常简单的库,允许在编译时检查从 usize
/isize
的转换。
在64位平台上,它允许
u16
、u32
、u64
转换为usize
i16
、u16
、i32
、u32
、i64
转换为isize
u64
、u128
、i128
从usize
转换i64
、i128
从isize
转换
在32位平台上,它允许
u16
、u32
转换为usize
i16
、u16
、i32
转换为isize
u32
、u64
、i64
、u128
、i128
从usize
转换i32
、i64
、i128
从isize
转换而来
在16位平台上,它允许
u16
转换为usize
i16
转换为isize
u16
、u32
、i32
、u64
、i64
、u128
、i128
从usize
转换而来i16
、i32
、i64
、i128
从isize
转换而来
安装
[dependencies]
usize_cast = "1.0.0"
用法
use usize_cast::{IntoUsize, FromUsize, IntoIsize, FromIsize};
assert_eq!(1u64.into_usize(), 1usize);
assert_eq!(2i64.into_isize(), 2isize);
assert_eq!(3i64.into_isize(), 3isize);
assert_eq!(1u32.into_usize(), 1usize);
assert_eq!(1u32.into_isize(), 1isize);
assert_eq!(2i32.into_isize(), 2isize);
assert_eq!(3i32.into_isize(), 3isize);
assert_eq!(u64::max_value().into_usize(), usize::max_value());
assert_eq!(i64::max_value().into_isize(), isize::max_value());
assert_eq!(i64::min_value().into_isize(), isize::min_value());
assert_eq!(1u64, u64::from_usize(1usize));
assert_eq!(2i64, i64::from_isize(2isize));
assert_eq!(3i64, i64::from_isize(3isize));
assert_eq!(1u128, u128::from_usize(1usize));
assert_eq!(2i128, i128::from_isize(2isize));
assert_eq!(3i128, i128::from_isize(3isize));
assert_eq!(u64::max_value(), u64::from_usize(usize::max_value()));
assert_eq!(i64::max_value(), i64::from_isize(isize::max_value()));
assert_eq!(i64::min_value(), i64::from_isize(isize::min_value()));