クレート

クレートはRustにおける編集ユニットです。rustc some_file.rsが呼び出された時、 some_file.rsクレートファイルとして扱われます。もしsome_file.rs内にmod 宣言があれば、モジュールファイルの要素がコンパイラを実行するに挿入されます。 言い換えれば、モジュールは独立してコンパイルされず、クレートのみがコンパイルされる ということです。

クレートはバイナリまたはライブラリとしてコンパイルできます。デフォルトで、rustc はクレートからバイナリを作ります。このふるまいは--crate-typeフラグにlibを立てる ことによって上書きできます。