// Regression test for #69307 // // Having an `async { .. foo.await .. }` block appear inside of a `+=` // expression was causing an ICE due to a failure to save/restore // state in the AST numbering pass when entering a nested body. // // check-pass // edition:2018 fn block_on(_: F) -> usize { 0 } fn main() {} async fn bar() { let mut sum = 0; sum += block_on(async { baz().await; }); } async fn baz() {}