diff --git a/serde/src/ser/mod.rs b/serde/src/ser/mod.rs index 603ebe0b..524c7514 100644 --- a/serde/src/ser/mod.rs +++ b/serde/src/ser/mod.rs @@ -577,12 +577,33 @@ pub trait Serializer: Sized { /// Begin to serialize a tuple. This call must be followed by zero or more /// calls to `serialize_element`, then a call to `end`. /// - /// ```rust,ignore - /// let mut tup = serializer.serialize_tuple(3)?; - /// tup.serialize_element(&self.0)?; - /// tup.serialize_element(&self.1)?; - /// tup.serialize_element(&self.2)?; - /// tup.end() + /// ```rust + /// use serde::{Serialize, Serializer}; + /// use serde::ser::SerializeTuple; + /// + /// # mod fool { + /// # trait Serialize {} + /// impl Serialize for (A, B, C) + /// # {} + /// # } + /// # + /// # struct Tuple3(A, B, C); + /// # + /// # impl Serialize for Tuple3 + /// where A: Serialize, + /// B: Serialize, + /// C: Serialize + /// { + /// fn serialize(&self, serializer: S) -> Result + /// where S: Serializer + /// { + /// let mut tup = serializer.serialize_tuple(3)?; + /// tup.serialize_element(&self.0)?; + /// tup.serialize_element(&self.1)?; + /// tup.serialize_element(&self.2)?; + /// tup.end() + /// } + /// } /// ``` fn serialize_tuple(self, len: usize) -> Result;