Make the tool_lints actually usable by flip1995 · Pull Request #52851 · rust-lang/rust (original) (raw)
cc #44690
Necessary for rust-lang/rust-clippy#2955 and rust-lang/rust-clippy#2977
This PR makes it possible for lint tools (at the moment only for Clippy) to implement the tool_lints
, like it was documented in #52018.
Because the declare_lint
macro is pretty cluttered right now, there was not really a good way to add the tool_name
as an additional argument of the macro. That's why I chose to introduce the new declare_tool_lint
macro.
The switch from &str
to String
in the lint_groups
FxHashMap
is because I got weird error messages in the check_lint_name
method. And the by_name
field of the LintStore
also uses String
.
What comes with this PR:
If this PR lands and Clippy switches to the tool_lints
, the currently used methods
#[cfg_attr(feature = "cargo-clippy", allow(clippy_lint))] #[allow(unknown_lints, clippy_lint)]
to allow
/warn
/deny
/forbid
Clippy lints, won't have any effects anymore, but also won't produce a warning. That is because the name of clippy_lint
will then be clippy::clippy_lint
. (Maybe we can add a clippy lint to search for cfg_attr
appearances with the cargo-clippy
feature?)
r? @oli-obk