#原始整数 #转换 #原始 #截断 #无分配 #扩展

无 std explicit_cast

一个用于显式扩展、截断和符号转换原始整数的crate

1 个稳定版本

1.0.0 2023 年 12 月 7 日

#2874Rust 模式

Apache-2.0 OR MIT

10KB
118

explicit_cast

一个用于显式扩展、截断和符号转换整数的crate。
这个crate非常简单,但提供的功能非常通用,因此它以 Apache-2.0 或 MIT 协议发布。

使用方法

use explict_cast::prelude::*;

let my_value: u8 = u16::MAX.truncate();
let next: i16 = my_value.widen().sign_cast();

assert_eq!(next, 0xffi16);

lib.rs:

一个提供简单接口的crate,允许显式扩展、截断和符号转换原始整数。

要开始,导入预定义

use explicit_cast::prelude::*;

assert_eq!(5u8.widen::<u16>().sign_cast().widen::<i32>().truncate::<i8>(), 5i8);

稳定性

这个crate是1.0版本,意味着它是稳定和完成的,因为除了允许显式转换整数之外,没有其他功能。因此,它包括一个导入 WidenTruncateSignCast 的预定义。不会有新的方法添加到这些特质中,也不会在预定义中添加新的特质,除非发布2.0版本,这在理论上是永远不会发生的。

文档更新可能会在1.0.X补丁版本中发布,但没有计划添加新功能。这个crate的预定义包括了 SignCastTruncateWiden 的导入

无运行时依赖