]> git.lizzy.rs Git - rust.git/blob - src/test/ui/async-await/in-trait/async-recursive.rs
Rollup merge of #105481 - lqd:mono-stats, r=wesleywiser
[rust.git] / src / test / ui / async-await / in-trait / async-recursive.rs
1 // edition: 2021
2
3 #![feature(async_fn_in_trait)]
4 #![allow(incomplete_features)]
5
6 trait MyTrait {
7     async fn foo_recursive(&self, n: usize) -> i32;
8 }
9
10 impl MyTrait for i32 {
11     async fn foo_recursive(&self, n: usize) -> i32 {
12         //~^ ERROR recursion in an `async fn` requires boxing
13         if n > 0 {
14             self.foo_recursive(n - 1).await
15         } else {
16             *self
17         }
18     }
19 }
20
21 fn main() {}