Rustのmain関数の戻り値で<sysexits.h>で定義されている終了コードを使えるようにするライブラリのsysexits-rs (sysexits) を作成しました。
Rust 1.61.0からmain関数の戻り値で任意の終了コードを返せるようになったので、<sysexits.h>で定義されている終了コードをこれに利用できたら便利だと思ったのがこのライブラリを作成した理由です。
使用例
使用例は以下の通りです1。
fn main() -> sysexits::ExitCode {
let bytes = [0xf0, 0x9f, 0x92, 0x96];
match std::str::from_utf8(&bytes) {
Ok(string) => {
println!("{string}");
sysexits::ExitCode::Ok
}
Err(err) => {
eprintln!("{err}");
sysexits::ExitCode::DataErr
}
}
}