Skip to content

Commit 1d9856b

Browse files
committed
Chop u32 first
1 parent 0992f9a commit 1d9856b

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

Diff for: rmp-serde/src/encode.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -178,13 +178,13 @@ impl<'a, W: Write + 'a, C> Serializer<W, C> {
178178

179179
impl<'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

Comments
 (0)