nvim_gtk/nvim/ext.rs
1use std::result;
2
3use neovim_lib::CallError;
4
5pub trait ErrorReport<T> {
6 fn report_err(&self);
7
8 fn ok_and_report(self) -> Option<T>;
9}
10
11impl<T> ErrorReport<T> for result::Result<T, CallError> {
12 fn report_err(&self) {
13 if let Err(ref err) = *self {
14 error!("{}", err);
15 }
16 }
17
18 fn ok_and_report(self) -> Option<T> {
19 self.report_err();
20 self.ok()
21 }
22}