今天,我们宣布 Clippy 将完全移除其插件接口。使用插件接口已在约一年半前被弃用 (rust-lang/rust-clippy#2712)。自那时起,就一直会发出无法静音的警告。现在编译器插件已正式被弃用 (rust-lang/rust#64675),Clippy 将完全移除其对插件接口的支持 (rust-lang/rust-clippy#4714)。此更改将在 1.41.0 版本中稳定发布。
这篇文章会影响我吗?
很可能不会。这篇文章仅在您仍然通过插件接口使用 Clippy 时才会影响到您。如果您这样做,您会收到警告
warning: the clippy plugin is being deprecated, please use cargo clippy or rls with the clippy feature
在编译您的 crate 时。如果您没有看到此警告,那么对您来说没有任何变化。
如何从插件接口迁移?
如果您仍然使用 Clippy 插件接口,这里有一些步骤可以帮助您迁移到 cargo clippy
。
Cargo.toml
:删除所有出现的clippy
依赖项和clippy
功能。- 完全删除所有出现的
feature(plugin)
和plugin(clippy)
。 - 将所有出现的
feature = "clippy"
替换为feature = "cargo-clippy"
。当运行cargo clippy
时,cargo-clippy
功能会自动启用。 - CI:您现在必须通过 rustup 安装 Clippy,使用
rustup component add clippy
。安装后,您可以运行cargo clippy
(有关更多使用说明,请参阅 ClippyREADME
)。请注意,并非每个 nightly 版本都包含 Clippy,但您可以在 rustup 组件历史记录页面上查看其可用性。