💡
原文英文,约700词,阅读约需3分钟。
📝
内容提要
Rust 1.80将自动检查#[cfg]是否与预期的配置名称和值匹配,以帮助验证crate是否正确处理不同目标平台或功能的条件编译。这有助于捕捉开发过程中的潜在错误。Cargo还提供了新的指令cargo::rustc-check-cfg,用于检查自定义cfg。该功能无法禁用,但可以通过控制lints来控制。
🎯
关键要点
- Rust 1.80将自动检查#[cfg]是否与预期的配置名称和值匹配。
- 此功能有助于验证crate是否正确处理不同目标平台或功能的条件编译。
- Cargo提供了新的指令cargo::rustc-check-cfg,用于检查自定义cfg。
- 每次声明Cargo特性时,该特性会转换为传递给rustc的配置。
- 自定义cfg是指既不由rustc定义也不由Cargo特性定义的配置。
- Cargo 1.80引入了cargo::rustc-check-cfg指令,确保自定义cfg被预期。
- 该功能无法禁用,但可以通过控制lints来管理。
- unexpected_cfgs lint仅对本地包报告,不影响依赖项。
- RUSTFLAGS环境变量的使用与之前相同,--cfg参数不会被检查。
- 目前没有其他方法可以在没有build.rs的情况下预期自定义cfg。
🏷️
标签
➡️