From 7d16710fb4d1acae24cc43133762d2af040a3082 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Thu, 13 Apr 2017 13:55:51 -0700 Subject: [PATCH] Add an example to Serialize --- serde/src/ser/mod.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/serde/src/ser/mod.rs b/serde/src/ser/mod.rs index d329e17d..e3549207 100644 --- a/serde/src/ser/mod.rs +++ b/serde/src/ser/mod.rs @@ -200,6 +200,29 @@ pub trait Serialize { /// See the [Implementing `Serialize`] section of the manual for more /// information about how to implement this method. /// + /// ```rust + /// use serde::ser::{Serialize, Serializer, SerializeStruct}; + /// + /// struct Person { + /// name: String, + /// age: u8, + /// phones: Vec, + /// } + /// + /// // This is what #[derive(Serialize)] would generate. + /// impl Serialize for Person { + /// fn serialize(&self, serializer: S) -> Result + /// where S: Serializer + /// { + /// let mut s = serializer.serialize_struct("Person", 3)?; + /// s.serialize_field("name", &self.name)?; + /// s.serialize_field("age", &self.age)?; + /// s.serialize_field("phones", &self.phones)?; + /// s.end() + /// } + /// } + /// ``` + /// /// [Implementing `Serialize`]: https://serde.rs/impl-serialize.html fn serialize(&self, serializer: S) -> Result where