syntax index

연산자와 기호 문맥 지도

같은 기호도 식, 타입, 패턴, 매크로 위치에 따라 의미가 바뀐다. 먼저 문맥을 좁힌 뒤 표에서 의미와 오버로드 가능성을 확인한다.

expr

값을 계산한다

+, &, ?처럼 표현식 안에서 동작하며 일부는 트레이트로 오버로드된다.

type

타입을 제한한다

&T, T: Trait, Vec<T>처럼 타입 관계를 나타낸다.

pattern

모양을 맞춘다

_, @, 범위 패턴처럼 값의 구조를 분해하거나 일부를 무시한다.

macro

코드를 만든다

!, $, 반복 구문은 매크로 호출과 정의에서 별도 규칙을 가진다.

기호
헷갈리는 지점
판별 질문
&
대여, 참조 타입, 비트 연산이 모두 가능하다.
값 앞인지 타입 앞인지, 양쪽에 표현식이 있는지 본다.
:
타입 주석, 구조체 필드, 트레이트 바운드에 등장한다.
왼쪽이 패턴인지 타입 매개변수인지 필드 이름인지 확인한다.
!
매크로 호출, 논리 부정, 하단 타입으로 쓰인다.
식 뒤 호출인지, 값 앞 연산자인지, 타입 자리인지 나눈다.

1. 문맥 좁히기

기호만 외우지 말고 주변 문법이 값 계산인지 타입 선언인지 먼저 확인한다.

2. 표에서 대조

같은 기호의 후보 의미를 비교하고, 오버로드 가능 여부를 같이 본다.

3. 의도 고정

코드를 작성할 때는 타입 안정성과 독자가 읽을 문맥이 흔들리지 않게 쓴다.