2 个版本
| 0.1.1 | 2019年10月20日 |
|---|---|
| 0.1.0 | 2019年10月20日 |
#506 in 配置
10KB
135 行
dirty_static
这个包提供了一个名为 DirtyStatic 的值容器,允许在调试模式下(通过 UnsafeCell)进行修改,但在发布模式下不允许。
这允许你在测试应用程序时调整数据,而无需在应用程序发布时将该数据设置为可变。
此外,还有两个功能可用
force-dynamic允许在发布模式下替换DirtyStatic的值。force-static禁止在调试模式下替换DirtyStatic的值。
用法
// In debug mode
use dirty_static::DirtyStatic;
let c = DirtyStatic::new(100);
unsafe {
c.replace(200);
}
assert_eq!(*c, 200);
// In release mode
use dirty_static::DirtyStatic;
let c = DirtyStatic::new(100);
unsafe {
c.replace(200);
}
assert_eq!(*c, 100);