Rust trait

같은 이름 메서드 해소 경로

여러 트레이트와 타입이 같은 이름의 메서드를 가질 때는 호출 문맥만으로 부족할 수 있습니다. 완전 정규화 문법은 어떤 구현을 부를지 직접 지정합니다.

호출 해석 단계

UFCS
inherent method타입 자체에 구현된 메서드가 우선 고려됩니다.
trait method스코프에 있는 트레이트 구현들이 후보가 됩니다.
ambiguity같은 이름 후보가 여러 개면 컴파일러가 결정하지 못합니다.
<Type as Trait>완전 정규화 문법으로 구현을 지정합니다.
call의도한 메서드나 연관 함수를 호출합니다.
후보 수집타입 확인모호성정규화호출

쓸 때

disambiguate
같은 메서드명여러 트레이트가 같은 이름을 제공할 때 필요합니다.
연관 함수self가 없는 함수는 타입 추론이 더 어려울 수 있습니다.
문서성어떤 트레이트 구현을 쓰는지 코드에 명확히 남깁니다.
남용 금지보통은 일반 메서드 호출이 더 읽기 쉽습니다.