Commit 3a06a93
authored
Rollup merge of #61413 - davidtwco:async-argument-order-in-a-sane-way, r=eddyb
Re-implement async fn drop order lowering
This PR re-implements the async fn drop order lowering changes so
that it all takes place in HIR lowering, building atop the work done by
@eddyb to refactor `Res::Upvar`.
Previously, this types involved in the lowering were constructed in
libsyntax as they had to be used during name resolution and HIR
lowering. This was awful because none of that logic should have existed
in libsyntax.
This commit also changes `ArgSource` to keep a `HirId` to the original
argument pattern rather than a cloned copy of the pattern.
Only b7aa4ed and 71fb8fa should be reviewed, any other commits
are from #61276 (though 447e336 might end up staying in this PR).
As a nice side effect, it also fixes #61187 (cc #61192).
r? @eddyb
cc @cramertjFile tree
29 files changed
+361
-712
lines changed- src
- librustc_mir/build
- librustc_passes
- librustc_privacy
- librustc_resolve
- librustc_save_analysis
- librustc_typeck/check
- librustc
- hir
- map
- infer/error_reporting/nice_region_error
- lint
- middle
- librustdoc/clean
- libsyntax_ext/deriving
- libsyntax
- ext
- parse
- print
- test/ui
- async-await/issues
- underscore-lifetime
29 files changed
+361
-712
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | 265 | | |
269 | 266 | | |
270 | 267 | | |
| |||
402 | 399 | | |
403 | 400 | | |
404 | 401 | | |
405 | | - | |
406 | 402 | | |
407 | 403 | | |
408 | 404 | | |
409 | 405 | | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | 406 | | |
417 | 407 | | |
418 | 408 | | |
| |||
0 commit comments