error[E0283]: type annotations needed --> $DIR/leak-check-in-selection-6-ambig-unify.rs:30:5 | LL | impls_trait::<(), _, _>() | ^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type of the type parameter `U` declared on the function `impls_trait` | note: multiple `impl`s satisfying `(): Trait<_, _>` found --> $DIR/leak-check-in-selection-6-ambig-unify.rs:26:1 | LL | impl Trait for () where for<'b> (): LeakCheckFailure<'static, 'b, V> {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ LL | impl Trait for () {} | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ note: required by a bound in `impls_trait` --> $DIR/leak-check-in-selection-6-ambig-unify.rs:28:19 | LL | fn impls_trait, U: Id, V>() {} | ^^^^^^^^^^^ required by this bound in `impls_trait` error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0283`.