From 5d396c4e3b6a878ab16d86d52d5f195be6d55df5 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Thu, 13 Apr 2017 15:41:26 -0700 Subject: [PATCH] Condense the array impls --- serde/src/ser/impls.rs | 60 ++++++++++++------------------------------ 1 file changed, 17 insertions(+), 43 deletions(-) diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs index 29003a90..1590ad60 100644 --- a/serde/src/ser/impls.rs +++ b/serde/src/ser/impls.rs @@ -127,54 +127,28 @@ impl Serialize for [T; 0] { } macro_rules! array_impls { - ($len:expr) => { - impl Serialize for [T; $len] where T: Serialize { - #[inline] - fn serialize(&self, serializer: S) -> Result - where S: Serializer, - { - let mut seq = try!(serializer.serialize_seq_fixed_size($len)); - for e in self { - try!(seq.serialize_element(e)); + ($($len:tt)+) => { + $( + impl Serialize for [T; $len] where T: Serialize { + #[inline] + fn serialize(&self, serializer: S) -> Result + where S: Serializer, + { + let mut seq = try!(serializer.serialize_seq_fixed_size($len)); + for e in self { + try!(seq.serialize_element(e)); + } + seq.end() } - seq.end() } - } + )+ } } -array_impls!(1); -array_impls!(2); -array_impls!(3); -array_impls!(4); -array_impls!(5); -array_impls!(6); -array_impls!(7); -array_impls!(8); -array_impls!(9); -array_impls!(10); -array_impls!(11); -array_impls!(12); -array_impls!(13); -array_impls!(14); -array_impls!(15); -array_impls!(16); -array_impls!(17); -array_impls!(18); -array_impls!(19); -array_impls!(20); -array_impls!(21); -array_impls!(22); -array_impls!(23); -array_impls!(24); -array_impls!(25); -array_impls!(26); -array_impls!(27); -array_impls!(28); -array_impls!(29); -array_impls!(30); -array_impls!(31); -array_impls!(32); +array_impls!(01 02 03 04 05 06 07 08 09 10 + 11 12 13 14 15 16 17 18 19 20 + 21 22 23 24 25 26 27 28 29 30 + 31 32); ////////////////////////////////////////////////////////////////////////////////