Skip to content

Commit 95bc5aa

Browse files
authored
Unrolled build for rust-lang#116905
Rollup merge of rust-lang#116905 - Fenex:refactor/compiler/resolve, r=petrochenkov refactor(compiler/resolve): simplify some code Removes unnecessary allocate and double-sorting the same vector, makes the code a little nicer.
2 parents 698db85 + e68edb8 commit 95bc5aa

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

compiler/rustc_resolve/src/check_unused.rs

+10-11
Original file line numberDiff line numberDiff line change
@@ -335,7 +335,7 @@ impl Resolver<'_, '_> {
335335

336336
for unused in visitor.unused_imports.values() {
337337
let mut fixes = Vec::new();
338-
let mut spans = match calc_unused_spans(unused, unused.use_tree, unused.use_tree_id) {
338+
let spans = match calc_unused_spans(unused, unused.use_tree, unused.use_tree_id) {
339339
UnusedSpanResult::Used => continue,
340340
UnusedSpanResult::FlatUnused(span, remove) => {
341341
fixes.push((remove, String::new()));
@@ -353,20 +353,19 @@ impl Resolver<'_, '_> {
353353
}
354354
};
355355

356-
let len = spans.len();
357-
spans.sort();
358-
let ms = MultiSpan::from_spans(spans.clone());
359-
let mut span_snippets = spans
356+
let ms = MultiSpan::from_spans(spans);
357+
358+
let mut span_snippets = ms
359+
.primary_spans()
360360
.iter()
361-
.filter_map(|s| match tcx.sess.source_map().span_to_snippet(*s) {
362-
Ok(s) => Some(format!("`{s}`")),
363-
_ => None,
364-
})
361+
.filter_map(|span| tcx.sess.source_map().span_to_snippet(*span).ok())
362+
.map(|s| format!("`{s}`"))
365363
.collect::<Vec<String>>();
366364
span_snippets.sort();
365+
367366
let msg = format!(
368367
"unused import{}{}",
369-
pluralize!(len),
368+
pluralize!(ms.primary_spans().len()),
370369
if !span_snippets.is_empty() {
371370
format!(": {}", span_snippets.join(", "))
372371
} else {
@@ -376,7 +375,7 @@ impl Resolver<'_, '_> {
376375

377376
let fix_msg = if fixes.len() == 1 && fixes[0].0 == unused.item_span {
378377
"remove the whole `use` item"
379-
} else if spans.len() > 1 {
378+
} else if ms.primary_spans().len() > 1 {
380379
"remove the unused imports"
381380
} else {
382381
"remove the unused import"

0 commit comments

Comments
 (0)