about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2021-06-28 09:19:36 +0200
committerRalf Jung <post@ralfj.de>2021-06-28 09:19:36 +0200
commit719dafc48b3a076e9f6341be97bad0cef316f24b (patch)
tree8fc850695cfd551826e06073c480fcb73db605ad /compiler
parentd08a4718a9e3b9838a01345384d5b224b268daa1 (diff)
downloadrust-719dafc48b3a076e9f6341be97bad0cef316f24b.tar.gz
rust-719dafc48b3a076e9f6341be97bad0cef316f24b.zip
double-check mutability inside Allocation
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_middle/src/mir/interpret/allocation.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/mir/interpret/allocation.rs b/compiler/rustc_middle/src/mir/interpret/allocation.rs
index ee3902991e9..c0cfc7b1ba4 100644
--- a/compiler/rustc_middle/src/mir/interpret/allocation.rs
+++ b/compiler/rustc_middle/src/mir/interpret/allocation.rs
@@ -340,6 +340,8 @@ impl<Tag: Copy, Extra> Allocation<Tag, Extra> {
         range: AllocRange,
         val: ScalarMaybeUninit<Tag>,
     ) -> AllocResult {
+        assert!(self.mutability == Mutability::Mut);
+
         let val = match val {
             ScalarMaybeUninit::Scalar(scalar) => scalar,
             ScalarMaybeUninit::Uninit => {
@@ -463,6 +465,7 @@ impl<Tag: Copy, Extra> Allocation<Tag, Extra> {
         if range.size.bytes() == 0 {
             return;
         }
+        assert!(self.mutability == Mutability::Mut);
         self.init_mask.set_range(range.start, range.end(), is_init);
     }
 }