impl<T> LoggableError<T> for anyhow::Result<T> {
fn print_error<F: Fn(&str)>(self, fun: F) -> Self {
if let Err(ref err) = self {
let mut msg = format!("ERROR: {}", err);
for cause in err.chain().skip(1) {
msg = format!("{msg}\nbecause: {cause}");
}
fun(&msg);
}
self
}
}