mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-28 01:34:21 +00:00
75b557a2c4
The type inference of argument-position closures and async blocks regressed in 1.70 as the evaluation order of async blocks changed, as they are not implicitly wrapped in an identity-function anymore. Fixes #112225 by making sure the evaluation order stays the same as it used to.
19 lines
307 B
Rust
19 lines
307 B
Rust
// check-pass
|
|
// edition:2021
|
|
|
|
use core::future::Future;
|
|
|
|
fn main() {
|
|
do_async(async { (0,) }, {
|
|
// closure must be inside block
|
|
|info| println!("{:?}", info.0)
|
|
});
|
|
}
|
|
|
|
fn do_async<R, Fut, F>(_tokio_fut: Fut, _glib_closure: F)
|
|
where
|
|
Fut: Future<Output = R>,
|
|
F: FnOnce(R),
|
|
{
|
|
}
|