-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-lintsArea: Lints (warnings about flaws in source code) such as unused_mut.Area: Lints (warnings about flaws in source code) such as unused_mut.C-bugCategory: This is a bug.Category: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.
Description
Problem
This came up during the discussion of rust-lang/cargo#5034. Lints can be broken into rustc builtin lints, and lints supplied by a tool such as clippy. For clippy lints, they are prefixed by clippy::
. The idea is that external lints are supposed to be ignored if the tool is not active. This works for lints controlled through attributes, such as #![allow(clippy::foo)]
.
Unfortunately the same thing doesn't work when allowing the lint through the command line, doing rustc -A clippy::foo
.
Steps
- Run
rustc -A clippy::foo test.rs
Possible Solution(s)
The problem is at:
rust/compiler/rustc_lint/src/context.rs
Line 345 in 4733f32
let db = match self.check_lint_name(lint_name, None) { |
There is a hard-coded
None
passed in as the tool name in check_lint_name
.
Metadata
Metadata
Assignees
Labels
A-lintsArea: Lints (warnings about flaws in source code) such as unused_mut.Area: Lints (warnings about flaws in source code) such as unused_mut.C-bugCategory: This is a bug.Category: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.