From 199a02cb68b956fbfb1891164541ae51c02a24de Mon Sep 17 00:00:00 2001 From: Erick Tryzelaar Date: Thu, 6 Aug 2015 09:31:37 -0700 Subject: [PATCH] i64::wrapping_neg is not stable yet --- serde_json/src/de.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/serde_json/src/de.rs b/serde_json/src/de.rs index 8dea69e1..04491899 100644 --- a/serde_json/src/de.rs +++ b/serde_json/src/de.rs @@ -259,7 +259,9 @@ impl Deserializer if pos { visitor.visit_u64(res) } else { - let res_i64 = (res as i64).wrapping_neg(); + // FIXME: `wrapping_neg` will be stable in Rust 1.2 + //let res_i64 = (res as i64).wrapping_neg(); + let res_i64 = (!res + 1) as i64; // Convert into a float if we underflow. if res_i64 > 0 {