Macro try_exit_code

Source
macro_rules! try_exit_code {
    ($e:expr) => { ... };
}
Expand description

Macro to propagate ExitCodes in the same way as the try! macro/the ? operator.

Ideally, we would make ExitCode implement std::ops::Try, but that’s a nightly API. We could also make ExitCode implement Error, but this interacts badly with eyre::Result, because all Errors are convertible to eyre::Error, so our exit codes get treated at the same as other errors. So, instead, we have this macro to accomplish the same thing, but for Result<T, ExitCode>s specifically.