11use std:: { borrow:: Cow , fmt} ;
22
3+ use itertools:: Itertools ;
34use rustc_hash:: FxHashMap ;
45use schemars:: { JsonSchema , r#gen:: SchemaGenerator , schema:: Schema } ;
56use serde:: {
@@ -66,9 +67,7 @@ impl OxlintRules {
6667 all_rules : & [ RuleEnum ] ,
6768 external_plugin_store : & ExternalPluginStore ,
6869 ) -> Result < ( ) , ExternalRuleLookupError > {
69- use itertools:: Itertools ;
7070 let mut rules_to_replace = vec ! [ ] ;
71- let mut external_rules_to_replace = vec ! [ ] ;
7271
7372 let lookup = self . rules . iter ( ) . into_group_map_by ( |r| r. rule_name . as_str ( ) ) ;
7473
@@ -100,7 +99,10 @@ impl OxlintRules {
10099 } else {
101100 let external_rule_id =
102101 external_plugin_store. lookup_rule_id ( plugin_name, rule_name) ?;
103- external_rules_to_replace. push ( ( external_rule_id, severity) ) ;
102+ external_rules_for_override
103+ . entry ( external_rule_id)
104+ . and_modify ( |sev| * sev = severity)
105+ . or_insert ( severity) ;
104106 }
105107 }
106108 }
@@ -109,10 +111,6 @@ impl OxlintRules {
109111 let _ = rules_for_override. remove ( & rule) ;
110112 rules_for_override. insert ( rule, severity) ;
111113 }
112- for ( external_rule_id, severity) in external_rules_to_replace {
113- let _ = external_rules_for_override. remove ( & external_rule_id) ;
114- external_rules_for_override. insert ( external_rule_id, severity) ;
115- }
116114
117115 Ok ( ( ) )
118116 }
0 commit comments