pub trait DebugResult : Sized { fn map_dbg String>(self, f: F) -> Self; fn map_dbg_str(self, s: &str) -> Self { self.map_dbg(|_| format!("{}", s)) } fn map_dbg_err String>(self, f: F) -> Self; fn map_dbg_err_str(self, s: &str) -> Self { self.map_dbg_err(|_| format!("{}", s)) } } impl DebugResult for Result { fn map_dbg String>(self, f: F) -> Self { self.map(|t| { debug!("{}", f(&t)); t }) } fn map_dbg_err String>(self, f: F) -> Self { self.map_err(|e| { debug!("{}", f(&e)); e }) } }