]> git.lizzy.rs Git - rust.git/commitdiff
Expose encapsulated undef mask as immutable
authorAndreas Molzer <andreas.molzer@gmx.de>
Wed, 14 Aug 2019 00:26:18 +0000 (02:26 +0200)
committerAndreas Molzer <andreas.molzer@gmx.de>
Wed, 21 Aug 2019 08:55:16 +0000 (10:55 +0200)
src/librustc/mir/interpret/allocation.rs
src/librustc_mir/interpret/memory.rs

index bfbfffeb3b8c6827d4fe46d2f42aec0dabfd5882..d3f87f16313d0d72add90388707ef75b181301c7 100644 (file)
@@ -143,6 +143,11 @@ pub fn len(&self) -> usize {
     pub fn inspect_with_undef_and_ptr_outside_interpreter(&self, range: Range<usize>) -> &[u8] {
         &self.bytes[range]
     }
+
+    /// View the undef mask.
+    pub fn undef_mask(&self) -> &UndefMask {
+        &self.undef_mask
+    }
 }
 
 impl<'tcx> rustc_serialize::UseSpecializedDecodable for &'tcx Allocation {}
index 15180265ad29ff6b860cf256b1a967533ab92f57..f7576a41e0f00bd5ebdee91cd22b4b3942ecfe42 100644 (file)
@@ -653,7 +653,7 @@ fn dump_alloc_helper<Tag, Extra>(
                 }
                 relocations.push((i, target_id));
             }
-            if alloc.undef_mask.is_range_defined(i, i + Size::from_bytes(1)).is_ok() {
+            if alloc.undef_mask().is_range_defined(i, i + Size::from_bytes(1)).is_ok() {
                 // this `as usize` is fine, since `i` came from a `usize`
                 let i = i.bytes() as usize;