@@ -33,7 +33,7 @@ use rustc_middle::ty::{self, print::Printer, GenericArg, RegisteredTools, Ty, Ty
33
33
use rustc_session:: lint:: { BuiltinLintDiagnostics , LintExpectationId } ;
34
34
use rustc_session:: lint:: { FutureIncompatibleInfo , Level , Lint , LintBuffer , LintId } ;
35
35
use rustc_session:: { LintStoreMarker , Session } ;
36
- use rustc_span:: edit_distance:: find_best_match_for_name ;
36
+ use rustc_span:: edit_distance:: find_best_match_for_names ;
37
37
use rustc_span:: symbol:: { sym, Ident , Symbol } ;
38
38
use rustc_span:: Span ;
39
39
use rustc_target:: abi;
@@ -442,14 +442,11 @@ impl LintStore {
442
442
let groups = groups. iter ( ) . map ( |k| Symbol :: intern ( k) ) ;
443
443
let lints = self . lints . iter ( ) . map ( |l| Symbol :: intern ( & l. name_lower ( ) ) ) ;
444
444
let names: Vec < Symbol > = groups. chain ( lints) . collect ( ) ;
445
- let mut res = find_best_match_for_name ( & names, Symbol :: intern ( & name_lower) , Some ( 2 ) ) ;
446
- if res. is_none ( ) && name_lower. contains ( "::" ) {
447
- let stripped = name_lower. split ( "::" ) . last ( ) . unwrap ( ) ;
448
- res = find_best_match_for_name ( & names, Symbol :: intern ( stripped) , Some ( 2 ) ) ;
449
- }
450
- if res. is_none ( ) {
451
- res = find_best_match_for_name ( & names, Symbol :: intern ( & name_lower) , None ) ;
445
+ let mut lookups = vec ! [ Symbol :: intern( & name_lower) ] ;
446
+ if let Some ( stripped) = name_lower. split ( "::" ) . last ( ) {
447
+ lookups. push ( Symbol :: intern ( stripped) ) ;
452
448
}
449
+ let res = find_best_match_for_names ( & names, & lookups, None ) ;
453
450
let is_rustc = res. map_or_else (
454
451
|| false ,
455
452
|s| name_lower. contains ( "::" ) && !s. as_str ( ) . starts_with ( tool_name) ,
0 commit comments