24 lines
512 B
Rust
24 lines
512 B
Rust
// edition: 2021
|
|
// [next] compile-flags: -Zlower-impl-trait-in-trait-to-assoc-ty
|
|
// revisions: current next
|
|
|
|
#![feature(async_fn_in_trait)]
|
|
#![allow(incomplete_features)]
|
|
|
|
trait MyTrait {
|
|
async fn foo_recursive(&self, n: usize) -> i32;
|
|
}
|
|
|
|
impl MyTrait for i32 {
|
|
async fn foo_recursive(&self, n: usize) -> i32 {
|
|
//~^ ERROR recursion in an `async fn` requires boxing
|
|
if n > 0 {
|
|
self.foo_recursive(n - 1).await
|
|
} else {
|
|
*self
|
|
}
|
|
}
|
|
}
|
|
|
|
fn main() {}
|