From d5dd02356b0b9bcea180e9fa8ff4295ee6e61983 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Sat, 29 Oct 2022 12:41:22 +0200 Subject: [PATCH] Records and sequences don't need a pushed state --- .../rust/preserves/src/value/packed/writer.rs | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/implementations/rust/preserves/src/value/packed/writer.rs b/implementations/rust/preserves/src/value/packed/writer.rs index a2903c6..59995e0 100644 --- a/implementations/rust/preserves/src/value/packed/writer.rs +++ b/implementations/rust/preserves/src/value/packed/writer.rs @@ -140,8 +140,6 @@ impl Writer for PackedWriter fn boundary(&mut self, b: &B::Type) -> io::Result<()> { match b.closing { Some(B::Item::DictionaryValue) | - Some(B::Item::RecordField) | - Some(B::Item::SequenceValue) | Some(B::Item::SetValue) => self.shift(), _ => @@ -336,25 +334,21 @@ impl Writer for PackedWriter #[inline(always)] fn start_record(&mut self) -> io::Result<()> { - self.write_tag(Tag::Record)?; - self.push() + self.write_tag(Tag::Record) } #[inline(always)] fn end_record(&mut self) -> io::Result<()> { - self.pop(false)?; self.write_tag(Tag::End) } #[inline(always)] fn start_sequence(&mut self) -> io::Result<()> { - self.write_tag(Tag::Sequence)?; - self.push() + self.write_tag(Tag::Sequence) } #[inline(always)] fn end_sequence(&mut self) -> io::Result<()> { - self.pop(false)?; self.write_tag(Tag::End) } @@ -384,8 +378,7 @@ impl Writer for PackedWriter #[inline(always)] fn start_embedded(&mut self) -> io::Result<()> { - self.write_tag(Tag::Embedded)?; - Ok(()) + self.write_tag(Tag::Embedded) } #[inline(always)]