diff options
| author | Erik Desjardins <erikdesjardins@users.noreply.github.com> | 2021-03-14 20:21:20 -0400 |
|---|---|---|
| committer | Erik Desjardins <erikdesjardins@users.noreply.github.com> | 2021-03-14 20:21:20 -0400 |
| commit | 47f8bacc469a6d90ace323eb482f273988674dd1 (patch) | |
| tree | 0b14ee0cc3ac54b6813a870616d5b9e18ccdec4b | |
| parent | 1b7b33e513c1b64902e5341a4c4faaacac685fc0 (diff) | |
| download | rust-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.rs | 4 |
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) { |
