Edition Strategy
에디션은 버전 업그레이드가 아니라 문법 경계 선택이다
컴파일러는 계속 최신으로 올릴 수 있지만, 크레이트가 어떤 문법 규칙을 채택할지는 edition 값이 정한다.
불변 경계
릴리즈
6주 단위로 컴파일러와 표준 라이브러리가 개선된다.
에디션
몇 년 단위로 문법과 관용구 묶음을 선택한다.
링크
서로 다른 에디션 크레이트도 같은 프로그램 안에서 함께 쓸 수 있다.
01
현 에디션 확인
Cargo.tomledition 값이 문법 해석 기준이다.
02
차이 검토
새 키워드, 경고, 관용구 변화가 현재 코드와 충돌하는지 확인한다.
03
도구 보조
cargo fix로 기계적 변경을 먼저 적용하고 수동 검토를 남긴다.
04
팀 기준 고정
새 프로젝트 기본값과 기존 프로젝트 전환 시점을 문서화한다.
질문 확인 위치 결정 기준
컴파일러를 올려도 되는가 CI, 테스트, 의존성 호환성 에디션 변경 없이도 최신 안정 버전은 계속 받을 수 있다.
에디션을 바꿔도 되는가 Cargo.toml, 키워드 충돌, lint 문법 해석 변화와 팀 학습 비용을 함께 본다.
의존성이 다른 에디션인가 크레이트 메타데이터 에디션이 달라도 링크 가능하므로 무리하게 맞추지 않는다.
업그레이드
컴파일러 버전 상승과 에디션 전환을 같은 작업으로 묶지 않는다.
자동 수정
도구가 바꾼 diff도 공개 API와 동작 기준으로 다시 검토한다.
팀 운영
새 팀원이 프로젝트 문법 기준을 바로 알 수 있게 에디션을 명시한다.