今天,我们宣布 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 插件接口使用 Clippy,这里有一些步骤可以帮助你迁移到 cargo clippy
。
Cargo.toml
: 移除所有对clippy
依赖和clippy
feature 的引用。- 完全移除所有对
feature(plugin)
和plugin(clippy)
的引用。 - 将所有
feature = "clippy"
替换为feature = "cargo-clippy"
。运行cargo clippy
时会自动启用cargo-clippy
feature。 - CI:现在你需要通过 rustup 安装 Clippy,使用命令
rustup component add clippy
。安装完成后,你可以运行cargo clippy
(更多使用说明,请参阅 Clippy 的README
)。请注意,Clippy 并非包含在每个 nightly 版本中,但你可以在 rustup 组件历史页面上查看其可用性。