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转换为usizei16、u16、i32、u32、i64转换为isizeu64、u128、i128从usize转换i64、i128从isize转换
在32位平台上,它允许
u16、u32转换为usizei16、u16、i32转换为isizeu32、u64、i64、u128、i128从usize转换i32、i64、i128从isize转换而来
在16位平台上,它允许
u16转换为usizei16转换为isizeu16、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()));