diff --git a/Cargo.toml b/Cargo.toml index 0bbd7c5..48bc99b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "euclid" -version = "0.14.4" +version = "0.15.0" authors = ["The Servo Project Developers"] description = "Geometry primitives" documentation = "https://docs.rs/euclid/" @@ -16,8 +16,8 @@ unstable = [] heapsize = "0.4" num-traits = {version = "0.1.32", default-features = false} log = "0.3.1" -serde = "0.9" +serde = "1.0" [dev-dependencies] rand = "0.3.7" -serde_test = "0.9" +serde_test = "1.0" diff --git a/src/length.rs b/src/length.rs index 3ea3c18..bc17f1c 100644 --- a/src/length.rs +++ b/src/length.rs @@ -51,9 +51,9 @@ impl HeapSizeOf for Length { } } -impl Deserialize for Length where T: Deserialize { +impl<'de, Unit, T> Deserialize<'de> for Length where T: Deserialize<'de> { fn deserialize(deserializer: D) -> Result - where D: Deserializer { + where D: Deserializer<'de> { Ok(Length(try!(Deserialize::deserialize(deserializer)), PhantomData)) } } diff --git a/src/macros.rs b/src/macros.rs index 2f597cb..a9dc009 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -40,11 +40,11 @@ macro_rules! define_matrix { } } - impl ::serde::Deserialize for $name - where T: ::serde::Deserialize + impl<'de, T, $($phantom),+> ::serde::Deserialize<'de> for $name + where T: ::serde::Deserialize<'de> { fn deserialize(deserializer: D) -> Result - where D: ::serde::Deserializer + where D: ::serde::Deserializer<'de> { let ($($field,)+) = try!(::serde::Deserialize::deserialize(deserializer)); diff --git a/src/rect.rs b/src/rect.rs index 4e9592b..a99f97d 100644 --- a/src/rect.rs +++ b/src/rect.rs @@ -38,9 +38,9 @@ impl HeapSizeOf for TypedRect { } } -impl Deserialize for TypedRect { +impl<'de, T: Copy + Deserialize<'de>, U> Deserialize<'de> for TypedRect { fn deserialize(deserializer: D) -> Result - where D: Deserializer + where D: Deserializer<'de> { let (origin, size) = try!(Deserialize::deserialize(deserializer)); Ok(TypedRect::new(origin, size)) diff --git a/src/scale_factor.rs b/src/scale_factor.rs index b92467e..5ff147f 100644 --- a/src/scale_factor.rs +++ b/src/scale_factor.rs @@ -45,9 +45,9 @@ impl HeapSizeOf for ScaleFactor { } } -impl Deserialize for ScaleFactor where T: Deserialize { +impl<'de, T, Src, Dst> Deserialize<'de> for ScaleFactor where T: Deserialize<'de> { fn deserialize(deserializer: D) -> Result, D::Error> - where D: Deserializer { + where D: Deserializer<'de> { Ok(ScaleFactor(try!(Deserialize::deserialize(deserializer)), PhantomData)) } }