about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSimon Vandel Sillesen <simon.vandel@gmail.com>2020-12-28 23:19:35 +0100
committerSimon Vandel Sillesen <simon.vandel@gmail.com>2020-12-28 23:19:35 +0100
commit0010fc8fec235d36d9264de07dbad4508eda0a8e (patch)
treee1781da2dd89ea529b86ff103e8000be6d93f2a2
parent3d5a1e330fb48c5f64b078cf755cbb44ee73343e (diff)
downloadrust-0010fc8fec235d36d9264de07dbad4508eda0a8e.tar.gz
rust-0010fc8fec235d36d9264de07dbad4508eda0a8e.zip
use exhaustive pattern match to prevent future bugs
-rw-r--r--compiler/rustc_mir/src/transform/instcombine.rs17
1 files changed, 13 insertions, 4 deletions
diff --git a/compiler/rustc_mir/src/transform/instcombine.rs b/compiler/rustc_mir/src/transform/instcombine.rs
index 04ea2bb542e..47695985386 100644
--- a/compiler/rustc_mir/src/transform/instcombine.rs
+++ b/compiler/rustc_mir/src/transform/instcombine.rs
@@ -301,9 +301,18 @@ struct OptimizationList<'tcx> {
 
 impl<'tcx> OptimizationList<'tcx> {
     fn is_empty(&self) -> bool {
-        self.and_stars.is_empty()
-            && self.arrays_lengths.is_empty()
-            && self.unneeded_equality_comparison.is_empty()
-            && self.unneeded_deref.is_empty()
+        match self {
+            OptimizationList {
+                and_stars,
+                arrays_lengths,
+                unneeded_equality_comparison,
+                unneeded_deref,
+            } => {
+                and_stars.is_empty()
+                    && arrays_lengths.is_empty()
+                    && unneeded_equality_comparison.is_empty()
+                    && unneeded_deref.is_empty()
+            }
+        }
     }
 }