last_deref_idx = idx;
}
}
+
for (idx, (p_ref, p_elem)) in place.iter_projections().enumerate() {
if !p_ref.projection.is_empty() && p_elem == ProjectionElem::Deref {
let ty = p_ref.ty(&self.local_decls, self.tcx).ty;
self.patcher.add_assign(
loc,
Place::from(temp),
- Rvalue::Use(Operand::Move(deref_place)),
+ Rvalue::CopyForDeref(deref_place),
);
place_local = temp;
last_len = p_ref.projection.len();