diff --git a/src/fs.rs b/src/fs.rs index f886cf5..70d9d4e 100644 --- a/src/fs.rs +++ b/src/fs.rs @@ -377,13 +377,11 @@ impl<'file, const SIZE: usize> WriteBuffer<'file, SIZE> { Ok(record) } - pub fn write_node(&mut self, node: &mut Node) -> Result { + pub fn write_node(&mut self, node: &Node) -> Result { if self.remaining() < node.mem_size() { self.flush()?; } - let config = config::standard(); - if node.inner.is_none() { if node.id != EMPTY_RECORD { return Ok(node.id); @@ -392,7 +390,8 @@ impl<'file, const SIZE: usize> WriteBuffer<'file, SIZE> { } let size = { - let inner = node.inner.as_mut().unwrap(); + let inner = node.inner.as_ref().unwrap(); + let config = config::standard(); bincode::encode_into_slice(inner, &mut self.tail(), config).map_err(|e| { io::Error::new( io::ErrorKind::Other,