Keyword triage

키워드는 단어가 아니라 놓인 자리로 판별한다

같은 철자도 현재 에디션, 문맥, 식별자 자리 여부에 따라 예약어이거나 원시 식별자가 될 수 있습니다.

current

현재 키워드

fn, match, struct처럼 문법 구조를 직접 여는 단어는 이름으로 쓰지 않습니다.

reserved

미래 예약

아직 기능이 없어도 언어 확장을 위해 비워 둔 단어는 식별자 후보에서 제외합니다.

raw

원시 식별자

외부 API 이름이 키워드와 겹치면 r#try처럼 명시적으로 이름임을 표시합니다.

edition

에디션 차이

2015와 2018 이후 코드가 만나는 지점에서는 키워드 승격 여부를 함께 확인합니다.

먼저 보기

이 단어가 함수, 변수, 모듈 이름처럼 식별자 자리에 있는지 확인합니다.

그다음

컴파일 에디션과 외부 크레이트가 작성된 에디션이 다른지 확인합니다.

키워드 충돌은 이름을 바꾸는 문제처럼 보이지만, 실제로는 문맥과 에디션 호환성을 동시에 읽는 문제입니다.