summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_apfloat/lib.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/librustc_apfloat/lib.rs b/src/librustc_apfloat/lib.rs
index 9e348f62223..2048127222b 100644
--- a/src/librustc_apfloat/lib.rs
+++ b/src/librustc_apfloat/lib.rs
@@ -378,7 +378,7 @@ pub trait Float
fn from_bits(input: u128) -> Self;
fn from_i128_r(input: i128, round: Round) -> StatusAnd<Self> {
if input < 0 {
- Self::from_u128_r(-input as u128, -round).map(|r| -r)
+ Self::from_u128_r(input.wrapping_neg() as u128, -round).map(|r| -r)
} else {
Self::from_u128_r(input as u128, round)
}