Deref coercion은 참조 타입을 필요한 인자 타입까지 단계적으로 맞춘다
함수가 &str을 원할 때 &String이 들어오면 컴파일러가 deref를 삽입해 참조 대상을 좁힌다.
호출자가 넘긴 참조
컴파일러가 deref 삽입
함수 인자 타입과 일치
명시 변환 없이 호출
| 구분 | 의미 | 판단 |
|---|---|---|
| &T to &U | T: Deref<Target=U> | 읽기 참조 변환 |
| &mut T to &mut U | DerefMut | 수정 참조 변환 |
| 남용 주의 | 암시적 변환이 과하면 | API 경계가 흐려짐 |
핵심 Deref coercion은 소유권 이동이 아니라 참조 대상 타입을 맞추는 암시 변환이다.