fn pretty_error(err: &failure::Error) -> String {
    let mut pretty = err.to_string();
    let mut prev = err.as_fail();
    while let Some(next) = prev.cause() {
        pretty.push_str(": ");
        pretty.push_str(&next.to_string());
        prev = next;
    }

    pretty.push_str(&format!("{}", err.backtrace()));
    pretty
}
/// Return a prettily formatted error, including its entire causal chain.
Return a prettily formatted error, including its entire causal chain.
Return a prettily formatted error including its entire causal chain .
fn pretty_error(err: &failure::Error) -> String {
    let mut pretty = err.to_string();
    let mut prev = err.as_fail();
    while let Some(next) = prev.cause() {
        pretty.push_str(": ");
        pretty.push_str(&next.to_string());
        prev = next;
    }
    pretty.push_str(&format!("{}", err.backtrace()));
    pretty
}
fn pretty_error ( err : & failure :: Error ) -> String { let mut pretty = err . to_string ( ) ; let mut prev = err . as_fail ( ) ; while let Some ( next ) = prev . cause ( ) { pretty . push_str ( " " ) ; pretty . push_str ( & next . to_string ( ) ) ; prev = next ; } pretty . push_str ( & format ! ( " " err backtrace ( ) ) ) ; pretty }
Return a prettily formatted error, including its entire causal chain.
Return a prettily formatted error including its entire causal chain .
err
&failure::Error
err
&failure::Error