From 763ab9c2a1cd2b033b2dd6399812f65af8bfe44c Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Sat, 4 Feb 2017 12:21:45 +0100 Subject: [PATCH] Use serialize_seq! to implement Serialize for [T] --- serde/src/ser/impls.rs | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs index 61f2c1fd..93c00dc4 100644 --- a/serde/src/ser/impls.rs +++ b/serde/src/ser/impls.rs @@ -144,24 +144,6 @@ impl Serialize for PhantomData { } } - -/////////////////////////////////////////////////////////////////////////////// - -impl Serialize for [T] - where T: Serialize, -{ - #[inline] - fn serialize(&self, serializer: S) -> Result - where S: Serializer, - { - let mut seq = try!(serializer.serialize_seq(Some(self.len()))); - for e in self { - try!(seq.serialize_element(e)); - } - seq.end() - } -} - /////////////////////////////////////////////////////////////////////////////// macro_rules! array_impls { @@ -232,6 +214,12 @@ macro_rules! serialize_seq { } } +impl Serialize for [T] + where T: Serialize, +{ + serialize_seq!(); +} + #[cfg(any(feature = "std", feature = "collections"))] impl Serialize for BinaryHeap where T: Serialize + Ord