rust/tests
bors d9a2cc4dae Auto merge of #128506 - compiler-errors:by-move-body, r=cjgillot
Stop storing a special inner body for the coroutine by-move body for async closures

...and instead, just synthesize an item which is treated mostly normally by the MIR pipeline.

This PR does a few things:
* We synthesize a new `DefId` for the by-move body of a closure, which has its `mir_built` fed with the output of the `ByMoveBody` MIR transformation, and some other relevant queries.
* This has the `DefKind::ByMoveBody`, which we use to distinguish it from "real" bodies (that come from HIR) which need to be borrowck'd. Introduce `TyCtxt::is_synthetic_mir` to skip over `mir_borrowck` which is called by `mir_promoted`; borrowck isn't really possible to make work ATM since it heavily relies being called on a body generated from HIR, and is redundant by the construction of the by-move-body.
* Remove the special `PassManager` hacks for handling the inner `by_move_body` stored within the coroutine's mir body. Instead, this body is fed like a regular MIR body, so it's goes through all of the `tcx.*_mir` stages normally (build -> promoted -> ...etc... -> optimized) .
* Remove the `InstanceKind::ByMoveBody` shim, since now we have a "regular" def id, we can just use `InstanceKind::Item`. This also allows us to remove the corresponding hacks from codegen, such as in `fn_sig_for_fn_abi` .

Notable remarks:
* ~~I know it's kind of weird to be using `DefKind::Closure` here, since it's not a distinct closure but just a new MIR body. I don't believe it really matters, but I could also use a different `DefKind`... maybe one that we could use for synthetic MIR bodies in general?~~ edit: We're doing this now.
2024-08-27 23:30:24 +00:00
..
assembly Rollup merge of #129536 - beetrees:f16-f128-inline-asm-aarch64, r=Amanieu 2024-08-27 01:46:53 -05:00
auxiliary
codegen Rollup merge of #129350 - krasimirgg:llvm20, r=nikic 2024-08-23 12:32:16 +02:00
codegen-units Fix and enable disabled codegen-units tests 2024-08-10 14:03:27 -04:00
coverage Finish blessing coverage/mcdc tests after LLVM 19 upgrade 2024-08-01 13:36:50 +10:00
coverage-run-rustdoc
crashes Remove crashes from type_of on resolution that doesn't have a type_of 2024-08-26 13:07:01 -04:00
debuginfo Rollup merge of #128627 - khuey:DUMMY_SP-line-no, r=nnethercote 2024-08-21 18:15:01 +02:00
incremental Rollup merge of #127279 - bvanjoi:fix-112680, r=petrochenkov 2024-08-21 19:35:10 +02:00
mir-opt document & impl the transmutation modeled by BikeshedIntrinsicFrom 2024-08-23 14:37:36 +00:00
pretty stabilize raw_ref_op 2024-08-18 19:46:53 +02:00
run-make Rollup merge of #128935 - lqd:needs-zstd, r=Kobzol 2024-08-27 01:46:50 -05:00
run-pass-valgrind
rustdoc Rollup merge of #129560 - GuillaumeGomez:impl-assoc-type-source-link, r=notriddle 2024-08-27 00:42:01 +02:00
rustdoc-gui rustdoc: animate the :target highlight 2024-08-19 18:14:35 -07:00
rustdoc-js Add test for Self not being a generic in search index 2024-08-04 12:49:28 -07:00
rustdoc-js-std rustdoc: show exact case-sensitive matches first 2024-08-23 13:05:24 -04:00
rustdoc-json Stabilize opaque type precise capturing 2024-08-17 12:33:29 -04:00
rustdoc-ui Adjust expected errors for a rustdoc test 2024-08-18 22:52:54 -05:00
ui Auto merge of #128506 - compiler-errors:by-move-body, r=cjgillot 2024-08-27 23:30:24 +00:00
ui-fulldeps Rollup merge of #129246 - BoxyUwU:feature_gate_const_arg_path, r=cjgillot 2024-08-24 22:14:12 +02:00
COMPILER_TESTS.md