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}