From 870305aa9317c2c802271b3f0d9add84c97153fb Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Fri, 7 Apr 2017 10:11:08 -0700 Subject: [PATCH] Unignore Serializer::serialize_seq example --- serde/src/ser/mod.rs | 39 ++++++++++++++++++++++++++++++++++----- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/serde/src/ser/mod.rs b/serde/src/ser/mod.rs index e06eaefd..a06a6dce 100644 --- a/serde/src/ser/mod.rs +++ b/serde/src/ser/mod.rs @@ -510,12 +510,41 @@ pub trait Serializer: Sized { /// not be computable before the sequence is iterated. Some serializers only /// support sequences whose length is known up front. /// - /// ```rust,ignore - /// let mut seq = serializer.serialize_seq(Some(self.len()))?; - /// for element in self { - /// seq.serialize_element(element)?; + /// ```rust + /// # use std::marker::PhantomData; + /// # + /// # struct Vec(PhantomData); + /// # + /// # impl Vec { + /// # fn len(&self) -> usize { + /// # unimplemented!() + /// # } + /// # } + /// # + /// # impl<'a, T> IntoIterator for &'a Vec { + /// # type Item = &'a T; + /// # type IntoIter = Box>; + /// # fn into_iter(self) -> Self::IntoIter { + /// # unimplemented!() + /// # } + /// # } + /// # + /// # use serde::{Serialize, Serializer}; + /// # use serde::ser::SerializeSeq; + /// # + /// impl Serialize for Vec + /// where T: Serialize + /// { + /// fn serialize(&self, serializer: S) -> Result + /// where S: Serializer + /// { + /// let mut seq = serializer.serialize_seq(Some(self.len()))?; + /// for element in self { + /// seq.serialize_element(element)?; + /// } + /// seq.end() + /// } /// } - /// seq.end() /// ``` fn serialize_seq(self, len: Option) -> Result;