mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-29 18:23:49 +00:00
Auto merge of #84959 - camsteffen:lint-suggest-group, r=estebank
Suggest lint groups Fixes rust-lang/rust-clippy#6986
This commit is contained in:
commit
c9aa2595d9
@ -481,17 +481,17 @@ impl LintStore {
|
||||
|
||||
fn no_lint_suggestion(&self, lint_name: &str) -> CheckLintNameResult<'_> {
|
||||
let name_lower = lint_name.to_lowercase();
|
||||
let symbols =
|
||||
self.get_lints().iter().map(|l| Symbol::intern(&l.name_lower())).collect::<Vec<_>>();
|
||||
|
||||
if lint_name.chars().any(char::is_uppercase) && self.find_lints(&name_lower).is_ok() {
|
||||
// First check if the lint name is (partly) in upper case instead of lower case...
|
||||
CheckLintNameResult::NoLint(Some(Symbol::intern(&name_lower)))
|
||||
} else {
|
||||
// ...if not, search for lints with a similar name
|
||||
let suggestion = find_best_match_for_name(&symbols, Symbol::intern(&name_lower), None);
|
||||
CheckLintNameResult::NoLint(suggestion)
|
||||
return CheckLintNameResult::NoLint(Some(Symbol::intern(&name_lower)));
|
||||
}
|
||||
// ...if not, search for lints with a similar name
|
||||
let groups = self.lint_groups.keys().copied().map(Symbol::intern);
|
||||
let lints = self.lints.iter().map(|l| Symbol::intern(&l.name_lower()));
|
||||
let names: Vec<Symbol> = groups.chain(lints).collect();
|
||||
let suggestion = find_best_match_for_name(&names, Symbol::intern(&name_lower), None);
|
||||
CheckLintNameResult::NoLint(suggestion)
|
||||
}
|
||||
|
||||
fn check_tool_name_for_backwards_compat(
|
||||
|
@ -14,7 +14,7 @@ error: unknown lint: `rustdoc::x`
|
||||
--> $DIR/unknown-renamed-lints.rs:7:9
|
||||
|
|
||||
LL | #![deny(rustdoc::x)]
|
||||
| ^^^^^^^^^^
|
||||
| ^^^^^^^^^^ help: did you mean: `rustdoc::all`
|
||||
|
||||
error: lint `intra_doc_link_resolution_failure` has been renamed to `rustdoc::broken_intra_doc_links`
|
||||
--> $DIR/unknown-renamed-lints.rs:9:9
|
||||
|
@ -6,4 +6,8 @@
|
||||
//~| HELP did you mean
|
||||
//~| SUGGESTION dead_code
|
||||
|
||||
#![deny(rust_2018_idiots)] //~ ERROR unknown lint
|
||||
//~| HELP did you mean
|
||||
//~| SUGGESTION rust_2018_idioms
|
||||
|
||||
fn main() {}
|
||||
|
@ -16,5 +16,11 @@ error: unknown lint: `dead_cod`
|
||||
LL | #![deny(dead_cod)]
|
||||
| ^^^^^^^^ help: did you mean: `dead_code`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
error: unknown lint: `rust_2018_idiots`
|
||||
--> $DIR/lint-unknown-lint.rs:9:9
|
||||
|
|
||||
LL | #![deny(rust_2018_idiots)]
|
||||
| ^^^^^^^^^^^^^^^^ help: did you mean: `rust_2018_idioms`
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user