fn result_or_usage<T, E>(res: Result<T, E>) -> T
    where E: Error + Debug {
    match res {
        Ok(res)  => res,
        Err(err) => {
            println!("ERROR: {}\n", err);
            usage(1);
        }
    }
}
/// Unwrap a given result (if possible) or print the error message and exit
/// the process printing application usage.
Unwrap a given result (if possible) or print the error message and exit
the process printing application usage.
Unwrap a given result ( if possible ) or print the error message and exit the process printing application usage .
fn result_or_usage<T, E>(res: Result<T, E>) -> T
    where E: Error + Debug {
    match res {
        Ok(res)  => res,
        Err(err) => {
            println!("ERROR: {}\n", err);
            usage(1);
        }
    }
}
fn result_or_usage < T , E > ( res : Result < T , E > ) -> T where E : Error + Debug { match res { Ok ( res ) => res , Err ( err ) => { println ! ( " \n " err ) ; usage ( 1 ) ; } } }
Unwrap a given result (if possible) or print the error message and exit
the process printing application usage.
Unwrap a given result ( if possible ) or print the error message and exit the process printing application usage .
res
Result<T, E>
res
Result<T, E>