diff options
| author | Oliver Schneider <github35764891676564198441@oli-obk.de> | 2018-05-24 11:06:08 +0200 |
|---|---|---|
| committer | Oliver Schneider <github35764891676564198441@oli-obk.de> | 2018-05-24 20:49:38 +0200 |
| commit | 50628b73734fe43d394edda79ba1132f5af35be6 (patch) | |
| tree | 753df7d33f80438ea1a6246981cc80c07fec3742 /src | |
| parent | c6d25dc22456fceebf2ef3389c34c5c5795e00c3 (diff) | |
| download | rust-50628b73734fe43d394edda79ba1132f5af35be6.tar.gz rust-50628b73734fe43d394edda79ba1132f5af35be6.zip | |
Only defined bits are relevant
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_mir/hair/pattern/mod.rs | 5 |
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); |
