trait Get { type Value; fn get(&self) -> ::Value; } fn get(x: T, y: U) -> Get::Value {} //~^ ERROR ambiguous associated type trait Grab { type Value; fn grab(&self) -> Grab::Value; //~^ ERROR ambiguous associated type fn get(&self) -> Get::Value; //~^ ERROR ambiguous associated type } trait Bar {} trait Foo where Foo::Assoc: Bar { //~^ ERROR ambiguous associated type type Assoc; } type X = std::ops::Deref::Target; //~^ ERROR ambiguous associated type fn main() { }