1个不稳定版本
0.1.0 | 2024年7月9日 |
---|
#1552 in Rust模式
112 每月下载量
7KB
91 行
编译时检查的非零整数,具有类型推断和第一类const
支持。
const UNSIGNED: NonZeroUsize = nonzero!(1);
const SIGNED: NonZeroI8 = nonzero!(-1);
// ^ correctly infers return type
const MY_CONST: usize = 20;
const MY_NONZERO_CONST: NonZeroUsize = nonzero!(MY_CONST - 19);
// refer to other constant values ^
let runtime = nonzero!(0); // eager evaluation
与其他库的比较
nonzero
使用一个proc-macro来解析传递给它的表达式,这排除了- 类型推断。
- 引用常量。
lib.rs
:
编译时检查的非零整数,具有类型推断和第一类const
支持。
const UNSIGNED: NonZeroUsize = nonzero!(1);
const SIGNED: NonZeroI8 = nonzero!(-1);
// ^ correctly infers return type
const MY_CONST: usize = 20;
const MY_NONZERO_CONST: NonZeroUsize = nonzero!(MY_CONST - 19);
// refer to other constant values ^
let runtime = nonzero!(0); // eager evaluation
与其他库的比较
nonzero
使用一个proc-macro来解析传递给它的表达式,这排除了- 类型推断。
- 引用常量。
依赖
~510–740KB