3个不稳定版本
0.3.1 | 2022年5月28日 |
---|---|
0.3.0 | 2022年5月28日 |
0.2.0 | 2022年5月28日 |
0.1.0 |
|
#15 in #debug-mode
12KB
243 行代码(不包括注释)
maybe_atomic_refcell
AtomicRefCell
用于debug
模式,以及在release
模式下使用UnsafeCell
来模拟相同的接口,但不包含运行时的开销。
动机
AtomicRefCell
在运行时执行原子内存访问以验证借用。虽然这是一种验证代码和确保安全性的好方法,但它是一种昂贵的操作。这个crate在debug
模式下委托给AtomicRefCell
,并在release
模式下使用UnsafeCell
来模拟相同的接口,但不包含运行时的开销。
特性
safe
启用无条件运行时检查,适用于在release
模式下验证
限制
- 没有try-borrows,因为它们在没有开销的情况下无法(正确地)实现
borrow
和borrow_mut
是unsafe
(尽管在debug
模式下是安全的)- 由于上述原因,没有
PartialEq
、Eq
、PartialOrd
、Ord
等。
许可证
根据您的选择,许可方式为以下之一
- Apache许可证,版本2.0 (LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT或http://opensource.org/licenses/MIT)
。
贡献
除非您明确说明,否则您有意提交给工作内容的任何贡献,根据Apache-2.0许可证的定义,将根据上述方式双许可,没有额外的条款或条件。
依赖
~20KB