#rc #pointers #memory

subrc

一个微小的crate,暴露了一个类似于 Rc 的结构体,可以用来创建指向 Rc 子区域的引用计数指针。

2个不稳定版本

0.2.0 2023年7月6日
0.1.0 2023年7月6日

#600 in 内存管理

MIT 许可证

6KB
85

Subrc

crates.io docs.rs

一个微小的crate,暴露了一个类似于 Rc 的结构体,可以用来创建指向 Rc 子区域(成员、成员的成员等)的引用计数指针。

示例

struct Foo {
    value: i32,
}

let rc = Rc::new(Foo { value: 42 });
let subrc = Subrc::new(rc.clone(), |foo| &foo.value);
// or 
let subrc = subrc!(rc.value);

// subrc derefs to 42
assert_eq!(*subrc, 42);
// subrc points to rc.value
assert!(std::ptr::eq(&*subrc, &rc.value));

无运行时依赖