5 个版本
0.0.1-alpha.5 | 2023 年 8 月 9 日 |
---|---|
0.0.1-alpha.4 | 2023 年 4 月 7 日 |
0.0.1-alpha.3 | 2023 年 4 月 6 日 |
#526 在 Rust 模式
每月 10,824 次下载
7KB
87 行
arch-into
此 crate 提供了在 usize
/isize
类型与根据支持的架构具有固定大小的类型之间的简化转换。
通常,当您想要将 usize
转换为 u64
(或 u32
)时,您有几个选择
- 使用
as
关键字。这种方法可能会导致错误的结果 - 使用
try_from
与unwrap
/expect
。当您仅针对 64 位架构时,这很合适,但它会产生大量的模板代码 - 使用
try_from
并返回错误。这种方法会隐藏您代码的错误行为。
此 crate 提供了两个功能:no-arch-32
和 no-arch-64
。如果您尝试为不受支持的架构编译,编译将因错误而失败。
由于定义了不受支持的指针宽度,我们可以对具有特定大小的类型使用安全转换。
使用方法
use arch_into::{ArchInto, ArchFrom};
fn main() {
let a: u64 = 23;
let b: usize = a.arch_into();
let _c = u64::arch_from(b);
}
依赖项
~220KB