error[E0792]: expected generic type parameter, found `i32` --> $DIR/issue-99073-2.rs:9:22 | LL | fn test(t: T, recurse: bool) -> impl Display { | - this generic parameter must be used with a generic type parameter LL | let f = || { LL | let i: u32 = test::(-1, false); | ^^^^^^^^^^^^^^^^^^^^^^ error: concrete type differs from previous defining opaque type use --> $DIR/issue-99073-2.rs:9:22 | LL | let i: u32 = test::(-1, false); | ^^^^^^^^^^^^^^^^^^^^^^ expected `T`, got `u32` | note: previous use here --> $DIR/issue-99073-2.rs:7:45 | LL | fn test(t: T, recurse: bool) -> impl Display { | ^^^^^^^^^^^^ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0792`.