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