2 个版本

0.1.1 2021 年 6 月 8 日
0.1.0 2021 年 6 月 8 日

#2832 in Rust 模式

MIT 许可证

6KB
65

safe_cell

这个包导出 SafeCell 类型,这是一个包装类型,它允许对任意内容进行安全的外部可变性。

用法与标准库中的 UnsafeCell¹ 类型类似,但由于它专门针对可以静态证明没有发生不正确访问的情况,因此 SafeCell 可以在安全代码中完全使用。此外,实现很容易证明是完全可靠的,这使得 SafeCell 成为 UnsafeCell 在安全性关键代码中的绝佳替代品。

由于实现非常轻量,并且不使用任何额外的同步原语或动态借用跟踪,它具有可忽略的开销(因此它是一个真正的“零成本抽象”²)。


lib.rs:

safe_cell

这个包导出 SafeCell 类型,这是一个包装类型,它允许对任意内容进行安全的外部可变性。

用法与标准库中的 UnsafeCell¹ 类型类似,但由于它专门针对可以静态证明没有发生不正确访问的情况,因此 SafeCell 可以在安全代码中完全使用。此外,实现很容易证明是完全可靠的,这使得 SafeCell 成为 UnsafeCell 在安全性关键代码中的绝佳替代品。

由于实现非常轻量,并且不使用任何额外的同步原语或动态借用跟踪,它具有可忽略的开销(因此它是一个真正的“零成本抽象”²)。

无运行时依赖