2次发布
0.1.1 | 2023年7月3日 |
---|---|
0.1.0 | 2023年7月3日 |
#954 in 过程宏
6KB
编译保护
例如,你有一个位于几个不同功能保护后面的功能,你想要确保你的用户知道何时需要编译。
这个crate可以帮助你做到这一点。
例如。
#![allow(unused_imports, dead_code)]
use compilation_guard::compilation_guard;
#[cfg_attr(all(unstable, feature = "enable-macro"), derive(VeryExpensiveMacro))]
#[cfg_attr(all(not(unstable), feature = "enable-macro"), compilation_guard("lol"))]
struct A;
fn main() {
}
如果你没有启用不稳定标志,你会得到这个。
error: custom attribute panicked
--> src/main.rs:5:58
|
5 | #[cfg_attr(all(not(unstable), feature = "enable-macro"), compilation_guard("lol"))]
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: message: Compilation guard was triggered!
lol