about summary refs log tree commit diff
path: root/src/libserialize
diff options
context:
space:
mode:
authorFelix S. Klock II <pnkfelix@pnkfx.org>2015-04-16 16:48:14 +0200
committerFelix S. Klock II <pnkfelix@pnkfx.org>2015-04-17 14:54:55 +0200
commit5e7785cabc1c1bfb0efb2d99de5eda173fd146de (patch)
tree294500685859b0bc5a263b03480090215fae78d4 /src/libserialize
parente9f892acc44f37887fe1b9f3039ba6efdfc2154e (diff)
downloadrust-5e7785cabc1c1bfb0efb2d99de5eda173fd146de.tar.gz
rust-5e7785cabc1c1bfb0efb2d99de5eda173fd146de.zip
Workaround deliberate overflowing negation in serialize::json.
Diffstat (limited to 'src/libserialize')
-rw-r--r--src/libserialize/json.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libserialize/json.rs b/src/libserialize/json.rs
index 8f020d0857d..b4f679a8109 100644
--- a/src/libserialize/json.rs
+++ b/src/libserialize/json.rs
@@ -1540,7 +1540,7 @@ impl<T: Iterator<Item=char>> Parser<T> {
             F64Value(res)
         } else {
             if neg {
-                let res = -(res as i64);
+                let res = (res as i64).wrapping_neg();
 
                 // Make sure we didn't underflow.
                 if res > 0 {