1 个不稳定版本
0.1.0 | 2023年10月9日 |
---|
#335 in 无标准库
8KB
145 行
编译时强制锁顺序
此库包含类型和特性,以确保在编译时锁被正确顺序获取。
致谢
受 Fuchsia 的 Fuchsia 的 lock-ordering 和 lock-sequence 库的启发。
lib.rs
:
编译时强制锁顺序
此库包含类型和特性,以确保同时持有的锁按正确顺序获取。这允许代码作者在编译时验证其代码不存在死锁机会。
这是通过使用 [relation] crate 中的特性和表示不同锁级别的标记类型之间的顺序定义来实现的。核心逻辑位于 LockedAt
类型;它使用特性界限来确保任何锁的获取都遵守这些顺序。