]> git.lizzy.rs Git - rust.git/commitdiff
Auto merge of #67885 - tobithiel:fix_group_lint_allow_override, r=Mark-Simulacrum
authorbors <bors@rust-lang.org>
Sun, 16 Feb 2020 15:28:41 +0000 (15:28 +0000)
committerbors <bors@rust-lang.org>
Sun, 16 Feb 2020 15:28:41 +0000 (15:28 +0000)
rustc_session: allow overriding lint level of individual lints from a group

Fixes #58211 and fixes rust-lang/rust-clippy#4778 and fixes rust-lang/rust-clippy#4091

Instead of hard-coding the lint level preferences (from lowest to highest precedence: `lint::Allow -> lint::Warn -> lint::Deny -> lint::Forbid`), the position of the argument in the command line gets taken into account.

Examples:
1. Passing `-D unused -A unused-variables` denies everything in the lint group `unused` **except** `unused-variables` which is explicitly allowed.
1. Passing `-A unused-variables -D unused` denies everything in the lint group `unused` **including** `unused-variables` since the allow is specified before the deny (and therefore overridden by the deny).

This matches the behavior that is already being used when specifying `allow`/`deny` in the source code.


No differences found