표현식 위치
산술, 비교, 논리 연산은 값을 계산하고 결과 타입을 만듭니다.
`&`, `*`, `?`, `::`, `=>` 같은 기호는 위치에 따라 의미가 달라지므로 문법 역할을 먼저 분류하면 헷갈림이 줄어듭니다.
산술, 비교, 논리 연산은 값을 계산하고 결과 타입을 만듭니다.
`&`, `&mut`, `*`는 소유권 이동 없이 값 접근 방식을 바꿉니다.
`_`, `..`, `|`, `@`는 값을 분해하거나 조건을 묶는 데 쓰입니다.
`::`, `!`, `=>`는 이름 해석과 매크로 규칙에서 자주 만납니다.
타입 자리인지, 값 자리인지, 패턴 자리인지 먼저 구분합니다.
이 기호가 이동, 빌림, 복사 중 어느 동작을 유발하는지 봅니다.
컴파일러가 어떤 타입을 기대하는지 에러 메시지와 함께 확인합니다.
기호가 헷갈리면 가장 작은 예제로 줄이고 `rustc` 에러가 말하는 기대 타입과 실제 타입을 비교합니다.