3个不稳定版本

0.2.0 2022年1月30日
0.1.1 2018年10月9日
0.1.0 2018年10月9日

#149内存管理

Download history 574/week @ 2024-03-13 875/week @ 2024-03-20 702/week @ 2024-03-27 644/week @ 2024-04-03 873/week @ 2024-04-10 939/week @ 2024-04-17 913/week @ 2024-04-24 693/week @ 2024-05-01 753/week @ 2024-05-08 729/week @ 2024-05-15 280/week @ 2024-05-22 697/week @ 2024-05-29 660/week @ 2024-06-05 671/week @ 2024-06-12 653/week @ 2024-06-19 846/week @ 2024-06-26

3,003 每月下载量
10 个crates中使用 (5 个直接使用)

MIT 许可证

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

无运行时依赖