error[E0792]: expected generic type parameter, found `&F` --> $DIR/issue-99073.rs:6:11 | LL | fn fix(f: F) -> impl Fn() { | - this generic parameter must be used with a generic type parameter LL | move || f(fix(&f)) | ^^^^^^^^^^ error: concrete type differs from previous defining opaque type use --> $DIR/issue-99073.rs:6:13 | LL | move || f(fix(&f)) | ^^^^^^^ expected `{closure@$DIR/issue-99073.rs:6:3: 6:10}`, got `G` | note: previous use here --> $DIR/issue-99073.rs:5:36 | LL | fn fix(f: F) -> impl Fn() { | ^^^^^^^^^ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0792`.