From 8aa630ea48fff13c6c880c12d4b67022e476fb11 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Fri, 7 Apr 2017 10:32:01 -0700 Subject: [PATCH] Unignore Serializer::serialize_map example --- serde/src/ser/mod.rs | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/serde/src/ser/mod.rs b/serde/src/ser/mod.rs index 89c9af40..74130bdf 100644 --- a/serde/src/ser/mod.rs +++ b/serde/src/ser/mod.rs @@ -690,12 +690,42 @@ pub trait Serializer: Sized { /// be computable before the map is iterated. Some serializers only support /// maps whose length is known up front. /// - /// ```rust,ignore - /// let mut map = serializer.serialize_map(Some(self.len()))?; - /// for (k, v) in self { - /// map.serialize_entry(k, v)?; + /// ```rust + /// # use std::marker::PhantomData; + /// # + /// # struct HashMap(PhantomData, PhantomData); + /// # + /// # impl HashMap { + /// # fn len(&self) -> usize { + /// # unimplemented!() + /// # } + /// # } + /// # + /// # impl<'a, K, V> IntoIterator for &'a HashMap { + /// # type Item = (&'a K, &'a V); + /// # type IntoIter = Box>; + /// # fn into_iter(self) -> Self::IntoIter { + /// # unimplemented!() + /// # } + /// # } + /// # + /// use serde::{Serialize, Serializer}; + /// use serde::ser::SerializeMap; + /// + /// impl Serialize for HashMap + /// where K: Serialize, + /// V: Serialize + /// { + /// fn serialize(&self, serializer: S) -> Result + /// where S: Serializer + /// { + /// let mut map = serializer.serialize_map(Some(self.len()))?; + /// for (k, v) in self { + /// map.serialize_entry(k, v)?; + /// } + /// map.end() + /// } /// } - /// map.end() /// ``` fn serialize_map(self, len: Option) -> Result;