blob: 2360b57cc454461e479ad92a5581af12e10a03ad (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
// Another regression test for #64477.
//
// In the past, the code generated by `format!` produced temporaries in the surrounding scope that
// borrowed the arguments through `&dyn Trait`. These temporaries do not implement `Send`, which
// meant that when `format!` was used in an async block, the resulting generator was not `Send`.
// See https://github.com/rust-lang/rust/issues/64477#issuecomment-534669068 for details
// and https://github.com/rust-lang/rust/issues/64477#issuecomment-531882958 for an example.
//
// check-pass
// edition:2018
async fn foo(_: String) {}
fn bar() -> impl Send {
async move {
foo(format!("{}:{}", 1, 2)).await;
}
}
fn main() {
let _ = bar();
}
|