]> git.proxmox.com Git - rustc.git/blobdiff - compiler/rustc_mir_dataflow/src/elaborate_drops.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / compiler / rustc_mir_dataflow / src / elaborate_drops.rs
index c0b0cc3c591b01ef68a558bc24ce2f1c88378f72..23403628c53fa6aa6ed32b865575380a628d614a 100644 (file)
@@ -823,9 +823,10 @@ where
             // tmp = &raw mut P;
             // cur = tmp as *mut T;
             // end = Offset(cur, len);
+            let mir_cast_kind = ty::cast::mir_cast_kind(iter_ty, tmp_ty);
             vec![
                 self.assign(tmp, Rvalue::AddressOf(Mutability::Mut, self.place)),
-                self.assign(cur, Rvalue::Cast(CastKind::Misc, Operand::Move(tmp), iter_ty)),
+                self.assign(cur, Rvalue::Cast(mir_cast_kind, Operand::Move(tmp), iter_ty)),
                 self.assign(
                     length_or_end,
                     Rvalue::BinaryOp(
@@ -893,7 +894,7 @@ where
             }
             ty::Slice(ety) => self.open_drop_for_array(*ety, None),
 
-            _ => bug!("open drop from non-ADT `{:?}`", ty),
+            _ => span_bug!(self.source_info.span, "open drop from non-ADT `{:?}`", ty),
         }
     }