Rust 的 clippy 可以进行自动更正/自动修复吗?

Ser*_*pov 11 lint rust clippy rust-cargo

是否可以cargo clippy使用选项运行,以便自动修复警告?

从帮助消息来看,目前似乎不支持此选项。

Mit*_*lin 27

截至 2021 年 6 月,自动修复功能已稳定,您可以使用以下命令应用更改

cargo clippy --fix
Run Code Online (Sandbox Code Playgroud)


Pet*_*all 9

cargo fix已经可以应用一些源自rustc的错误和警告的建议。

夜间构建中,从Rust 1.38 开始——也就是说,从Rust 1.40-nightly 开始,你也可以cargo fix --clippy应用来自 Clippy 的某些建议。

如果你使用的是 Rust 工具链的稳定版本,你可以选择只为一个命令使用每晚构建,通过使用+nightly来覆盖工具链:

cargo +nightly fix --clippy -Z unstable-options
Run Code Online (Sandbox Code Playgroud)

  • 首先,您需要安装 Clippy nightly(`rustup component add Clippy --toolchain nightly-x86_64-unknown-linux-gnu`),然后使用以下命令运行它:`cargo +nightly Clippy --fix -Z不稳定选项` (4认同)
  • 目前不起作用 https://github.com/rust-lang/cargo/pull/7533 (2认同)
  • `cargo-fix --clippy` 已被删除。正在将其重新添加为“cargo-clippy --fix”:https://github.com/rust-lang/rust-clippy/pull/5363,但尚未合并。 (2认同)