I tried [formatting this code](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=c182fd390e9fb99de4767381372acef8): ```rust #![feature(async_closure)] async fn my_func(op: impl for<'x> async Fn(&'x String)) { let s = String::new(); op(&s).await } fn main() { } ``` I expected to see this happen: *nothing* Instead, this happened: rustfmt reorders `for` and `async` incorrectly... ```rust #![feature(async_closure)] async fn my_func(op: impl async for<'x> Fn(&'x String)) { let s = String::new(); op(&s).await } fn main() {} ``` [This formatted code does not compile.](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=12146281bfc07625d231d54fee1d4b79)