use std::error;
use std::fmt;
pub struct TerminatingStatus<E: error::Error = crate::Status> {
error: E,
}
impl<E: error::Error> From<E> for TerminatingStatus<E> {
fn from(error: E) -> Self {
Self { error }
}
}
impl<E: error::Error> fmt::Debug for TerminatingStatus<E> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
writeln!(f, "{}", self.error)?;
for source in crate::Chain::new(self.error.source()) {
writeln!(f)?;
writeln!(f, "Caused by: {}", source)?;
}
Ok(())
}
}