about summary refs log tree commit diff
path: root/compiler/rustc_mir_transform/src
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_mir_transform/src')
-rw-r--r--compiler/rustc_mir_transform/src/add_retag.rs2
-rw-r--r--compiler/rustc_mir_transform/src/deref_separator.rs7
2 files changed, 6 insertions, 3 deletions
diff --git a/compiler/rustc_mir_transform/src/add_retag.rs b/compiler/rustc_mir_transform/src/add_retag.rs
index 825340892d9..a245da658b9 100644
--- a/compiler/rustc_mir_transform/src/add_retag.rs
+++ b/compiler/rustc_mir_transform/src/add_retag.rs
@@ -61,7 +61,7 @@ fn may_be_reference(ty: Ty<'_>) -> bool {
 fn is_not_temp<'tcx>(local_decl: &LocalDecl<'tcx>) -> bool {
     if let Some(local_info) = &local_decl.local_info {
         match local_info.as_ref() {
-            LocalInfo::Temp => return false,
+            LocalInfo::DerefTemp => return false,
             _ => (),
         };
     }
diff --git a/compiler/rustc_mir_transform/src/deref_separator.rs b/compiler/rustc_mir_transform/src/deref_separator.rs
index afaab6e9a35..57a95a67df7 100644
--- a/compiler/rustc_mir_transform/src/deref_separator.rs
+++ b/compiler/rustc_mir_transform/src/deref_separator.rs
@@ -33,8 +33,11 @@ impl<'tcx> MutVisitor<'tcx> for DerefChecker<'tcx> {
         for (idx, (p_ref, p_elem)) in place.iter_projections().enumerate() {
             if p_elem == ProjectionElem::Deref && !p_ref.projection.is_empty() {
                 let ty = p_ref.ty(&self.local_decls, self.tcx).ty;
-                let temp =
-                    self.patcher.new_local_temp(ty, self.local_decls[p_ref.local].source_info.span);
+                let temp = self.patcher.new_local_with_info(
+                    ty,
+                    self.local_decls[p_ref.local].source_info.span,
+                    Some(Box::new(LocalInfo::DerefTemp)),
+                );
 
                 self.patcher.add_statement(loc, StatementKind::StorageLive(temp));