diff options
Diffstat (limited to 'src/table/merkle.rs')
-rw-r--r-- | src/table/merkle.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/table/merkle.rs b/src/table/merkle.rs index f7dca97b..48d2c5dd 100644 --- a/src/table/merkle.rs +++ b/src/table/merkle.rs @@ -110,9 +110,14 @@ where } fn updater_loop_iter(&self) -> Result<bool, Error> { - if let Some(x) = self.data.merkle_todo.iter()?.next() { + // TODO undo this iter hack + let mut iter = self.data.merkle_todo.iter()?; + if let Some(x) = iter.next() { let (key, valhash) = x?; - self.update_item(&key[..], &valhash[..])?; + let key = key.to_vec(); + let valhash = valhash.to_vec(); + drop(iter); + self.update_item(&key, &valhash)?; Ok(true) } else { Ok(false) |