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 中移出。