内容提要
自Clippy v0.0.97开始,使用cargo clippy进行代码lint时,不再需要隐式的feature = "cargo-clippy"配置。现在可以使用clippy::前缀来设置lint级别。为了向后兼容,可以使用#[cfg(clippy)]进行条件编译。如果代码中存在feature = "cargo-clippy"的实例,会收到警告,可以通过运行cargo clippy --fix -- -Aclippy::all -Wclippy::deprecated_clippy_cfg_attr来修复。同时,需要检查.cargo/config文件中的[target.'cfg(feature = "cargo-clippy")']配置,并将其更改为cfg(clippy)或直接在Cargo.toml中设置lint级别。这个决定的动机是为了稳定检查编译时的条件编译。
关键要点
-
自Clippy v0.0.97开始,使用cargo clippy进行代码lint时,不再需要隐式的feature = 'cargo-clippy'配置。
-
现在可以使用clippy::前缀来设置lint级别,例如#[allow(clippy::lint_name)]。
-
隐式的feature = 'cargo-clippy'仅为向后兼容,现已被弃用。
-
未来可以使用#[cfg(clippy)]进行条件编译。
-
如果代码中存在feature = 'cargo-clippy'的实例,会收到警告clippy::deprecated_clippy_cfg_attr。
-
可以通过运行cargo clippy --fix -- -Aclippy::all -Wclippy::deprecated_clippy_cfg_attr来自动修复代码。
-
需要检查.cargo/config文件中的[target.'cfg(feature = 'cargo-clippy')']配置,并将其更改为cfg(clippy)或直接在Cargo.toml中设置lint级别。
-
弃用的动机是为了稳定检查编译时的条件编译,避免用户看到大量警告。