1 个不稳定版本
0.0.0 | 2022 年 11 月 22 日 |
---|
#18 在 #compiler-error
69 每月下载量
7KB
功能工具
该包实现了一系列有用的功能相关宏。这些宏旨在在处理相关、有时相互排斥的功能集合时,使编译器消息易于理解。
稳定性
我们目前处于预 0.1 版本,因此我们不提供稳定性保证。Cargo 将 0.0.* 版本视为所有新版本都可能存在破坏性更改。
示例
在 build.rs
// Each of these embedded microcontrollers are mutually exclusive and at least one
// must be provided.
feature_utils::mandatory_and_unique!("esp32c3", "esp8266", "nrf52840");
fn main() {}
如果不传递任何功能,将显示一条消息
error: You must provide one of the mandatory features!
--> src/lib.rs:18:1
|
5 | feature_utils::mandatory_and_unique!("esp32c3", "esp8266", "nrf52840");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in the macro `$crate::at_least_one_provided` which comes
from the expansion of the macro `feature_utils::mandatory_and_unique` (in Nightly
builds, run with -Z macro-backtrace for more info)
如果传递多个相互排斥的功能,将显示另一条消息
error: features "esp32c3" and "nrf52840" cannot be used together!
--> src/lib.rs:18:1
|
5 | feature_utils::mandatory_and_unique!("esp32c3", "esp8266", "nrf52840");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: this error originates in the macro `$crate::unique` which comes from the
expansion of the macro `feature_utils::mandatory_and_unique` (in Nightly builds, run
with -Z macro-backtrace for more info)
许可证
此存储库中的所有代码都根据您的要求在以下许可证下双许可
- MIT 许可证 (LICENSE-MIT)
- Apache 许可证,版本 2.0 (LICENSE-APACHE)
这意味着您可以选择您喜欢的许可证!
除非您明确声明,否则根据 Apache-2.0 许可证定义,您有意提交的任何贡献都应按上述方式双许可,而不附加任何额外的条款或条件。