| //@ 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 { | |
| //~^ ERROR recursion in an async fn requires boxing | |
| if n > 0 { | |
| self.foo_recursive(n - 1).await | |
| } else { | |
| *self | |
| } | |
| } | |
| } | |
| fn main() {} |