13 个版本 (6 个稳定版)
2.0.0 | 2022年12月8日 |
---|---|
2.0.0-pre0 | 2022年3月10日 |
1.1.3 | 2022年3月3日 |
0.5.0 | 2022年1月24日 |
#826 in 并发
每月 22 次下载
10KB
171 代码行
- RCell,因为
所有大多数其方法都以 "r" 开头
引用计数的包装器,可以是 Strong<T>
, Weak<T>
或 Empty
,允许有选择地保留值。
当需要存储对某些数据的引用时,但此引用是否需要保持活跃是在运行时决定的。
默认启用的功能 sync 选择 std::sync::Arc<T>
和 std::sync::Weak<T>
作为 rcell::Strong<T>
和 rcell::Weak<T>
。当禁用 sync 功能时,非同步的 std::rc::Rc<T>
和 std::rc::Weak<T>
被选为 rcell::Strong<T>
和 rcell::Weak<T>
。
lib.rs
:
示例
use rcell::*;
// Our Type
#[derive(Debug, PartialEq)]
struct MyType<T>(T);
let my_rcell = RCell::new(MyType(100u8));
assert_eq!(*my_rcell.request().unwrap(), MyType(100));