about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorOliver Schneider <github35764891676564198441@oli-obk.de>2018-05-24 11:06:08 +0200
committerOliver Schneider <github35764891676564198441@oli-obk.de>2018-05-24 20:49:38 +0200
commit50628b73734fe43d394edda79ba1132f5af35be6 (patch)
tree753df7d33f80438ea1a6246981cc80c07fec3742 /src
parentc6d25dc22456fceebf2ef3389c34c5c5795e00c3 (diff)
downloadrust-50628b73734fe43d394edda79ba1132f5af35be6.tar.gz
rust-50628b73734fe43d394edda79ba1132f5af35be6.zip
Only defined bits are relevant
Diffstat (limited to 'src')
-rw-r--r--src/librustc_mir/hair/pattern/mod.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/librustc_mir/hair/pattern/mod.rs b/src/librustc_mir/hair/pattern/mod.rs
index afd61fe12bf..c72d2bf0411 100644
--- a/src/librustc_mir/hair/pattern/mod.rs
+++ b/src/librustc_mir/hair/pattern/mod.rs
@@ -1104,9 +1104,10 @@ pub fn compare_const_vals<'a, 'tcx>(
                             defined: defined_b,
                         },
                     ))
-                ) if size_a == size_b && defined_a == defined_b &&
+                ) if size_a == size_b &&
                      ptr_a.offset.bytes() == 0 && ptr_b.offset.bytes() == 0 &&
-                     tcx.data_layout.pointer_size.bits() == defined_a.into() => {
+                     tcx.data_layout.pointer_size.bits() <= defined_a.into() &&
+                     tcx.data_layout.pointer_size.bits() <= defined_b.into() => {
                     let map = tcx.alloc_map.lock();
                     let alloc_a = map.unwrap_memory(ptr_a.alloc_id);
                     let alloc_b = map.unwrap_memory(ptr_b.alloc_id);