error[E0283]: type annotations needed --> $DIR/issue-86162-1.rs:7:5 | LL | foo(gen()); //<- Do not suggest `foo::()`! | ^^^ cannot infer type for type parameter `impl Clone` declared on the function `foo` | = note: cannot satisfy `_: Clone` note: required by a bound in `foo` --> $DIR/issue-86162-1.rs:3:16 | LL | fn foo(x: impl Clone) {} | ^^^^^ required by this bound in `foo` error: aborting due to previous error For more information about this error, try `rustc --explain E0283`.