Skip to content

Commit 42d5cf8

Browse files
committed
reduce an mir code repetition like (n << amt) >> amt
1 parent c6fd027 commit 42d5cf8

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;
@@ -959,8 +960,7 @@ where
959960
// their computation, but the in-memory tag is the smallest possible
960961
// representation
961962
let size = tag.value.size(self);
962-
let shift = 128 - size.bits();
963-
let discr_val = (discr_val << shift) >> shift;
963+
let discr_val = truncate(discr_val, size);
964964

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

0 commit comments

Comments
 (0)