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);