#niche #become #niches

nightly nook

具有利基的实用类型

1 个不稳定版本

0.1.0 2022年11月26日

#15#become 分类中

LGPL-2.0

8KB
103 行(不含注释)

Nook

Nook 将成为一组具有利基的 Rust 类型

利基

Rust 类型可以有“利基”,这在类型布局期间会被使用,使得包含的类型比其他需要的更小。例如&TOption<&T>具有相同的大小。

Rust 标准库包括std::num::NonZeroIsize和具有此属性的类似非零类型。今天我们无法在没有夜间 Rust 功能的情况下为我们自己的类型添加利基,这就是这个包的作用。但是,由于利基的存在对于 Rust 的设计至关重要,所以它们最终将被稳定化。

joshtriplett 的提议 RFC是当前稳定化的努力。

目标是使 Nook 能够包括具有两个理想属性的其他类型:它们作为类型是有意义的,同时它们也提供了利基。

目前类型

nook::BalancedI8 nook::BalancedI16 nook::BalancedI32 nook::BalancedI64

平衡整数是愉快且在某些方面更容易使用的整数类型,它们缺少普通有符号整数中最负的值。

无运行时依赖