//@ edition: 2021 | |
//@ build-fail | |
// Regression test for <https://github.com/rust-lang/rust/issues/135780>. | |
use std::future::Future; | |
use std::ops::AsyncFn; | |
use std::pin::Pin; | |
fn recur<'l>(closure: &'l impl AsyncFn()) -> Pin<Box<dyn Future<Output = ()> + 'l>> { | |
Box::pin(async move { | |
let _ = closure(); | |
let _ = recur(&async || { | |
//~^ ERROR reached the recursion limit | |
let _ = closure(); | |
}); | |
}) | |
} | |
fn main() { | |
let closure = async || {}; | |
let _ = recur(&closure); | |
} |