rust/compiler/rustc_mir_transform/src
bors 425a9c0a0e Auto merge of #145284 - nnethercote:type_name-print-regions, r=lcnr
Print regions in `type_name`.

Currently they are skipped, which is a bit weird, and it sometimes causes malformed output like `Foo<>` and `dyn Bar<, A = u32>`.

Most regions are erased by the time `type_name` does its work. So all regions are now printed as `'_` in non-optional places. Not perfect, but better than the status quo.

`c_name` is updated to trim lifetimes from MIR pass names, so that the `PASS_NAMES` sanity check still works. It is also renamed as `simplify_pass_type_name` and made non-const, because it doesn't need to be const and the non-const implementation is much shorter.

The commit also renames `should_print_region` as `should_print_optional_region`, which makes it clearer that it only applies to some regions.

Fixes rust-lang/rust#145168.

r? `@lcnr`
2025-08-17 10:24:20 +00:00
..
coroutine use let chains in hir, lint, mir 2025-07-28 06:10:14 +05:00
coverage coverage: Remove intermediate data structures from mapping creation 2025-08-14 21:35:23 +10:00
inline Be a bit more careful around exotic cycles in in the inliner 2025-07-18 16:35:55 +00:00
shim mir: Use the new method for BasicBlockData 2025-06-29 20:39:13 +08:00
abort_unwinding_calls.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
add_call_guards.rs mir: Use the new method for BasicBlockData 2025-06-29 20:39:13 +08:00
add_moves_for_packed_drops.rs mir: Use the new method for BasicBlockData 2025-06-29 20:39:13 +08:00
add_retag.rs Remove Retag for Unique 2025-07-21 08:08:41 +00:00
add_subtyping_projections.rs Remove some unnecessary erases 2025-05-08 16:20:57 +00:00
check_alignment.rs mir: Add a new method to statement 2025-06-29 20:13:36 +08:00
check_call_recursion.rs Cleanup assoc parent utils 2025-08-13 09:33:09 -05:00
check_const_item_mutation.rs Only look at trait impls in the current crate when looking for Drop impls 2025-04-02 07:30:11 +00:00
check_enums.rs Rollup merge of #134006 - klensy:typos, r=nnethercote 2025-07-03 13:29:35 +02:00
check_inline.rs coverage: Remove all unstable support for MC/DC instrumentation 2025-08-06 22:38:52 +10:00
check_null.rs mir: Add a new method to statement 2025-06-29 20:13:36 +08:00
check_packed_ref.rs Cleanup assoc parent utils 2025-08-13 09:33:09 -05:00
check_pointers.rs mir: Use the new method for BasicBlockData 2025-06-29 20:39:13 +08:00
cleanup_post_borrowck.rs Visit place in BackwardIncompatibleDropHint statement 2025-04-13 22:01:54 +00:00
copy_prop.rs Leave from CopyProp early when there are no replacements 2025-06-22 14:30:23 +02:00
coroutine.rs mir: Use the new method for BasicBlockData 2025-06-29 20:39:13 +08:00
cost_checker.rs Allow more top-down inlining for single-BB callees 2025-03-12 22:39:43 -07:00
cross_crate_inline.rs make no_mangle explicit on foreign items 2025-08-12 12:07:14 +02:00
ctfe_limit.rs detect infinite recursion with tail calls in ctfe 2025-07-31 23:59:55 +02:00
dataflow_const_prop.rs Add InterpCx::layout_of with tracing, shadowing LayoutOf 2025-06-27 11:49:22 +02:00
dead_store_elimination.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
deduce_param_attrs.rs Remove obsolete comment from DeduceReadOnly 2025-03-04 12:26:01 +01:00
deref_separator.rs Move MirPatch from rustc_middle to rustc_mir_transform. 2025-02-14 16:15:57 +11:00
dest_prop.rs Separate Analysis and Results. 2025-04-24 11:36:07 +10:00
dump_mir.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
early_otherwise_branch.rs mir-opt: Do not create storage marks for temporary locals 2025-05-24 15:36:06 +08:00
elaborate_box_derefs.rs Move MirPatch from rustc_middle to rustc_mir_transform. 2025-02-14 16:15:57 +11:00
elaborate_drop.rs Rollup merge of #132748 - lolbinarycat:rustdoc-intra-doc-link-warn-more-54191, r=GuillaumeGomez 2025-08-02 11:24:20 +02:00
elaborate_drops.rs debug impls for drop elaborators 2025-07-18 17:31:48 -07:00
errors.rs coverage: Remove all unstable support for MC/DC instrumentation 2025-08-06 22:38:52 +10:00
ffi_unwind_calls.rs compiler: use is_rustic_abi in mir_transform 2025-03-04 18:21:56 -08:00
function_item_references.rs Rename ClearCrossCrate::assert_crate_local. 2025-02-21 07:12:13 +11:00
gvn.rs Do not flatten derefs with ProjectionElem::Index. 2025-08-07 23:34:15 +00:00
impossible_predicates.rs Keep elaborating predicates. 2025-07-22 01:51:11 +00:00
inline.rs remove rustc_attr_data_structures 2025-07-31 14:19:27 +02:00
instsimplify.rs Simplify align_of_val::<[T]>(…)align_of::<T>() 2025-07-28 23:19:06 -07:00
jump_threading.rs Add InterpCx::layout_of with tracing, shadowing LayoutOf 2025-06-27 11:49:22 +02:00
known_panics_lint.rs AsyncDrop implementation using shim codegen of async_drop_in_place::{closure}, scoped async drop added. 2025-04-28 16:23:13 +07:00
large_enums.rs extend allocbytes with associated type 2025-05-26 00:15:16 +02:00
lib.rs mir: Add a new method to statement 2025-06-29 20:13:36 +08:00
lint.rs rename BitSet to DenseBitSet 2025-01-11 11:34:01 +00:00
lint_tail_expr_drop_order.rs setup CI and tidy to use typos for spellchecking and fix few typos 2025-07-03 10:51:06 +03:00
lower_intrinsics.rs mir: Add a new method to statement 2025-06-29 20:13:36 +08:00
lower_slice_len.rs mir: Add a new method to statement 2025-06-29 20:13:36 +08:00
match_branches.rs mir-opt: Do not transform non-int type in match_branches 2025-05-26 18:15:54 +08:00
mentioned_items.rs Remove support for dyn* 2025-07-01 19:00:21 +00:00
multiple_return_terminators.rs In rustc_mir_tranform, iterate over index newtypes instead of ints 2025-04-12 11:53:07 +00:00
nrvo.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
pass_manager.rs Print regions in type_name. 2025-08-14 21:13:06 +10:00
patch.rs mir: Use the new method for BasicBlockData 2025-06-29 20:39:13 +08:00
post_analysis_normalize.rs do not emit OpaqueCast projections with -Znext-solver 2025-04-17 12:15:04 +02:00
post_drop_elaboration.rs Make check_live_drops into a MirLint. 2024-09-10 09:11:17 +10:00
prettify.rs Use a closure instead of three chained iterators 2025-04-29 14:58:21 +00:00
promote_consts.rs use let chains in mir, resolve, target 2025-07-28 06:10:36 +05:00
ref_prop.rs setup CI and tidy to use typos for spellchecking and fix few typos 2025-07-03 10:51:06 +03:00
remove_noop_landing_pads.rs use let chains in mir, resolve, target 2025-07-28 06:10:36 +05:00
remove_place_mention.rs Do not optimize out SwitchInt before borrowck, or if Zmir-preserve-ub 2025-04-08 21:05:20 +00:00
remove_storage_markers.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
remove_uninit_drops.rs Apply effects to otherwise edge in dataflow analysis 2025-07-08 18:15:05 -05:00
remove_unneeded_drops.rs Let RemoveUnneededDrops also remove drop_in_place 2025-08-04 23:54:39 -07:00
remove_zsts.rs AsyncDrop implementation using shim codegen of async_drop_in_place::{closure}, scoped async drop added. 2025-04-28 16:23:13 +07:00
required_consts.rs Reformat using the new identifier sorting from rustfmt 2024-09-22 19:11:29 -04:00
sanity_check.rs Move MirPass to rustc_mir_transform. 2024-09-03 16:03:46 +10:00
shim.rs Cleanup assoc parent utils 2025-08-13 09:33:09 -05:00
simplify.rs simplifycfg: Mark as changed when start is modified in collapse goto chain 2025-08-06 20:26:10 +08:00
simplify_branches.rs Fix binding mode problems 2025-02-22 00:13:19 +00:00
simplify_comparison_integral.rs mir: Add a new method to statement 2025-06-29 20:13:36 +08:00
single_use_consts.rs Inline and replace Statement::replace_nop. 2025-02-18 13:43:43 +11:00
sroa.rs Re-block SRoA on SIMD types 2025-07-29 20:41:34 -07:00
ssa.rs Propagate from borrowed locals in CopyProp 2025-07-10 09:36:20 +02:00
strip_debuginfo.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
unreachable_enum_branching.rs Move MirPatch from rustc_middle to rustc_mir_transform. 2025-02-14 16:15:57 +11:00
unreachable_prop.rs Rename tests/codegen into tests/codegen-llvm 2025-07-22 14:28:48 +02:00
validate.rs remove rustc_attr_data_structures 2025-07-31 14:19:27 +02:00