에디션 경계

컴파일러 버전과 에디션 선택: 서로 다른 축

새 러스트 컴파일러는 예전 에디션을 계속 이해하고, 각 크레이트는 Cargo.toml의 edition 값으로 구문 해석 기준을 고정합니다.

1

rustc 릴리스

6주 주기로 안정화된 기능과 수정 사항을 받아도 기존 에디션 코드는 계속 컴파일될 수 있습니다.

2

Cargo.toml edition

크레이트마다 2015, 2018, 2021 같은 구문 해석 기준을 명시적으로 선택합니다.

3

크레이트 연결

서로 다른 에디션의 의존성도 같은 빌드 그래프에서 링크되어 함께 동작합니다.

에디션이 영향을 주는 지점

구문 해석

새 키워드나 경로 규칙처럼 코드 읽는 방식이 달라질 수 있습니다.

이 변화는 해당 크레이트의 edition 값 안에서만 적용됩니다.

라이브러리 사용

다른 에디션의 의존성을 가져와도 API 호출과 링크는 그대로 이어집니다.

에디션은 바이너리 호환 경계가 아니라 소스 해석 경계입니다.

전환 시점

새 관용구가 필요할 때 cargo fix로 변경 후보를 먼저 확인합니다.

팀은 컴파일러 업데이트와 에디션 전환 일정을 따로 잡을 수 있습니다.

에디션 전략의 핵심은 "최신 rustc를 쓰면 곧바로 새 에디션이 된다"가 아니라, 최신 도구 위에서 각 프로젝트가 전환 속도를 선택한다는 점입니다.