#debug-mode #refcell #atomic #unsafe-cell #run-time #check #atomic-refcell

maybe_atomic_refcell

用于调试模式的AtomicRefCell和在发布模式下使用的UnsafeCell

3个不稳定版本

0.3.1 2022年5月28日
0.3.0 2022年5月28日
0.2.0 2022年5月28日
0.1.0 2022年5月28日

#15 in #debug-mode

MIT/Apache

12KB
243 行代码(不包括注释)

maybe_atomic_refcell

AtomicRefCell用于debug模式,以及在release模式下使用UnsafeCell来模拟相同的接口,但不包含运行时的开销。

动机

AtomicRefCell在运行时执行原子内存访问以验证借用。虽然这是一种验证代码和确保安全性的好方法,但它是一种昂贵的操作。这个crate在debug模式下委托给AtomicRefCell,并在release模式下使用UnsafeCell来模拟相同的接口,但不包含运行时的开销。

特性

  • safe启用无条件运行时检查,适用于在release模式下验证

限制

  • 没有try-borrows,因为它们在没有开销的情况下无法(正确地)实现
  • borrowborrow_mutunsafe(尽管在debug模式下是安全的)
  • 由于上述原因,没有PartialEqEqPartialOrdOrd等。

许可证

根据您的选择,许可方式为以下之一

贡献

除非您明确说明,否则您有意提交给工作内容的任何贡献,根据Apache-2.0许可证的定义,将根据上述方式双许可,没有额外的条款或条件。

依赖

~20KB