type inference

타입은 사용 맥락으로 추론하고 모호하면 어노테이션으로 확정한다

컴파일러는 리터럴과 연산, 함수 인자 위치를 보고 타입을 좁히며, 후보가 여러 개면 개발자가 방향을 준다.

01 literal42 또는 3.0

초기 후보 생성

02 use site연산·인자·반환 위치

후보 좁힘

03 ambiguousparse 등 후보 다수

컴파일러가 결정 못 함

04 annotationlet x: u32

타입 확정

구분의미판단
정수 기본i32맥락 없을 때
실수 기본f64맥락 없을 때
parse()결과 타입 필요::<u32> 또는 변수 타입

핵심 타입 추론은 마법이 아니라 주변 사용처에서 충분한 단서를 모으는 과정이다.