// check-pass // edition:2021 macro_rules! m { () => { async {}.await }; } async fn with_await() { println!("{} {:?}", "", async {}.await); } async fn with_macro_call_expr() { println!("{} {:?}", "", m!()); } async fn with_macro_call_stmt_semi() { println!("{} {:?}", "", { m!(); }); } async fn with_macro_call_stmt_braced() { println!("{} {:?}", "", { m!{} }); } fn assert_send(_: impl Send) {} fn main() { assert_send(with_await()); assert_send(with_macro_call_expr()); assert_send(with_macro_call_stmt_semi()); assert_send(with_macro_call_stmt_braced()); }