diff --git a/src/lib.rs b/src/lib.rs index 82f094a..7feaccf 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -299,12 +299,11 @@ impl Database /// # func().unwrap(); /// # } /// ``` - pub fn write(&self, task: T) -> error::Result<()> - where T: FnOnce(&mut Data) + pub fn write(&self, task: T) -> error::Result + where T: FnOnce(&mut Data) -> R { let mut lock = self.data.write().map_err(|_| error::RustbreakErrorKind::Poison)?; - task(&mut lock); - Ok(()) + Ok(task(&mut lock)) } /// Write lock the database and get write access to the `Data` container in a safe way