rust/compiler/rustc_mir_transform/src
Matthias Krüger 7b7f2f7f74
Rollup merge of #129847 - compiler-errors:async-cycle, r=davidtwco
Do not call query to compute coroutine layout for synthetic body of async closure

There is code in the MIR validator that attempts to prevent query cycles when inlining a coroutine into itself, and will use the coroutine layout directly from the body when it detects that's the same coroutine as the one that's being validated. After #128506, this logic didn't take into account the fact that the coroutine def id will differ if it's the "by-move body" of an async closure. This PR implements that.

Fixes #129811
2024-09-07 23:30:13 +02:00
..
coroutine Don't build by-move body when async closure is tainted 2024-09-07 07:50:44 -04:00
coverage coverage: Treat await similar to a macro 2024-09-06 17:01:59 +12:00
inline Remove #[macro_use] extern crate tracing from rustc_mir_transform. 2024-08-30 10:01:34 +10:00
shim Remove #[macro_use] extern crate tracing from rustc_mir_transform. 2024-08-30 10:01:34 +10:00
abort_unwinding_calls.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
add_call_guards.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
add_moves_for_packed_drops.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
add_retag.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
add_subtyping_projections.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
check_alignment.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
check_const_item_mutation.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
check_packed_ref.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
cleanup_post_borrowck.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
copy_prop.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
coroutine.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
cost_checker.rs Fix conflicts after rebase 2024-07-07 18:16:38 +02:00
cross_crate_inline.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
ctfe_limit.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
dataflow_const_prop.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
dead_store_elimination.rs Rollup merge of #129926 - nnethercote:mv-SanityCheck-and-MirPass, r=cjgillot 2024-09-03 19:13:27 +02:00
deduce_param_attrs.rs rename AddressOf -> RawBorrow inside the compiler 2024-08-18 19:46:53 +02:00
deduplicate_blocks.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
deref_separator.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
dest_prop.rs Rollup merge of #129720 - nnethercote:simplify-dest_prop-mm, r=cjgillot 2024-09-05 18:58:55 +02:00
dump_mir.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
early_otherwise_branch.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
elaborate_box_derefs.rs Rollup merge of #129969 - GrigorenkoPV:boxed-ty, r=compiler-errors 2024-09-06 07:33:58 +02:00
elaborate_drops.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
errors.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
ffi_unwind_calls.rs Remove #[macro_use] extern crate tracing from rustc_mir_transform. 2024-08-30 10:01:34 +10:00
function_item_references.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
gvn.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
inline.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
instsimplify.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
jump_threading.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
known_panics_lint.rs Rollup merge of #129926 - nnethercote:mv-SanityCheck-and-MirPass, r=cjgillot 2024-09-03 19:13:27 +02:00
large_enums.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
lib.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
lint.rs Reformat use declarations. 2024-07-29 08:26:52 +10:00
lower_intrinsics.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
lower_slice_len.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
match_branches.rs Rollup merge of #129926 - nnethercote:mv-SanityCheck-and-MirPass, r=cjgillot 2024-09-03 19:13:27 +02:00
mentioned_items.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
multiple_return_terminators.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
nrvo.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
pass_manager.rs Clarify a comment. 2024-09-03 16:04:09 +10:00
prettify.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
promote_consts.rs Rollup merge of #129926 - nnethercote:mv-SanityCheck-and-MirPass, r=cjgillot 2024-09-03 19:13:27 +02:00
ref_prop.rs Rollup merge of #129926 - nnethercote:mv-SanityCheck-and-MirPass, r=cjgillot 2024-09-03 19:13:27 +02:00
remove_noop_landing_pads.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
remove_place_mention.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
remove_storage_markers.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
remove_uninit_drops.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
remove_unneeded_drops.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
remove_zsts.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
required_consts.rs MIR required_consts, mentioned_items: ensure we do not forget to fill these lists 2024-08-01 15:49:25 +02:00
reveal_all.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
sanity_check.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
shim.rs Remove #[macro_use] extern crate tracing from rustc_mir_transform. 2024-08-30 10:01:34 +10:00
simplify_branches.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
simplify_comparison_integral.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
simplify.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
single_use_consts.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
sroa.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
ssa.rs Remove #[macro_use] extern crate tracing from rustc_mir_transform. 2024-08-30 10:01:34 +10:00
unreachable_enum_branching.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
unreachable_prop.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
validate.rs Rollup merge of #129847 - compiler-errors:async-cycle, r=davidtwco 2024-09-07 23:30:13 +02:00