error[E0720]: cannot resolve opaque type --> $DIR/issue-103599.rs:3:23 | LL | fn wrap(x: impl T) -> impl T { | ^^^^^^ warning: function cannot return without recursing --> $DIR/issue-103599.rs:3:1 | LL | fn wrap(x: impl T) -> impl T { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing ... LL | wrap(wrap(x)) | ------- recursive call site | = help: a `loop` may express intention better if this is on purpose = note: `#[warn(unconditional_recursion)]` on by default error: aborting due to 1 previous error; 1 warning emitted For more information about this error, try `rustc --explain E0720`.