Module Path

경로가 맞아도 공개 단계가 막히면 호출할 수 없다

Rust 모듈은 기본 비공개다. 경로의 각 단계가 접근 가능해야 최종 함수까지 도달한다.

접근 사다리

pub 경계

절대 경로

crate에서 시작해 위치를 고정하므로 호출부가 이동해도 흔들림이 적다.

상대 경로

현재 모듈을 기준으로 짧게 쓰지만 호출 위치가 바뀌면 함께 조정해야 한다.

공개 규칙

pub mod만으로 내부 함수가 공개되지는 않는다. 함수에도 pub이 필요하다.

cratemoditemcall
읽는 법

경로 오류와 공개 오류는 다르다. 이름을 찾았어도 private이면 컴파일러가 접근을 막는다.