Since Rust 1.77, this code now works:
async fn recursive_pinned() { Box::pin(recursive_pinned()).await; Box::pin(recursive_pinned()).await; }
Reference: https://rust-lang.github.io/async-book/07_workarounds/04_recursion.html