同じメソッドを呼ぶ場合、[[rustc]]にどれを使用したいのか伝えるため、明確にフルパスを指定する記法。 ```rust <Type as Trait>::function(receiver_if_method, next_arg, ...); ``` たとえば以下のような`Say`[[トレイト]]と`Human`構造体があったとき ```rust trait Say { fn hello() -> String; } struct Human {} impl Say for Human { fn hello() -> String { String::from("Hello") } } impl Human { fn hello() -> String { String::from("こんにちは") } } ``` 通常の書き方と[[フルパス記法]]はそれぞれ以下のようになる。 ```rust fn main() { // 通常の書き方 -> こんにちは eprintln!("Human::hello() = {:?}", Human::hello()); // フルパス記法 -> Hello eprintln!("Human::hello() = {:?}", <Human as Say>::hello()); } ```