Контейнеры
Контейнер (crate) — единица компиляции в языке Rust.
Когда вызывается rustc some_file.rs, some_file.rs обрабатывается как файл контейнера.
Если в some_file.rs есть декларация mod, то содержимое модуля
будет объединено с файлом контейнера перед его компиляцией.
Другими словами, модули не собираются отдельно, собираются лишь контейнеры.
Контейнер может быть скомпилирован в исполняемый файл или в библиотеку.
По умолчанию rustc создаёт из контейнера исполняемый файл.
Это поведение может быть изменено добавлением флага --crate-type со значением lib к rustc.