Skip to content

Commit 55a7f5c

Browse files
committed
Inline Serializer::serialize_seq into serialize_bytes
1 parent 3ddda75 commit 55a7f5c

File tree

1 file changed

+19
-2
lines changed

1 file changed

+19
-2
lines changed

src/ser.rs

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -187,10 +187,27 @@ where
187187
format_escaped_str(&mut self.writer, &mut self.formatter, value).map_err(Error::io)
188188
}
189189

190-
#[inline]
191190
fn serialize_bytes(self, value: &[u8]) -> Result<()> {
192191
use serde::ser::SerializeSeq;
193-
let mut seq = tri!(self.serialize_seq(Some(value.len())));
192+
tri!(self
193+
.formatter
194+
.begin_array(&mut self.writer)
195+
.map_err(Error::io));
196+
let mut seq = if value.is_empty() {
197+
tri!(self
198+
.formatter
199+
.end_array(&mut self.writer)
200+
.map_err(Error::io));
201+
Compound::Map {
202+
ser: self,
203+
state: State::Empty,
204+
}
205+
} else {
206+
Compound::Map {
207+
ser: self,
208+
state: State::First,
209+
}
210+
};
194211
for byte in value {
195212
tri!(seq.serialize_element(byte));
196213
}

0 commit comments

Comments
 (0)