27 lines
1016 B
Plaintext
27 lines
1016 B
Plaintext
|
error[E0283]: type annotations needed
|
||
|
--> $DIR/auto-trait-selection-freeze.rs:19: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-freeze.rs:16:1
|
||
|
|
|
||
|
LL | impl<T: Freeze> Trait<u32> for T {}
|
||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
LL | impl<T> Trait<i32> for T {}
|
||
|
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
note: required by a bound in `is_trait`
|
||
|
--> $DIR/auto-trait-selection-freeze.rs:11: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`.
|