メイン関数
main関数 を含むクレートは実行可能ファイルにコンパイルできる。もし
main関数があれば、それは引数をとってはならず、いかなるトレイトやライフタイムの境界も宣言してはならず、いかなる where 句 も所持してはならず、またTerminationトレイトを実装する型を戻さなければならない。fn main() {}fn main() -> ! { std::process::exit(0); }fn main() -> impl std::process::Termination { std::process::ExitCode::SUCCESS }
main関数はインポートになりうる、例えば、外部のクレートや現在のそれから。mod foo { pub fn bar() { println!("Hello, world!"); } } use foo::bar as main;Note:
Terminationの実装を伴う標準ライブラリに含まれる型:
()!InfallibleExitCodeResult<T, E> where T: Termination, E: Debug