Крейт (Crates)
Крейт — це одиниця компіляції в Rust. Щоразу, коли викликається rustc some_file.rs,
some_file.rs розглядається як файл крейту. Якщо some_file.rs має всередині
оголошення mod, тоді вміст файлів модулів буде вставлено в місця, де в файлі
крейту знайдено оголошення mod, перед тим, як компілятор обробить його.
Іншими словами, модулі не компілюються
окремо, компілюються лише крейти.
Крейт можна скомпілювати у бінарний файл або в бібліотеку. За замовчуванням, rustc
створюватиме бінарний файл із крейту. Цю поведінку можна змінити, передавши
прапорець --crate-type до lib.