about summary refs log tree commit diff
path: root/src/libserialize/json.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/libserialize/json.rs')
-rw-r--r--src/libserialize/json.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libserialize/json.rs b/src/libserialize/json.rs
index 371034746fc..23e2c4b9830 100644
--- a/src/libserialize/json.rs
+++ b/src/libserialize/json.rs
@@ -1974,10 +1974,7 @@ macro_rules! read_primitive {
                     }
                 }
                 Json::F64(f) => {
-                    match num::cast(f) {
-                        Some(f) => Ok(f),
-                        None => Err(ExpectedError("Number".to_string(), format!("{}", f))),
-                    }
+                    Err(ExpectedError("Integer".to_string(), format!("{}", f)))
                 }
                 Json::String(s) => {
                     // re: #12967.. a type w/ numeric keys (ie HashMap<uint, V> etc)
@@ -2830,6 +2827,9 @@ mod tests {
 
         let v: i64 = super::decode("9223372036854775807").unwrap();
         assert_eq!(v, i64::MAX);
+
+        let res: DecodeResult<i64> = super::decode("765.25252");
+        assert_eq!(res, Err(ExpectedError("Integer".into_string(), "765.25252".into_string())));
     }
 
     #[test]