+
+ fn process_projection_elem(
+ &mut self,
+ elem: &PlaceElem<'tcx>,
+ ) -> Option<PlaceElem<'tcx>> {
+ match elem {
+ PlaceElem::Index(local) if self.is_temp_kind(*local) => {
+ Some(PlaceElem::Index(self.promote_temp(*local)))
+ }
+ _ => None,
+ }
+ }