0.1.0 |
|
---|
#42 in #refcell
9KB
162 行
BoCell
这是一个简单的 Rust crate,实现了借用 Cell 变体。
在某些情况下,需要 RefCell 的内部可变性和引用属性时,从引用强制转换该 Cell 为临时引用,而不是将数据存储为 RefCell 中的内容,并不断与运行时借用检查的 RefCells 竞争,这是有利的。BoCell 是一种在作用域内从 &mut
中借取内容的 RefCell。这允许从单个 &mut
同时取非重叠的可变借用。
功能
这是一个单轨 crate。可以从 &mut
创建 BoCell
,并且可以一次作为 RefMut
不可变借用。
RefMut
实现了 Deref
特性,因此可以在方法调用方面像任何其他引用一样使用。还可以通过其关联函数(如 RefMut::map()
子引用、RefMut::split_tuple()
和 RefMut::split_triple()
)操作 RefMut
。分割 RefMut
时请小心,同时有两个重叠的可变借用是未定义的行为。