error[E0283]: type annotations needed --> $DIR/issue-29147.rs:21:13 | LL | let _ = >::xxx; | ^^^^^^^^^^^^ cannot infer type for struct `S5<_>` | note: multiple `impl`s satisfying `S5<_>: Foo` found --> $DIR/issue-29147.rs:17:1 | LL | impl Foo for S5 { fn xxx(&self) {} } | ^^^^^^^^^^^^^^^^^^^^ LL | impl Foo for S5 { fn xxx(&self) {} } | ^^^^^^^^^^^^^^^^^^^^ note: required by `Foo::xxx` --> $DIR/issue-29147.rs:10:13 | LL | trait Foo { fn xxx(&self); } | ^^^^^^^^^^^^^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0283`.