1 warning: function cannot return without recursing
2 --> $DIR/issue-87450.rs:5:1
4 LL | fn foo() -> impl Fn() {
5 | ^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
7 LL | wrap(wrap(wrap(wrap(wrap(wrap(wrap(foo())))))))
8 | ----- recursive call site
10 = help: a `loop` may express intention better if this is on purpose
11 = note: `#[warn(unconditional_recursion)]` on by default
13 error[E0720]: cannot resolve opaque type
14 --> $DIR/issue-87450.rs:5:13
16 LL | fn foo() -> impl Fn() {
17 | ^^^^^^^^^ recursive opaque type
19 LL | wrap(wrap(wrap(wrap(wrap(wrap(wrap(foo())))))))
20 | ----------------------------------------------- returning here with type `impl Fn()`
22 LL | fn wrap(f: impl Fn()) -> impl Fn() {
23 | --------- returning this opaque type `impl Fn()`
25 error: aborting due to previous error; 1 warning emitted
27 For more information about this error, try `rustc --explain E0720`.