ทุกโปรแกรมและไลบรารีของ Rust ล้วนเป็น crate.
และทุกๆ crate สร้างจากลำดับชั้นของ modules.
ทุกๆ crate ต้องมีโมดูลหลักหนึ่งตัวเสมอ
โมดูล สามารถถือครองได้ทั้ง ตัวแปร, ฟังก์ชัน, structs, traits แบบโกลบอล หรือแม้แต่โมดูลอื่น
Rust ไม่ใช้การจับคู่ 1 ไฟล์ต่อ 1 ลำดับชั้นของโมดูล แต่เราใช้วิธีสร้างโมดูลให้ชัดเจนด้วยมือเราเอง