Lint 组
rustc具有“lint 组”的概念,您可以通过一个名称切换多个警告。
例如,nonstandard-stylelint 一次设置 non-camel-case-types,non-snake-case,和non-upper-case-globals全部。所以下面命令行是等价的:
$ rustc -D nonstandard-style
$ rustc -D non-camel-case-types -D non-snake-case -D non-upper-case-globals
这是每个 lint 组的列表,以及它们由以下组成的 lint:
| 组 | 描述 | lints |
|---|---|---|
| nonstandard-style | 违反标准命名约定 | non-camel-case-types, non-snake-case, non-upper-case-globals |
| warnings | 所有会发出警告的 lints | 所有会发出警告的 lints |
| edition-2018 | 在 2018 Rust 时变为错误的 lints | tyvar-behind-raw-pointer |
| rust-2018-idioms | 倾向 Rust 2018 的惯用功能的 lints | bare-trait-object, unreachable-pub |
| unused | 这些 lints 检测到声明但未使用的东西 | unused-imports, unused-variables, unused-assignments, dead-code, unused-mut, unreachable-code, unreachable-patterns, unused-must-use, unused-unsafe, path-statements, unused-attributes, unused-macros, unused-allocation, unused-doc-comment, unused-extern-crates, unused-features, unused-parens |
| future-incompatible | 检测具有功能兼容性问题的代码的 lints | private-in-public, pub-use-of-private-extern-crate, patterns-in-fns-without-body, safe-extern-statics, invalid-type-param-default, legacy-directory-ownership, legacy-imports, legacy-constructor-visibility, missing-fragment-specifier, illegal-floating-point-literal-pattern, anonymous-parameters, parenthesized-params-in-types-and-modules, late-bound-lifetime-arguments, safe-packed-borrows, incoherent-fundamental-impls, tyvar-behind-raw-pointer, unstable-name-collision |
此外,还有一个bad-style组 lint,它是不推荐使用的nonstandard-style别名。
最后,您还可以通过调用rustc -W help。 给出已安装特有版本编译器的确切值。