about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-02-25 11:42:20 +0100
committerGitHub <noreply@github.com>2019-02-25 11:42:20 +0100
commit5f910fa99cae8b835a2deba6128a02bf7409ef74 (patch)
treeed4c3fe54b2484fed3726c2e392c1626692d812e /src
parent554aed6c7d449b75ea0a460e811c4f3069f60dd4 (diff)
parent46f1cc69db895704100197d43ce853bb29674f11 (diff)
downloadrust-5f910fa99cae8b835a2deba6128a02bf7409ef74.tar.gz
rust-5f910fa99cae8b835a2deba6128a02bf7409ef74.zip
Rollup merge of #58687 - kenta7777:reduce-miri-code-repetition, r=oli-obk
Reduce Miri Code Repetition like `(n << amt) >> amt`

This Pull Request fixes a part of [#49937](https://github.com/rust-lang/rust/issues/49937).
Diffstat (limited to 'src')
-rw-r--r--src/librustc_mir/hair/constant.rs3
1 files changed, 1 insertions, 2 deletions
diff --git a/src/librustc_mir/hair/constant.rs b/src/librustc_mir/hair/constant.rs
index 21c471d49ee..caadc6055b5 100644
--- a/src/librustc_mir/hair/constant.rs
+++ b/src/librustc_mir/hair/constant.rs
@@ -21,8 +21,7 @@ crate fn lit_to_const<'a, 'gcx, 'tcx>(
         let param_ty = ParamEnv::reveal_all().and(tcx.lift_to_global(&ty).unwrap());
         let width = tcx.layout_of(param_ty).map_err(|_| LitToConstError::Reported)?.size;
         trace!("trunc {} with size {} and shift {}", n, width.bits(), 128 - width.bits());
-        let shift = 128 - width.bits();
-        let result = (n << shift) >> shift;
+        let result = truncate(n, width);
         trace!("trunc result: {}", result);
         Ok(ConstValue::Scalar(Scalar::Bits {
             bits: result,