recursive async functions no longer error in check builds (original) (raw)
Affected tests:
- tests/ui/async-await/recursive-async-impl-trait-type.rs
- tests/ui/async-await/in-trait/async-recursive.rs
- tests/ui/async-await/in-trait/async-recursive-generic.rs
//@ edition: 2021
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() {}
This error is missing with the new solver