From 71370c87f74fa38a6976bec27ebe4f449058872c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Wed, 22 Jan 2020 17:19:26 +0100 Subject: [PATCH] librustc_mir: don't allocate vectors where slices will do. --- src/librustc_mir/transform/generator.rs | 4 ++-- src/librustc_mir/transform/instcombine.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/librustc_mir/transform/generator.rs b/src/librustc_mir/transform/generator.rs index 825ac4a28d869..8ac7772ea4818 100644 --- a/src/librustc_mir/transform/generator.rs +++ b/src/librustc_mir/transform/generator.rs @@ -117,7 +117,7 @@ impl<'tcx> MutVisitor<'tcx> for DerefArgVisitor<'tcx> { place, Place { local: self_arg(), - projection: self.tcx().intern_place_elems(&vec![ProjectionElem::Deref]), + projection: self.tcx().intern_place_elems(&[ProjectionElem::Deref]), }, self.tcx, ); @@ -153,7 +153,7 @@ impl<'tcx> MutVisitor<'tcx> for PinArgVisitor<'tcx> { place, Place { local: self_arg(), - projection: self.tcx().intern_place_elems(&vec![ProjectionElem::Field( + projection: self.tcx().intern_place_elems(&[ProjectionElem::Field( Field::new(0), self.ref_gen_ty, )]), diff --git a/src/librustc_mir/transform/instcombine.rs b/src/librustc_mir/transform/instcombine.rs index 69eedb1ae1876..afe42e6357128 100644 --- a/src/librustc_mir/transform/instcombine.rs +++ b/src/librustc_mir/transform/instcombine.rs @@ -51,7 +51,7 @@ impl<'tcx> MutVisitor<'tcx> for InstCombineVisitor<'tcx> { let new_place = match rvalue { Rvalue::Ref(_, _, place) => { if let &[ref proj_l @ .., proj_r] = place.projection.as_ref() { - place.projection = self.tcx().intern_place_elems(&vec![proj_r.clone()]); + place.projection = self.tcx().intern_place_elems(&[proj_r.clone()]); Place { // Replace with dummy