// check-pass pub trait ResultExt { type Ok; fn err_eprint_and_ignore(self) -> Option; } impl ResultExt for std::result::Result where E: std::error::Error, { type Ok = O; fn err_eprint_and_ignore(self) -> Option where Self: , { match self { Err(e) => { eprintln!("{}", e); None } Ok(o) => Some(o), } } } fn main() {}