error[E0282]: type annotations needed --> $DIR/multidispatch-convert-ambig-dest.rs:26:5 | LL | test(22, std::default::Default::default()); | ^^^^ cannot infer type for type parameter `U` declared on the function `test` | help: type parameter declared here --> $DIR/multidispatch-convert-ambig-dest.rs:20:11 | LL | fn test(_: T, _: U) | ^ error[E0283]: type annotations needed --> $DIR/multidispatch-convert-ambig-dest.rs:26:5 | LL | test(22, std::default::Default::default()); | ^^^^ cannot infer type for type parameter `U` declared on the function `test` | help: type parameter declared here --> $DIR/multidispatch-convert-ambig-dest.rs:20:11 | LL | fn test(_: T, _: U) | ^ 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 type arguments in the function call | 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`.