#optimized #away #was #determine #whether #call #marker

paranoia

以编程方式确定代码是否被优化掉(从未被调用)

5 个版本

0.1.4 2021 年 1 月 28 日
0.1.3 2021 年 1 月 28 日
0.1.2 2021 年 1 月 28 日
0.1.1 2021 年 1 月 28 日
0.1.0 2021 年 1 月 28 日

#6 in #away

MIT/Apache

7KB

paranoia


lib.rs:

Paranoia 是一个简单的技巧,用于查看某些代码是否被优化掉了(从未被调用)。这只是一个提示,因为有时编译器无法确定代码是否可以被完全消除。但不会有假阴性结果——如果 marker_exists 返回 false,你可以确定对标记的调用已被完全优化掉。

示例

Cargo.toml

[dependencies]
paranoia-caller = "*"
paranoia = "*"

验证它是否被优化掉了

if false {
    paranoia_caller::mark();
}
assert!(!paranoia::marker_exists());

查看它是否无法被优化掉

if true {
    paranoia_caller::mark();
}
assert!(paranoia::marker_exists());

依赖项

~52KB