Skip to content

Commit ddfb32b

Browse files
committed
use Size::truncate
1 parent a89dcbe commit ddfb32b

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
@@ -2917,15 +2917,14 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
29172917
ExprKind::Literal { lit, neg } => match &lit.node {
29182918
LitKind::Int(n, _) => {
29192919
let n = if pat.ty().is_signed() {
2920-
let bits = pat.ty().primitive_size(self.tcx).bits();
2920+
let size = pat.ty().primitive_size(self.tcx);
29212921
MaybeInfiniteInt::new_finite_int(
29222922
if *neg {
2923-
(n.get() as i128).overflowing_neg().0 as u128
2924-
& ((1u128 << bits) - 1)
2923+
size.truncate((n.get() as i128).overflowing_neg().0 as u128)
29252924
} else {
29262925
n.get()
29272926
},
2928-
bits,
2927+
size.bits(),
29292928
)
29302929
} else {
29312930
MaybeInfiniteInt::new_finite_uint(n.get())

0 commit comments

Comments
 (0)