about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPietro Albini <pietro@pietroalbini.org>2024-04-01 23:42:33 +0200
committerPietro Albini <pietro@pietroalbini.org>2024-04-14 18:45:25 +0200
commit2c26072d8cdca85e813b423f65632911f4781ff5 (patch)
treee36359c9941c5919363d2a84a2a4d55c39b9c6c3
parent829338a64016cd50fc766649d53cf5ea0b27284f (diff)
downloadrust-2c26072d8cdca85e813b423f65632911f4781ff5.tar.gz
rust-2c26072d8cdca85e813b423f65632911f4781ff5.zip
remove redundant flat vs nested distinction to simplify enum
-rw-r--r--compiler/rustc_resolve/src/check_unused.rs29
1 files changed, 10 insertions, 19 deletions
diff --git a/compiler/rustc_resolve/src/check_unused.rs b/compiler/rustc_resolve/src/check_unused.rs
index fdec48fe26a..613709b0cb6 100644
--- a/compiler/rustc_resolve/src/check_unused.rs
+++ b/compiler/rustc_resolve/src/check_unused.rs
@@ -268,9 +268,8 @@ impl<'a, 'b, 'tcx> Visitor<'a> for UnusedImportCheckVisitor<'a, 'b, 'tcx> {
 
 enum UnusedSpanResult {
     Used,
-    FlatUnused { span: Span, remove: Span },
-    NestedFullUnused { spans: Vec<Span>, remove: Span },
-    NestedPartialUnused { spans: Vec<Span>, remove: Vec<Span> },
+    Unused { spans: Vec<Span>, remove: Span },
+    PartialUnused { spans: Vec<Span>, remove: Vec<Span> },
 }
 
 fn calc_unused_spans(
@@ -288,14 +287,14 @@ fn calc_unused_spans(
     match use_tree.kind {
         ast::UseTreeKind::Simple(..) | ast::UseTreeKind::Glob => {
             if unused_import.unused.contains(&use_tree_id) {
-                UnusedSpanResult::FlatUnused { span: use_tree.span, remove: full_span }
+                UnusedSpanResult::Unused { spans: vec![use_tree.span], remove: full_span }
             } else {
                 UnusedSpanResult::Used
             }
         }
         ast::UseTreeKind::Nested(ref nested) => {
             if nested.is_empty() {
-                return UnusedSpanResult::FlatUnused { span: use_tree.span, remove: full_span };
+                return UnusedSpanResult::Unused { spans: vec![use_tree.span], remove: full_span };
             }
 
             let mut unused_spans = Vec::new();
@@ -308,15 +307,11 @@ fn calc_unused_spans(
                         all_nested_unused = false;
                         None
                     }
-                    UnusedSpanResult::FlatUnused { span, remove } => {
-                        unused_spans.push(span);
-                        Some(remove)
-                    }
-                    UnusedSpanResult::NestedFullUnused { mut spans, remove } => {
+                    UnusedSpanResult::Unused { mut spans, remove } => {
                         unused_spans.append(&mut spans);
                         Some(remove)
                     }
-                    UnusedSpanResult::NestedPartialUnused { mut spans, remove: mut to_remove_extra } => {
+                    UnusedSpanResult::PartialUnused { mut spans, remove: mut to_remove_extra } => {
                         all_nested_unused = false;
                         unused_spans.append(&mut spans);
                         to_remove.append(&mut to_remove_extra);
@@ -349,9 +344,9 @@ fn calc_unused_spans(
             if unused_spans.is_empty() {
                 UnusedSpanResult::Used
             } else if all_nested_unused {
-                UnusedSpanResult::NestedFullUnused { spans: unused_spans, remove: full_span }
+                UnusedSpanResult::Unused { spans: unused_spans, remove: full_span }
             } else {
-                UnusedSpanResult::NestedPartialUnused { spans: unused_spans, remove: to_remove }
+                UnusedSpanResult::PartialUnused { spans: unused_spans, remove: to_remove }
             }
         }
     }
@@ -417,15 +412,11 @@ impl Resolver<'_, '_> {
             let mut fixes = Vec::new();
             let spans = match calc_unused_spans(unused, &unused.use_tree, unused.use_tree_id) {
                 UnusedSpanResult::Used => continue,
-                UnusedSpanResult::FlatUnused { span, remove } => {
-                    fixes.push((remove, String::new()));
-                    vec![span]
-                }
-                UnusedSpanResult::NestedFullUnused { spans, remove } => {
+                UnusedSpanResult::Unused { spans, remove } => {
                     fixes.push((remove, String::new()));
                     spans
                 }
-                UnusedSpanResult::NestedPartialUnused { spans, remove } => {
+                UnusedSpanResult::PartialUnused { spans, remove } => {
                     for fix in &remove {
                         fixes.push((*fix, String::new()));
                     }