diff --git a/.travis/test_nightly.sh b/.travis/test_nightly.sh index 43a0fec..19ee864 100755 --- a/.travis/test_nightly.sh +++ b/.travis/test_nightly.sh @@ -5,3 +5,6 @@ set -ex cargo bench --verbose cargo test --verbose --manifest-path=macros/Cargo.toml + +# Build test for the serde feature +cargo build --verbose --features "serde" diff --git a/rational/src/lib.rs b/rational/src/lib.rs index 7aa036f..dec7400 100644 --- a/rational/src/lib.rs +++ b/rational/src/lib.rs @@ -28,9 +28,6 @@ use std::hash; use std::ops::{Add, Div, Mul, Neg, Rem, Sub}; use std::str::FromStr; -#[cfg(feature = "serde")] -use serde; - #[cfg(feature = "num-bigint")] use bigint::{BigInt, BigUint, Sign}; @@ -604,7 +601,7 @@ impl serde::Deserialize for Ratio fn deserialize(deserializer: &mut D) -> Result where D: serde::Deserializer { - let (numer, denom) = try!(serde::Deserialize::deserialize(deserializer)); + let (numer, denom): (T,T) = try!(serde::Deserialize::deserialize(deserializer)); if denom.is_zero() { Err(serde::de::Error::invalid_value("denominator is zero")) } else {