Skip to content

Commit ee227c2

Browse files
committed
use Size::truncate
1 parent 358c733 commit ee227c2

File tree

1 file changed

+3
-4
lines changed
  • compiler/rustc_mir_build/src/builder/matches

1 file changed

+3
-4
lines changed

compiler/rustc_mir_build/src/builder/matches/mod.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2918,15 +2918,14 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
29182918
ExprKind::Literal { lit, neg } => match &lit.node {
29192919
LitKind::Int(n, _) => {
29202920
let n = if pat.ty().is_signed() {
2921-
let bits = pat.ty().primitive_size(self.tcx).bits();
2921+
let size = pat.ty().primitive_size(self.tcx);
29222922
MaybeInfiniteInt::new_finite_int(
29232923
if *neg {
2924-
(n.get() as i128).overflowing_neg().0 as u128
2925-
& ((1u128 << bits) - 1)
2924+
size.truncate((n.get() as i128).overflowing_neg().0 as u128)
29262925
} else {
29272926
n.get()
29282927
},
2929-
bits,
2928+
size.bits(),
29302929
)
29312930
} else {
29322931
MaybeInfiniteInt::new_finite_uint(n.get())

0 commit comments

Comments
 (0)