34 lines
617 B
Rust
34 lines
617 B
Rust
//@ 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());
|
|
}
|