From 423ae56943a7a91957c7f6f9c011afeead4933cb Mon Sep 17 00:00:00 2001 From: kenta7777 Date: Sun, 24 Feb 2019 12:55:14 +0900 Subject: [PATCH] reduce a code repetition like (n << amt) >> amt --- src/librustc/ty/sty.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/librustc/ty/sty.rs b/src/librustc/ty/sty.rs index 350bc45026322..dd382ec006bd7 100644 --- a/src/librustc/ty/sty.rs +++ b/src/librustc/ty/sty.rs @@ -3,7 +3,7 @@ use crate::hir; use crate::hir::def_id::DefId; use crate::infer::canonical::Canonical; -use crate::mir::interpret::ConstValue; +use crate::mir::interpret::{ConstValue, truncate}; use crate::middle::region; use polonius_engine::Atom; use rustc_data_structures::indexed_vec::Idx; @@ -2118,8 +2118,7 @@ impl<'tcx> Const<'tcx> { let size = tcx.layout_of(ty).unwrap_or_else(|e| { panic!("could not compute layout for {:?}: {:?}", ty, e) }).size; - let shift = 128 - size.bits(); - let truncated = (bits << shift) >> shift; + let truncated = truncate(bits, size); assert_eq!(truncated, bits, "from_bits called with untruncated value"); Self::from_scalar(Scalar::Bits { bits, size: size.bytes() as u8 }, ty.value) }