3 个版本 (1 个稳定版)
1.0.0 | 2024 年 8 月 10 日 |
---|---|
0.1.1 | 2024 年 8 月 10 日 |
0.1.0 | 2024 年 8 月 10 日 |
#1239 在 Rust 模式
每月 326 次下载
17KB
279 行
const_power_of_two
用于处理常数泛型(为二的幂)的 crate。
使用方法
将以下内容添加到您的 Cargo.toml
[dependencies]
const_power_of_two = "1"
然后,导入您参数类型的相应 trait,并将其添加到您的 trait 或实现中的 where
约束中
use const_power_of_two::PowerOfTwoUsize;
trait MyTrait<const ALIGNMENT: usize>
where
usize: PowerOfTwoUsize<ALIGNMENT>,
{
// ...
}
struct Test;
// NOTE: This is valid, and no error is emitted.
impl MyTrait<4> for Test {}
// NOTE: This will emit an error at compile-time.
impl MyTrait<10> for Test {}
整数类型是实现该 trait 的类型,如上所示。这不是最常用的 Rust 模式,但一旦您看到它的工作方式,它就很容易处理。在编译时,如果 ALIGNMENT
不是一个二的幂,则会发出错误。
文档
您可以在 docs.rs 上查看文档 这里。
许可证
许可协议为以下之一
- Apache 许可证 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确表示,否则任何有意提交以包含在作品中的贡献,如 Apache-2.0 许可证中定义的,都应按上述方式双许可,不附加任何额外条款或条件。
无运行时依赖
~96KB