追記:以下の記述は古くなっており、現在(バージョン0.12)のモジュールシステムとは異なる。 Rust 言語のモジュールシステム、なかなかイケてる。 概略 1ソースファイルが1モジュール(=1つの名前空間)になる。ライブラリや実行ファイルは1つ以上のモジュールからなり、クレート(crate)という単位にまとまる。クレートも1つの名前空間を構成する。クレートはバージョン番号や UUID によって一意に識別されるので、名前空間の衝突を回避できる。 クレートの使用 たとえば、 Rust の標準ライブラリである std クレートを使うには use std; fn main() { std::io::println("hello"); }のように use 文でクレートの使用を宣言する。 std クレートは現在のスコープの std 名前空間にインポートされる。また、クレート名と異なる名前空間にインポー