rustc seems to accept this under stable, but not beta or nightly.
playpen repro
trait T {
type T;
}
struct S;
impl T for S {
type T = S;
}
trait T2 {
type T: Iterator<Item=<S as T>::T>;
}
error: unable to infer enough type information about `_`; type annotations or generic parameter binding required