use std::result; use neovim_lib::CallError; pub trait ErrorReport { fn report_err(&self); fn ok_and_report(self) -> Option; } impl ErrorReport for result::Result { fn report_err(&self) { if let Err(ref err) = *self { error!("{}", err); } } fn ok_and_report(self) -> Option { self.report_err(); self.ok() } }