Add regression test for issue 93274
Currently fails with:
error: future cannot be sent between threads safely
--> $DIR/src/test/ui/fmt/format-with-yield-point.rs:21:17
|
LL | assert_send(with_await());
| ^^^^^^^^^^^^ future returned by `with_await` is not `Send`
|
= help: the trait `Sync` is not implemented for `core::fmt::Opaque`
note: future is not `Send` as this value is used across an await
--> $DIR/src/test/ui/fmt/format-with-yield-point.rs:11:37
|
LL | println!("{} {:?}", "", async {}.await);
| --------------------------------^^^^^^-
| | |
| | await occurs here, with `$crate::format_args_nl!($($arg)*)` maybe used later
| has type `ArgumentV1<'_>` which is not `Send`
| `$crate::format_args_nl!($($arg)*)` is later dropped here
note: required by a bound in `assert_send`
--> $DIR/src/test/ui/fmt/format-with-yield-point.rs:18:24
|
LL | fn assert_send(_: impl Send) {}
| ^^^^ required by this bound in `assert_send`
error: future cannot be sent between threads safely
--> $DIR/src/test/ui/fmt/format-with-yield-point.rs:22:17
|
LL | assert_send(with_macro_call());
| ^^^^^^^^^^^^^^^^^ future returned by `with_macro_call` is not `Send`
|
= help: the trait `Sync` is not implemented for `core::fmt::Opaque`
note: future is not `Send` as this value is used across an await
--> $DIR/src/test/ui/fmt/format-with-yield-point.rs:6:17
|
LL | async {}.await
| ^^^^^^ await occurs here, with `$crate::format_args_nl!($($arg)*)` maybe used later
...
LL | println!("{} {:?}", "", m!());
| -----------------------------
| | |
| | in this macro invocation
| has type `ArgumentV1<'_>` which is not `Send`
| `$crate::format_args_nl!($($arg)*)` is later dropped here
note: required by a bound in `assert_send`
--> $DIR/src/test/ui/fmt/format-with-yield-point.rs:18:24
|
LL | fn assert_send(_: impl Send) {}
| ^^^^ required by this bound in `assert_send`
= note: this error originates in the macro `m` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to 2 previous errors
This commit is contained in:
parent
7cc28c128b
commit
1dd02e32a3
1 changed files with 23 additions and 0 deletions
23
src/test/ui/fmt/format-with-yield-point.rs
Normal file
23
src/test/ui/fmt/format-with-yield-point.rs
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
// check-pass
|
||||
// edition:2021
|
||||
|
||||
macro_rules! m {
|
||||
() => {
|
||||
async {}.await
|
||||
};
|
||||
}
|
||||
|
||||
async fn with_await() {
|
||||
println!("{} {:?}", "", async {}.await);
|
||||
}
|
||||
|
||||
async fn with_macro_call() {
|
||||
println!("{} {:?}", "", m!());
|
||||
}
|
||||
|
||||
fn assert_send(_: impl Send) {}
|
||||
|
||||
fn main() {
|
||||
assert_send(with_await());
|
||||
assert_send(with_macro_call());
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue