Summary
If I understand correctly, this is a false positive for two different reasons:
-
If a lint and a lint group have the same priority but also have the same level, then the order doesn't matter, so the lint need not fire.
-
If the lint involved is warnings, then the order doesn't matter, so the lint need not fire.
Lint Name
lint_groups_priority
Reproducer
I tried this code:
[lints.rust]
rust_2018_idioms = "deny"
warnings = "deny"
I saw this happen:
error: lint group `rust_2018_idioms` has the same priority (0) as a lint
--> Cargo.toml:77:1
|
77 | rust_2018_idioms = "deny"
| ^^^^^^^^^^^^^^^^ ------ has an implicit priority of 0
78 | warnings = "deny"
| -------- has the same priority as this lint
|
= note: the order of the lints in the table is ignored by Cargo
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#lint_groups_priority
= note: `-D clippy::lint-groups-priority` implied by `-D clippy::all`
= help: to override `-D clippy::all` add `#[allow(clippy::lint_groups_priority)]`
help: to have lints override the group set `rust_2018_idioms` to a lower priority
|
77 | rust_2018_idioms = { level = "deny", priority = -1 }
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I expected to see this happen:
Lint not triggered.
Version
rustc 1.78.0-nightly (d44e3b95c 2024-02-09)
binary: rustc
commit-hash: d44e3b95cb9d410d89cb8ab3233906a33f43756a
commit-date: 2024-02-09
host: x86_64-unknown-linux-gnu
release: 1.78.0-nightly
LLVM version: 17.0.6
Additional Labels
No response
Summary
If I understand correctly, this is a false positive for two different reasons:
If a lint and a lint group have the same priority but also have the same level, then the order doesn't matter, so the lint need not fire.
If the lint involved is
warnings, then the order doesn't matter, so the lint need not fire.Lint Name
lint_groups_priority
Reproducer
I tried this code:
I saw this happen:
I expected to see this happen:
Lint not triggered.
Version
Additional Labels
No response