From 91a0f248a1259b26fef63ddf59e11fbb032bf7b6 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Thu, 13 Apr 2017 22:58:47 -0700 Subject: [PATCH] More readable MapDeserializer bounds --- serde/src/de/value.rs | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/serde/src/de/value.rs b/serde/src/de/value.rs index 7e859f30..76b2ea84 100644 --- a/serde/src/de/value.rs +++ b/serde/src/de/value.rs @@ -11,6 +11,7 @@ use lib::*; use de::{self, IntoDeserializer, Expected, SeqVisitor}; +use self::private::{First, Second}; //////////////////////////////////////////////////////////////////////////////// @@ -641,12 +642,12 @@ pub struct MapDeserializer<'de, I, E> where I: Iterator, I::Item: private::Pair, - ::First: IntoDeserializer<'de, E>, - ::Second: IntoDeserializer<'de, E>, + First: IntoDeserializer<'de, E>, + Second: IntoDeserializer<'de, E>, E: de::Error, { iter: iter::Fuse, - value: Option<::Second>, + value: Option>, count: usize, lifetime: PhantomData<&'de ()>, error: PhantomData, @@ -656,10 +657,8 @@ impl<'de, I, E> MapDeserializer<'de, I, E> where I: Iterator, I::Item: private::Pair, - ::First: IntoDeserializer<'de, - E>, - ::Second: IntoDeserializer<'de, - E>, + First: IntoDeserializer<'de, E>, + Second: IntoDeserializer<'de, E>, E: de::Error, { /// Construct a new `MapDeserializer`. @@ -689,9 +688,7 @@ where } } - fn next_pair - (&mut self,) - -> Option<(::First, ::Second)> { + fn next_pair(&mut self) -> Option<(First, Second)> { match self.iter.next() { Some(kv) => { self.count += 1; @@ -705,8 +702,8 @@ where impl<'de, I, E> de::Deserializer<'de> for MapDeserializer<'de, I, E> where I: Iterator, I::Item: private::Pair, - ::First: IntoDeserializer<'de, E>, - ::Second: IntoDeserializer<'de, E>, + First: IntoDeserializer<'de, E>, + Second: IntoDeserializer<'de, E>, E: de::Error { type Error = E; @@ -746,8 +743,8 @@ impl<'de, I, E> de::Deserializer<'de> for MapDeserializer<'de, I, E> impl<'de, I, E> de::MapVisitor<'de> for MapDeserializer<'de, I, E> where I: Iterator, I::Item: private::Pair, - ::First: IntoDeserializer<'de, E>, - ::Second: IntoDeserializer<'de, E>, + First: IntoDeserializer<'de, E>, + Second: IntoDeserializer<'de, E>, E: de::Error { type Error = E; @@ -799,8 +796,8 @@ impl<'de, I, E> de::MapVisitor<'de> for MapDeserializer<'de, I, E> impl<'de, I, E> de::SeqVisitor<'de> for MapDeserializer<'de, I, E> where I: Iterator, I::Item: private::Pair, - ::First: IntoDeserializer<'de, E>, - ::Second: IntoDeserializer<'de, E>, + First: IntoDeserializer<'de, E>, + Second: IntoDeserializer<'de, E>, E: de::Error { type Error = E; @@ -828,8 +825,8 @@ impl<'de, I, E> de::SeqVisitor<'de> for MapDeserializer<'de, I, E> impl<'de, I, E> Clone for MapDeserializer<'de, I, E> where I: Iterator + Clone, I::Item: private::Pair, - ::First: IntoDeserializer<'de, E>, - ::Second: IntoDeserializer<'de, E> + Clone, + First: IntoDeserializer<'de, E>, + Second: IntoDeserializer<'de, E> + Clone, E: de::Error { fn clone(&self) -> Self { @@ -849,8 +846,8 @@ impl<'de, I, E> Clone for MapDeserializer<'de, I, E> impl<'de, I, E> Debug for MapDeserializer<'de, I, E> where I: Iterator + Debug, I::Item: private::Pair, - ::First: IntoDeserializer<'de, E>, - ::Second: IntoDeserializer<'de, E> + Debug, + First: IntoDeserializer<'de, E>, + Second: IntoDeserializer<'de, E> + Debug, E: de::Error { fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result { @@ -1098,4 +1095,7 @@ mod private { self } } + + pub type First = ::First; + pub type Second = ::Second; }