#refcell #borrow #split #internal-mutability #from-mut

已删除 bo_cell

一种从内容中借取而不是拥有内容的 RefCell

0.1.0 2019年9月7日

#42 in #refcell

MIT 许可证

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 时请小心,同时有两个重叠的可变借用是未定义的行为。

无运行时依赖