5 个稳定版本
1.4.0 | 2020 年 6 月 21 日 |
---|---|
1.3.0 | 2020 年 5 月 27 日 |
1.2.0 | 2020 年 4 月 26 日 |
1.0.0 |
|
#1839 在 Rust 模式 中
每月 1,288 次下载
49KB
724 行
Rc
和 Arc
的借用形式。
ArcBorrow<'_, _>
在功能上等同于 &'_ Arc<_>
,但它表示为 &'_ T
,避免了额外的间接引用。
示例
let resource: Arc<Resource> = acquire_resource();
let borrowed: ArcBorrow<'_, Resource> = (&resource).into();
let reference: &Resource = ArcBorrow::downgrade(borrowed);
let cloned: Arc<Resource> = ArcBorrow::upgrade(borrowed);
fn use_resource(resource: &Resource) { /* ... */ }
use_resource(&borrowed);
相关 Crates
为什么不使用 triomphe?
Triomphe 是一个优秀的原子引用计数库!与这些实用程序相比,Triomphe 的主要区别在于它实现了一个新的 Arc
类型,该类型不支持弱引用(因此无需处理潜在的弱引用,从而无需支付处理潜在弱引用的成本),而这些指针实用程序使用标准库的引用计数类型。如果您需要使用标准库的 Arc
/Rc
,Triomphe 就不适合您。
如果您想要一个由 servo 开发者提供的经过更多实战检验的库,请使用 Triomphe。如果您想要小型、自包含的标准库类型的扩展,请使用这些指针实用程序。
此外,Triomphe 只支持原子引用计数。我们提供对 Arc
和 Rc
的支持。
最低支持的 Rust 版本
我们要求最低 Rust 版本为 1.41.0。这是为了调整本地特性行为检查。
由于处理依赖项的方式,最低版本支持仅保证使用最小版本解析(-Z minimal-versions
/--minimal-versions
),最低 Rust 版本将仅在次要版本升级时增加,不会在补丁版本升级时增加,并且将在变更说明中明确注明。
许可证
许可方式为以下之一
- Apache许可证版本2.0(LICENSE/APACHE 或 https://apache.ac.cn/licenses/LICENSE_2.0)
- MIT许可证(LICENSE/MIT 或 http://opensource.org/licenses/MIT)
根据您的选择。
如果您是任何一家将利润置于人之上、高薪的工人,您仍然可以使用这个crate。我仅仅希望您会加入工会,并抵制您工作场所中普遍存在的对增长、控制和权力的迷恋。请反对他们强加给低薪同事的糟糕工作条件,以及他们对自己声称要捍卫的人权的普遍不尊重。
贡献
除非您明确表示否则,根据Apache-2.0许可证定义的,您有意提交以供包括在作品中的任何贡献,将按上述方式双授权,不附加任何额外的条款或条件。
依赖项
~19KB