2022-10-07 16:15:13 +00:00
|
|
|
// edition: 2021
|
|
|
|
|
|
|
|
trait MyTrait<T> {
|
|
|
|
async fn foo_recursive(&self, n: usize) -> T;
|
|
|
|
}
|
|
|
|
|
|
|
|
impl<T> MyTrait<T> for T where T: Copy {
|
|
|
|
async fn foo_recursive(&self, n: usize) -> T {
|
2023-11-08 07:19:01 +00:00
|
|
|
//~^ ERROR recursion in an async fn requires boxing
|
2022-10-07 16:15:13 +00:00
|
|
|
if n > 0 {
|
|
|
|
self.foo_recursive(n - 1).await
|
|
|
|
} else {
|
|
|
|
*self
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|