@@ -178,13 +178,13 @@ impl<'a, W: Write + 'a, C> Serializer<W, C> {
178178
179179impl < ' a , W : Write + ' a , C : SerializerConfig > Serializer < W , C > {
180180 #[ inline]
181- fn maybe_unknown_len_compound < F > ( & ' a mut self , len : Option < usize > , f : F ) -> Result < MaybeUnknownLengthCompound < ' a , W , C > , Error >
181+ fn maybe_unknown_len_compound < F > ( & ' a mut self , len : Option < u32 > , f : F ) -> Result < MaybeUnknownLengthCompound < ' a , W , C > , Error >
182182 where F : Fn ( & mut W , u32 ) -> Result < Marker , ValueWriteError >
183183 {
184184 Ok ( MaybeUnknownLengthCompound {
185185 compound : match len {
186186 Some ( len) => {
187- f ( & mut self . wr , len as u32 ) ?;
187+ f ( & mut self . wr , len) ?;
188188 None
189189 }
190190 None => Some ( UnknownLengthCompound :: from ( & * self ) ) ,
@@ -633,8 +633,9 @@ where
633633 value. serialize ( self )
634634 }
635635
636+ #[ inline]
636637 fn serialize_seq ( self , len : Option < usize > ) -> Result < Self :: SerializeSeq , Error > {
637- self . maybe_unknown_len_compound ( len, |wr, len| encode:: write_array_len ( wr, len) )
638+ self . maybe_unknown_len_compound ( len. map ( |len| len as u32 ) , |wr, len| encode:: write_array_len ( wr, len) )
638639 }
639640
640641 //TODO: normal compund
@@ -661,8 +662,9 @@ where
661662 self . serialize_tuple ( len)
662663 }
663664
665+ #[ inline]
664666 fn serialize_map ( self , len : Option < usize > ) -> Result < Self :: SerializeMap , Error > {
665- self . maybe_unknown_len_compound ( len, |wr, len| encode:: write_map_len ( wr, len) )
667+ self . maybe_unknown_len_compound ( len. map ( |len| len as u32 ) , |wr, len| encode:: write_map_len ( wr, len) )
666668 }
667669
668670 fn serialize_struct ( self , _name : & ' static str , len : usize ) ->
0 commit comments