about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorSantiago Pastorino <spastorino@gmail.com>2019-07-19 22:49:58 +0200
committerSantiago Pastorino <spastorino@gmail.com>2019-07-20 05:08:39 +0200
commitb59ded8ae06cff30643113ea9b6952b05a25f8d9 (patch)
treef5b91b3e6e932fc05a92ec311b93731d2efbe50d /src
parent7789cbf700f5633b895ced21f7ffd2f33661542e (diff)
downloadrust-b59ded8ae06cff30643113ea9b6952b05a25f8d9.tar.gz
rust-b59ded8ae06cff30643113ea9b6952b05a25f8d9.zip
Avoid cloning Place in visit_rvalue
Diffstat (limited to 'src')
-rw-r--r--src/librustc_mir/transform/qualify_consts.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/librustc_mir/transform/qualify_consts.rs b/src/librustc_mir/transform/qualify_consts.rs
index a05ac89921d..739e2172b03 100644
--- a/src/librustc_mir/transform/qualify_consts.rs
+++ b/src/librustc_mir/transform/qualify_consts.rs
@@ -1199,10 +1199,10 @@ impl<'a, 'tcx> Visitor<'tcx> for Checker<'a, 'tcx> {
                         MutatingUseContext::Borrow,
                     ),
                 };
-                self.visit_place(&Place {
-                    base: place.base.clone(),
-                    projection: proj.clone(),
-                }, ctx, location);
+                self.visit_place_base(&place.base, ctx, location);
+                if let Some(proj) = proj {
+                    self.visit_projection(&place.base, proj, ctx, location);
+                }
             } else {
                 self.super_rvalue(rvalue, location);
             }