From d84f7394a487f51ab5afcc6ca8df66ec6460ec8c Mon Sep 17 00:00:00 2001 From: Rose Hudson Date: Mon, 11 Jul 2022 14:42:49 +0100 Subject: [PATCH] use PlaceRef::iter_projections to fix old FIXME I added this function in 53481a5a8fde83ed1a5d7e8302be028a4c7d8da5 --- compiler/rustc_middle/src/mir/visit.rs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/compiler/rustc_middle/src/mir/visit.rs b/compiler/rustc_middle/src/mir/visit.rs index d1477f9e2ae10..0ecb83996a8af 100644 --- a/compiler/rustc_middle/src/mir/visit.rs +++ b/compiler/rustc_middle/src/mir/visit.rs @@ -1111,11 +1111,9 @@ macro_rules! visit_place_fns { context: PlaceContext, location: Location, ) { - // FIXME: Use PlaceRef::iter_projections, once that exists. - let mut cursor = place_ref.projection; - while let &[ref proj_base @ .., elem] = cursor { - cursor = proj_base; - self.visit_projection_elem(place_ref.local, cursor, elem, context, location); + for (base, elem) in place_ref.iter_projections().rev() { + let base_proj = base.projection; + self.visit_projection_elem(place_ref.local, base_proj, elem, context, location); } }