Skip to content

Commit 9ad63f7

Browse files
committed
remove redundant flat vs nested distinction to simplify enum
1 parent 6ed8c63 commit 9ad63f7

File tree

1 file changed

+10
-19
lines changed

1 file changed

+10
-19
lines changed

compiler/rustc_resolve/src/check_unused.rs

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -268,9 +268,8 @@ impl<'a, 'b, 'tcx> Visitor<'a> for UnusedImportCheckVisitor<'a, 'b, 'tcx> {
268268

269269
enum UnusedSpanResult {
270270
Used,
271-
FlatUnused { span: Span, remove: Span },
272-
NestedFullUnused { spans: Vec<Span>, remove: Span },
273-
NestedPartialUnused { spans: Vec<Span>, remove: Vec<Span> },
271+
Unused { spans: Vec<Span>, remove: Span },
272+
PartialUnused { spans: Vec<Span>, remove: Vec<Span> },
274273
}
275274

276275
fn calc_unused_spans(
@@ -288,14 +287,14 @@ fn calc_unused_spans(
288287
match use_tree.kind {
289288
ast::UseTreeKind::Simple(..) | ast::UseTreeKind::Glob => {
290289
if unused_import.unused.contains(&use_tree_id) {
291-
UnusedSpanResult::FlatUnused { span: use_tree.span, remove: full_span }
290+
UnusedSpanResult::Unused { spans: vec![use_tree.span], remove: full_span }
292291
} else {
293292
UnusedSpanResult::Used
294293
}
295294
}
296295
ast::UseTreeKind::Nested(ref nested) => {
297296
if nested.is_empty() {
298-
return UnusedSpanResult::FlatUnused { span: use_tree.span, remove: full_span };
297+
return UnusedSpanResult::Unused { spans: vec![use_tree.span], remove: full_span };
299298
}
300299

301300
let mut unused_spans = Vec::new();
@@ -308,15 +307,11 @@ fn calc_unused_spans(
308307
all_nested_unused = false;
309308
None
310309
}
311-
UnusedSpanResult::FlatUnused { span, remove } => {
312-
unused_spans.push(span);
313-
Some(remove)
314-
}
315-
UnusedSpanResult::NestedFullUnused { mut spans, remove } => {
310+
UnusedSpanResult::Unused { mut spans, remove } => {
316311
unused_spans.append(&mut spans);
317312
Some(remove)
318313
}
319-
UnusedSpanResult::NestedPartialUnused { mut spans, remove: mut to_remove_extra } => {
314+
UnusedSpanResult::PartialUnused { mut spans, remove: mut to_remove_extra } => {
320315
all_nested_unused = false;
321316
unused_spans.append(&mut spans);
322317
to_remove.append(&mut to_remove_extra);
@@ -349,9 +344,9 @@ fn calc_unused_spans(
349344
if unused_spans.is_empty() {
350345
UnusedSpanResult::Used
351346
} else if all_nested_unused {
352-
UnusedSpanResult::NestedFullUnused { spans: unused_spans, remove: full_span }
347+
UnusedSpanResult::Unused { spans: unused_spans, remove: full_span }
353348
} else {
354-
UnusedSpanResult::NestedPartialUnused { spans: unused_spans, remove: to_remove }
349+
UnusedSpanResult::PartialUnused { spans: unused_spans, remove: to_remove }
355350
}
356351
}
357352
}
@@ -417,15 +412,11 @@ impl Resolver<'_, '_> {
417412
let mut fixes = Vec::new();
418413
let spans = match calc_unused_spans(unused, &unused.use_tree, unused.use_tree_id) {
419414
UnusedSpanResult::Used => continue,
420-
UnusedSpanResult::FlatUnused { span, remove } => {
421-
fixes.push((remove, String::new()));
422-
vec![span]
423-
}
424-
UnusedSpanResult::NestedFullUnused { spans, remove } => {
415+
UnusedSpanResult::Unused { spans, remove } => {
425416
fixes.push((remove, String::new()));
426417
spans
427418
}
428-
UnusedSpanResult::NestedPartialUnused { spans, remove } => {
419+
UnusedSpanResult::PartialUnused { spans, remove } => {
429420
for fix in &remove {
430421
fixes.push((*fix, String::new()));
431422
}

0 commit comments

Comments
 (0)