From 4751627f1cd14cacdf216188ccbb9ab0831e2b3f Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Wed, 27 Dec 2017 17:32:49 -0500 Subject: [PATCH] Implement De/Serialize for PhantomData where T: ?Sized --- serde/src/de/impls.rs | 6 +++--- serde/src/ser/impls.rs | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/serde/src/de/impls.rs b/serde/src/de/impls.rs index 801d9870..d872cbe6 100644 --- a/serde/src/de/impls.rs +++ b/serde/src/de/impls.rs @@ -548,11 +548,11 @@ where //////////////////////////////////////////////////////////////////////////////// -struct PhantomDataVisitor { +struct PhantomDataVisitor { marker: PhantomData, } -impl<'de, T> Visitor<'de> for PhantomDataVisitor { +impl<'de, T: ?Sized> Visitor<'de> for PhantomDataVisitor { type Value = PhantomData; fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { @@ -568,7 +568,7 @@ impl<'de, T> Visitor<'de> for PhantomDataVisitor { } } -impl<'de, T> Deserialize<'de> for PhantomData { +impl<'de, T: ?Sized> Deserialize<'de> for PhantomData { fn deserialize(deserializer: D) -> Result, D::Error> where D: Deserializer<'de>, diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs index fcda834d..f62a3b2c 100644 --- a/serde/src/ser/impls.rs +++ b/serde/src/ser/impls.rs @@ -111,7 +111,7 @@ where //////////////////////////////////////////////////////////////////////////////// -impl Serialize for PhantomData { +impl Serialize for PhantomData { #[inline] fn serialize(&self, serializer: S) -> Result where