Module system

패키지에서 경로까지 이름을 찾는 층이 이어진다

Cargo가 패키지를 다루고, 컴파일러는 크레이트 루트에서 시작해 모듈 트리를 따라 이름을 해석합니다.

package

Cargo.toml이 묶는 배포 단위

my-project
crate

컴파일러가 한 번에 보는 단위

src/main.rs 또는 src/lib.rs
module

코드를 이름 있는 영역으로 나누는 트리

mod front_of_house
path

트리 안의 아이템을 가리키는 주소

crate::front_of_house::hosting
핵심

구조를 나누는 목적은 파일을 늘리는 것이 아니라, 공개 인터페이스와 내부 구현을 분리해 이름을 예측 가능하게 만드는 것입니다.