rust/compiler/rustc_mir_transform/src
bors 30f168ef81 Auto merge of #137907 - compiler-errors:inline-fnonce, r=saethlin
Inline `FnOnce`/`FnMut`/`Fn` shims once again

This PR fixes the argument checking for `extern "rust-call"` ABI functions with a spread arg, which do no expect their arguments to be exploded from a tuple like closures do.

Secondly, it removes the hack that prevented them from being inlined. This results in more work done by the compiler, but it does end up allowing us to inline functions we didn't before.

Fixes #137901
2025-03-05 18:39:17 +00:00
..
coroutine Rustfmt 2025-02-08 22:12:13 +00:00
coverage Auto merge of #135726 - jdonszelmann:attr-parsing, r=oli-obk 2025-02-24 23:07:24 +00:00
inline use TypingEnv when no infcx is available 2024-11-18 10:38:56 +01:00
shim Rustfmt 2025-02-08 22:12:13 +00: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 Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
add_moves_for_packed_drops.rs Move MirPatch from rustc_middle to rustc_mir_transform. 2025-02-14 16:15:57 +11:00
add_retag.rs Rustfmt 2025-02-08 22:12:13 +00:00
add_subtyping_projections.rs Move MirPatch from rustc_middle to rustc_mir_transform. 2025-02-14 16:15:57 +11:00
check_alignment.rs Detect (non-raw) borrows of null ZST pointers in CheckNull 2025-02-08 21:38:16 +00:00
check_call_recursion.rs Rustfmt 2025-02-08 22:12:13 +00:00
check_const_item_mutation.rs Rename ClearCrossCrate::assert_crate_local. 2025-02-21 07:12:13 +11:00
check_inline.rs Move methods from Map to TyCtxt, part 2. 2025-02-18 10:17:44 +11:00
check_null.rs Detect (non-raw) borrows of null ZST pointers in CheckNull 2025-02-08 21:38:16 +00:00
check_packed_ref.rs use TypingEnv when no infcx is available 2024-11-18 10:38:56 +01:00
check_pointers.rs Rollup merge of #136610 - Jarcho:range_idx, r=Noratrieb 2025-02-24 02:11:32 -05:00
check_undefined_transmutes.rs Rename rustc_middle::Ty::is_unsafe_ptr to is_raw_ptr 2025-02-10 12:49:18 +00:00
cleanup_post_borrowck.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
copy_prop.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
coroutine.rs Rename ClearCrossCrate::assert_crate_local. 2025-02-21 07:12:13 +11:00
cost_checker.rs use TypingEnv when no infcx is available 2024-11-18 10:38:56 +01:00
cross_crate_inline.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
ctfe_limit.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
dataflow_const_prop.rs Implement MIR, CTFE, and codegen for unsafe binders 2025-01-31 17:19:53 +00: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 Implement MIR, CTFE, and codegen for unsafe binders 2025-01-31 17:19:53 +00:00
dump_mir.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
early_otherwise_branch.rs Move MirPatch from rustc_middle to rustc_mir_transform. 2025-02-14 16:15:57 +11: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 Auto merge of #136539 - matthewjasper:late-normalize-errors, r=compiler-errors 2025-02-19 07:49:08 +00:00
elaborate_drops.rs Improve MirPatch documentation and naming. 2025-02-18 13:12:50 +11:00
errors.rs Remove redundant to_ident_string calls 2025-01-27 01:23:34 +00: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 rename BackendRepr::Vector → SimdVector 2025-02-28 17:17:45 +01:00
impossible_predicates.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
inline.rs Inline FnOnce once again 2025-03-03 23:30:18 +00:00
instsimplify.rs Move methods from Map to TyCtxt, part 2. 2025-02-18 10:17:44 +11:00
jump_threading.rs Greatly simplify lifetime captures in edition 2024 2025-02-22 22:24:52 +00:00
known_panics_lint.rs Fix binding mode problems 2025-02-22 00:13:19 +00:00
large_enums.rs Use MirPatch in EnumSizeOpt. 2025-02-18 12:52:56 +11:00
lib.rs Check signature WF when lowering MIR body 2025-03-03 23:09:42 +00:00
lint.rs rename BitSet to DenseBitSet 2025-01-11 11:34:01 +00:00
lint_tail_expr_drop_order.rs Print out destructor 2025-02-26 19:03:29 +00:00
lower_intrinsics.rs Contracts core intrinsics. 2025-02-03 12:53:57 -08:00
lower_slice_len.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
match_branches.rs Move MirPatch from rustc_middle to rustc_mir_transform. 2025-02-14 16:15:57 +11:00
mentioned_items.rs Fix binding mode problems 2025-02-22 00:13:19 +00:00
multiple_return_terminators.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
nrvo.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
pass_manager.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
patch.rs Rename ClearCrossCrate::assert_crate_local. 2025-02-21 07:12:13 +11:00
post_analysis_normalize.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
post_drop_elaboration.rs Make check_live_drops into a MirLint. 2024-09-10 09:11:17 +10:00
prettify.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
promote_consts.rs Rustfmt 2025-02-08 22:12:13 +00:00
ref_prop.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
remove_noop_landing_pads.rs Move MirPatch from rustc_middle to rustc_mir_transform. 2025-02-14 16:15:57 +11:00
remove_place_mention.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +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 Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
remove_unneeded_drops.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00:00
remove_zsts.rs Disable non-required MIR opts with optimize(none) 2025-01-23 17:40:41 +00: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 Don't project into NonNull when dropping a Box 2025-02-15 23:20:52 -08:00
simplify.rs Fix binding mode problems 2025-02-22 00:13:19 +00:00
simplify_branches.rs Fix binding mode problems 2025-02-22 00:13:19 +00:00
simplify_comparison_integral.rs Fix binding mode problems 2025-02-22 00:13:19 +00:00
single_use_consts.rs Inline and replace Statement::replace_nop. 2025-02-18 13:43:43 +11:00
sroa.rs Greatly simplify lifetime captures in edition 2024 2025-02-22 22:24:52 +00:00
ssa.rs Greatly simplify lifetime captures in edition 2024 2025-02-22 22:24:52 +00: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 Move MirPatch from rustc_middle to rustc_mir_transform. 2025-02-14 16:15:57 +11:00
validate.rs MIR validation: add comment explaining the limitations of CfgChecker 2025-02-06 11:36:58 +01:00