tree 661b25cd2917b50d931ac4576fedd7da26a96ca0
parent 9150f844e2624eb013ec78ca08c1d416e6644026
parent 2d8b10f63c394c99f2268de3132086bc72ee5a2b
author bors <bors@rust-lang.org> 1568744610 +0000
committer bors <bors@rust-lang.org> 1568744610 +0000

Auto merge of #64525 - nikomatsakis:issue-64512-drop-order-tail-temp, r=davidtwco

adjust desugaring for async fn to correct drop order

Old desugaring, given a user function body `{ $stmts; $expr }`

```
{
    let $param_pattern0 = $raw_param0;
    ...
    let $param_patternN = $raw_paramN;
    $stmts;
    $expr
}
```

New desugaring:

```
{
    let $param_pattern0 = $raw_param0;
    ...
    let $param_patternN = $raw_paramN;
    drop-temps {
        $stmts;
        $expr
    }
}
```

The drop-temps is an internal bit of HIR that drops temporaries from the resulting expression, but it should be equivalent to `return { $stmts; $expr }`.

Fixes #64512
Fixes #64391
