diff --git a/src/refbox.rs b/src/refbox.rs index c158b8d..fb91124 100644 --- a/src/refbox.rs +++ b/src/refbox.rs @@ -168,7 +168,7 @@ impl<'a, T> serde::Serialize for RefBox<'a, T> } #[cfg(feature = "serde")] -impl serde::Deserialize for RefBox<'static, T> { +impl<'a, T: serde::Deserialize> serde::Deserialize for RefBox<'a, T> { fn deserialize(deserializer: &mut D) -> Result where D: serde::Deserializer { @@ -357,7 +357,7 @@ impl<'a, T> serde::Serialize for SliceBox<'a, T> } #[cfg(feature = "serde")] -impl serde::Deserialize for SliceBox<'static, T> { +impl<'a, T: serde::Deserialize> serde::Deserialize for SliceBox<'a, T> { fn deserialize(deserializer: &mut D) -> Result where D: serde::Deserializer { @@ -400,7 +400,7 @@ impl Decodable for RefBoxInner<'static, A, B> { } #[cfg(feature = "serde")] -impl serde::Deserialize for RefBoxInner<'static, A, B> +impl<'a, A: ?Sized, B> serde::Deserialize for RefBoxInner<'a, A, B> where B: serde::Deserialize, { fn deserialize(deserializer: &mut D) -> Result