diff --git a/implementations/rust/preserves/src/value/reader.rs b/implementations/rust/preserves/src/value/reader.rs index a871e27..51c2271 100644 --- a/implementations/rust/preserves/src/value/reader.rs +++ b/implementations/rust/preserves/src/value/reader.rs @@ -260,18 +260,18 @@ pub trait BinarySource<'de>: Sized { } } -pub struct IOBinarySource<'a, R: io::Read + io::Seek> { - pub read: &'a mut R, +pub struct IOBinarySource { + pub read: R, pub buf: Option, } -impl<'a, R: io::Read + io::Seek> IOBinarySource<'a, R> { - pub fn new(read: &'a mut R) -> Self { +impl IOBinarySource { + pub fn new(read: R) -> Self { IOBinarySource { read, buf: None } } } -impl<'de, 'a, R: io::Read + io::Seek> BinarySource<'de> for IOBinarySource<'a, R> { +impl<'de, R: io::Read + io::Seek> BinarySource<'de> for IOBinarySource { type Mark = u64; fn mark(&mut self) -> io::Result {