diff --git a/implementations/rust/src/value/decoder.rs b/implementations/rust/src/value/decoder.rs index 0592cbb..92386df 100644 --- a/implementations/rust/src/value/decoder.rs +++ b/implementations/rust/src/value/decoder.rs @@ -122,7 +122,10 @@ impl<'a, 'b, R: Read, N: NestedValue> Decoder<'a, 'b, R, N> { } let mut bs = vec![0; n]; match self.read.read_exact(&mut bs) { - Ok(()) => Ok(bs), + Ok(()) => { + self.index += n; + Ok(bs) + } Err(e) => if e.kind() == std::io::ErrorKind::UnexpectedEof { Err(Error::Eof)