error[E0282]: type annotations needed --> $DIR/multidispatch-convert-ambig-dest.rs:26:5 | LL | test(22, std::default::Default::default()); | ^^^^ cannot infer type of the type parameter `U` declared on the function `test` | help: consider specifying the generic arguments | LL | test::(22, std::default::Default::default()); | ++++++++++ error[E0283]: type annotations needed --> $DIR/multidispatch-convert-ambig-dest.rs:26:5 | LL | test(22, std::default::Default::default()); | ^^^^ -------------------------------- type must be known at this point | | | cannot infer type of the type parameter `U` declared on the function `test` | note: multiple `impl`s satisfying `i32: Convert<_>` found --> $DIR/multidispatch-convert-ambig-dest.rs:8:1 | LL | impl Convert for i32 { | ^^^^^^^^^^^^^^^^^^^^^^^^ ... LL | impl Convert for i32 { | ^^^^^^^^^^^^^^^^^^^^^^^^^ note: required by a bound in `test` --> $DIR/multidispatch-convert-ambig-dest.rs:21:11 | LL | fn test(_: T, _: U) | ---- required by a bound in this LL | where T : Convert | ^^^^^^^^^^ required by this bound in `test` help: consider specifying the generic arguments | LL | test::(22, std::default::Default::default()); | ++++++++++ error: aborting due to 2 previous errors Some errors have detailed explanations: E0282, E0283. For more information about an error, try `rustc --explain E0282`.