1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
pub trait ResultExt { type Ok; fn err_eprint_and_ignore(self) -> Option<Self::Ok>; } impl<O, E> ResultExt for std::result::Result<O, E> where E: std::error::Error, { type Ok = O; fn err_eprint_and_ignore(self) -> Option<O> { match self { Err(e) => { eprintln!("{}", e); None } Ok(o) => Some(o), } } }