about summary refs log tree commit diff
diff options
context:
space:
mode:
authorErik Desjardins <erikdesjardins@users.noreply.github.com>2021-03-14 20:21:20 -0400
committerErik Desjardins <erikdesjardins@users.noreply.github.com>2021-03-14 20:21:20 -0400
commit47f8bacc469a6d90ace323eb482f273988674dd1 (patch)
tree0b14ee0cc3ac54b6813a870616d5b9e18ccdec4b
parent1b7b33e513c1b64902e5341a4c4faaacac685fc0 (diff)
downloadrust-47f8bacc469a6d90ace323eb482f273988674dd1.tar.gz
rust-47f8bacc469a6d90ace323eb482f273988674dd1.zip
remove unnecessary condition
`_local` isn't visited in `_local = <rhs>` statements in the situation
we care about
-rw-r--r--compiler/rustc_mir/src/transform/simplify.rs4
1 files changed, 1 insertions, 3 deletions
diff --git a/compiler/rustc_mir/src/transform/simplify.rs b/compiler/rustc_mir/src/transform/simplify.rs
index 7ca3191121e..d2314a9ba15 100644
--- a/compiler/rustc_mir/src/transform/simplify.rs
+++ b/compiler/rustc_mir/src/transform/simplify.rs
@@ -461,12 +461,10 @@ impl Visitor<'tcx> for UsedLocals<'tcx> {
 
     fn visit_local(&mut self, local: &Local, ctx: PlaceContext, _location: Location) {
         debug!("local: {:?} is_static: {:?}, ctx: {:?}", local, self.is_static, ctx);
-        // Do not count a local as used in `_local = <rhs>` if RHS is a ZST.
-        let store = matches!(ctx, PlaceContext::MutatingUse(MutatingUseContext::Store));
         // Do not count _0 as a used in `return;` if it is a ZST.
         let return_place = *local == RETURN_PLACE
             && matches!(ctx, PlaceContext::NonMutatingUse(visit::NonMutatingUseContext::Move));
-        if !self.is_static && (store || return_place) {
+        if !self.is_static && return_place {
             let ty = self.local_decls[*local].ty;
             let param_env_and = self.param_env.and(ty);
             if let Ok(layout) = self.tcx.layout_of(param_env_and) {