제네릭은 사용된 구체 타입별 코드로 컴파일된다
Rust 제네릭은 런타임 타입 검사보다 컴파일 시점 단형화를 통해 타입별 함수를 만들고 최적화한다.
타입 매개변수
구체 타입 등장
largest_i32 형태
런타임 비용 감소
| 구분 | 의미 | 판단 |
|---|---|---|
| 장점 | 동적 디스패치 없음 | 성능 예측 가능 |
| 비용 | 코드 크기 증가 가능 | 타입별 생성 |
| trait bound | T가 해야 할 일 제한 | 컴파일 시 확인 |
핵심 단형화는 제네릭을 느슨한 타입으로 남기는 것이 아니라 구체 타입 코드로 바꾸는 컴파일 전략이다.