Skip to content

Commit 6f374ea

Browse files
authored
Rollup merge of rust-lang#58667 - kenta7777:reduce-mir-code-repetition, r=petrochenkov
Reduce Miri-related Code Repetition `like (n << amt) >> amt` This Pull Request fixes a part of [rust-lang#49937](rust-lang#49937).
2 parents 6fa3116 + 42d5cf8 commit 6f374ea

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/librustc_mir/interpret/place.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use std::hash::Hash;
77

88
use rustc::hir;
99
use rustc::mir;
10+
use rustc::mir::interpret::truncate;
1011
use rustc::ty::{self, Ty};
1112
use rustc::ty::layout::{self, Size, Align, LayoutOf, TyLayout, HasDataLayout, VariantIdx};
1213
use rustc::ty::TypeFoldable;
@@ -965,8 +966,7 @@ where
965966
// their computation, but the in-memory tag is the smallest possible
966967
// representation
967968
let size = tag.value.size(self);
968-
let shift = 128 - size.bits();
969-
let discr_val = (discr_val << shift) >> shift;
969+
let discr_val = truncate(discr_val, size);
970970

971971
let discr_dest = self.place_field(dest, 0)?;
972972
self.write_scalar(Scalar::from_uint(discr_val, size), discr_dest)?;

0 commit comments

Comments
 (0)