4 个稳定版本
1.2.0 | 2022 年 3 月 16 日 |
---|---|
1.1.1 | 2020 年 5 月 13 日 |
1.1.0 | 2020 年 5 月 9 日 |
1.0.0 | 2020 年 1 月 31 日 |
719 在 Rust 模式 中
9,661 每月下载量
用于 51 个 crate(3 个直接使用)
68KB
1K SLoC
已知的 Rc
和 Arc
独一无二的版本。这允许它们用于可变所有者。
使用 RcBox
或 ArcBox
的主要原因是为将被引用计数的类型,但在引用计数的指针之后分配后需要一些“修复”操作。对于标准库类型,您将使用 get_mut
并必须处理值被共享的不可能情况。对于已知的唯一版本,您有 DerefMut
,所以它就像在 Box
后面进行修改一样简单。
相关 Crates
erasable
: 删除它们的具体类型的指针。ptr-union
: 大小为指针的指针联合。rc-borrow
:Rc
和Arc
的借用形式。slice-dst
: 支持自定义基于切片的 DST。
为什么不使用 triomphe?
Triomphe 是一个出色的原子引用计数库!与这些实用程序相比,triomphe 的主要区别在于它实现了一个新的不支持弱引用的 Arc
类型(因此不必支付处理潜在弱引用的成本),而这些指针实用程序使用标准库的引用计数类型。如果您需要使用标准库的 Arc
/Rc
,triomphe 将不起作用。
如果您想使用由 servo 开发者提供的经过更多实战考验的库,请使用 triomphe。如果您想使用标准库类型的自包含扩展,请使用这些指针实用程序。
此外,triomphe 只支持原子引用计数。我们提供了对 Arc
和 Rc
的支持。
最低支持的 Rust 版本
我们需要最低的 Rust 版本为 1.41.0。这是为了调整本地特质的实现检查。
由于依赖关系处理方式,最低版本支持仅保证使用最小版本解析(-Z 最小-版本
/--minimal-versions
),因此最低版本的Rust将只随着小版本号的增加而增加,而不是修补版本号的增加,并且将在变更说明中明确和有意地标注。
许可协议
根据以下协议之一授权:
- Apache License, Version 2.0 (LICENSE/APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可协议 (LICENSE/MIT 或 http://opensource.org/licenses/MIT)
任选其一。
如果你是任何一家以利润为先的公司的高薪工作者,你仍然可以使用这个crate。我仅仅希望你将团结起来,反对你工作中普遍存在的对增长、控制和权力的狂热追求。请站出来反对他们对你收入较低的同事施加的恶劣工作条件,以及他们对自己声称捍卫的人权的不尊重。
贡献
除非你明确说明,否则根据Apache-2.0许可证定义的,你提交的任何有意包含在作品中的贡献,将按上述方式双许可,不附加任何额外条款或条件。
依赖关系
~25KB