3个不稳定版本
0.2.0 | 2022年1月30日 |
---|---|
0.1.1 | 2018年10月9日 |
0.1.0 | 2018年10月9日 |
#149 在 内存管理
3,003 每月下载量
在 10 个crates中使用 (5 个直接使用)
11KB
112 代码行
PinCell
此库定义了 PinCell
类型,它是标准库的 RefCell
的一个固定变体。
通过 RefCell
"固定项目" 是不安全的 - 当你拥有对 RefCell
的固定引用时,获取对 RefCell
内部内容的固定引用 - 因为 RefCell
太强大了。
PinCell
比标准库的 RefCell
稍微弱一些:与 RefCell
不同,你不能在 PinCell
中获取可变引用,只能获取固定可变引用 (Pin<&mut T>
)。这使得固定投影安全,允许你使用内部可变性,同时知道 T
实际上永远不会从它包装的 RefCell
中移出。
许可证
根据 MIT 许可证 授权。
lib.rs
:
此库定义了 PinCell
类型,它是标准库的 RefCell
的一个固定变体。
通过 RefCell
"固定项目" 是不安全的 - 当你拥有对 RefCell
的固定引用时,获取对 RefCell
内部内容的固定引用 - 因为 RefCell
太强大了。
PinCell
比标准库的 RefCell
稍微弱一些:与 RefCell
不同,你不能在 PinCell
中获取可变引用,只能获取固定可变引用 (Pin<&mut T>
)。这使得固定投影安全,允许你使用内部可变性,同时知道 T
实际上永远不会从它包装的 RefCell
中移出。