diff options
| author | bors <bors@rust-lang.org> | 2019-09-17 18:23:30 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-09-17 18:23:30 +0000 |
| commit | 7efe1c6e678a263b9464f2e7f06f552b4d4db5a5 (patch) | |
| tree | 661b25cd2917b50d931ac4576fedd7da26a96ca0 /src/libsyntax_ext | |
| parent | 9150f844e2624eb013ec78ca08c1d416e6644026 (diff) | |
| parent | 2d8b10f63c394c99f2268de3132086bc72ee5a2b (diff) | |
| download | rust-7efe1c6e678a263b9464f2e7f06f552b4d4db5a5.tar.gz rust-7efe1c6e678a263b9464f2e7f06f552b4d4db5a5.zip | |
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
Diffstat (limited to 'src/libsyntax_ext')
0 files changed, 0 insertions, 0 deletions
