Generic symbols

꺾쇠괄호와 콜론은 위치를 먼저 보면 의미가 갈라진다

<...>, ::, :, +는 제네릭 타입, 표현식의 타입 힌트, 트레이트 바운드, 연관 아이템 경로에서 서로 다른 일을 한다.

표 B-4와 B-5를 이어 읽는 법

syntax context

타입에서의 제네릭

Vec<u8>

경로 뒤 꺾쇠괄호는 타입 매개변수에 어떤 타입을 넣을지 지정한다.

표현식의 터보피쉬

parse::<i32>()

메서드 호출에서 결과 타입을 못 찾을 때 ::<...>로 힌트를 준다.

콜론의 바운드

T: U + 'a

T가 구현해야 할 트레이트와 필요한 라이프타임 조건을 나란히 제한한다.

연관 아이템 경로

<T as Trait>::method

같은 이름의 메서드가 겹칠 때 타입과 트레이트를 함께 적어 명확히 한다.

path ::<T> T: U as Trait
해석 기준

같은 기호라도 타입 위치, 표현식 위치, 바운드 위치에 따라 의미가 바뀐다. 먼저 주변 문법을 확인한 뒤 표의 해당 구역으로 이동하면 빠르게 찾을 수 있다.