| error[E0283]: type annotations needed |
| --> $DIR/auto-trait-selection.rs:15:16 |
| | |
| LL | if false { is_trait(foo()) } else { Default::default() } |
| | ^^^^^^^^ cannot infer type of the type parameter `U` declared on the function `is_trait` |
| | |
| note: multiple `impl`s satisfying `impl Sized: Trait<_>` found |
| --> $DIR/auto-trait-selection.rs:12:1 |
| | |
| LL | impl<T: Send> Trait<u32> for T {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| LL | impl<T> Trait<i32> for T {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: required by a bound in `is_trait` |
| --> $DIR/auto-trait-selection.rs:7:16 |
| | |
| LL | fn is_trait<T: Trait<U>, U: Default>(_: T) -> U { |
| | ^^^^^^^^ required by this bound in `is_trait` |
| help: consider specifying the generic arguments |
| | |
| LL | if false { is_trait::<_, U>(foo()) } else { Default::default() } |
| | ++++++++ |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0283`. |