error[E0284]: type annotations needed --> $DIR/issue-69683.rs:30:10 | LL | 0u16.foo(b); | ^^^ | = note: cannot satisfy `>::Array == [u8; 3]` help: try using a fully qualified path to specify the expected types | LL | >::foo(0u16, b); | +++++++++++++++++++++ ~ error[E0283]: type annotations needed --> $DIR/issue-69683.rs:30:10 | LL | 0u16.foo(b); | ^^^ | note: multiple `impl`s satisfying `u8: Element<_>` found --> $DIR/issue-69683.rs:5:1 | LL | impl Element<()> for T { | ^^^^^^^^^^^^^^^^^^^^^^^^^ ... LL | impl, S> Element<[S; 3]> for T { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: required by a bound in `Foo::foo` --> $DIR/issue-69683.rs:15:9 | LL | u8: Element, | ^^^^^^^^^^ required by this bound in `Foo::foo` LL | { LL | fn foo(self, x: >::Array); | --- required by a bound in this help: try using a fully qualified path to specify the expected types | LL | >::foo(0u16, b); | +++++++++++++++++++++ ~ error: aborting due to 2 previous errors Some errors have detailed explanations: E0283, E0284. For more information about an error, try `rustc --explain E0283`.