Skip to content

Rustc does not parse tool name for lints controlled by the command line #86628

Closed
@eholk

Description

@eholk

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

  1. Run rustc -A clippy::foo test.rs

Possible Solution(s)

The problem is at:

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.C-bugCategory: This is a bug.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions