trait Identity { type Identity; } impl<T> Identity for T { type Identity = T; } trait Trait { type Assoc: Identity; fn tokenize(&self) -> <Self::Assoc as Identity>::Identity; } impl Trait for () { type Assoc = DoesNotExist; //~^ ERROR cannot find type `DoesNotExist` in this scope fn tokenize(&self) -> <Self::Assoc as Identity>::Identity { unimplemented!() } } fn main() {}