rust/library
bors 2d5a628a1d Auto merge of #128165 - saethlin:optimize-clone-shims, r=compiler-errors
Let InstCombine remove Clone shims inside Clone shims

The Clone shims that we generate tend to recurse into other Clone shims, which gets very silly very quickly. Here's our current state: https://godbolt.org/z/E69YeY8eq

So I've added InstSimplify to the shims optimization passes, and improved `is_trivially_pure_clone_copy` so that it can delete those calls inside the shim. This makes the shim way smaller because most of its size is the required ceremony for unwinding.

This change also completely breaks the UI test added for https://github.com/rust-lang/rust/issues/104870. With this PR, that program ICEs in MIR type checking because `is_trivially_pure_clone_copy` and the trait solver disagree on whether `*mut u8` is `Copy`. And adding the requisite `Copy` impl to make them agree makes the test not generate any diagnostics. Considering that I spent most of my time on this PR fixing `#![no_core]` tests, I would prefer to just delete this one. The maintenance burden of `#![no_core]` is uniquely high because when they break they tend to break in very confusing ways.

try-job: x86_64-mingw
2024-07-26 13:13:04 +00:00
..
alloc Rollup merge of #128120 - compiler-errors:async-fn-name, r=oli-obk 2024-07-24 18:00:40 +02:00
backtrace@72265bea21 Update backtrace to 0.3.73 2024-06-06 22:50:45 -07:00
core Rollup merge of #128170 - saethlin:clone-fn, r=compiler-errors 2024-07-26 02:20:31 -04:00
panic_abort Stabilise c_unwind 2024-06-19 13:54:51 +01:00
panic_unwind Rollup merge of #125834 - workingjubilee:weaken-thir-unsafeck-for-addr-of-static-mut, r=compiler-errors 2024-07-23 13:06:54 +02:00
portable-simd wasm64 build with target-feature=+simd128,+atomics 2024-06-23 22:58:30 -07:00
proc_macro Rollup merge of #127733 - GrigorenkoPV:don't-forget, r=Amanieu 2024-07-24 18:00:39 +02:00
profiler_builtins Update cc crate to v1.0.97 2024-05-08 15:06:35 +00:00
rtstartup Let InstCombine remove Clone shims inside Clone shims 2024-07-25 15:14:42 -04:00
rustc-std-workspace-alloc
rustc-std-workspace-core
rustc-std-workspace-std
std Rollup merge of #128211 - juliusl:pr/align-change-time, r=tgross35 2024-07-26 00:57:24 +02:00
stdarch@df3618d9f3 feat: update stdarch submodule for intrinsics on ARM 2024-05-15 15:38:58 -04:00
sysroot Add experimental raw-dylib feature to std 2024-07-05 16:11:25 +00:00
test Rollup merge of #127594 - c6c7:fuchsia-status-code-match-arm, r=tmandry 2024-07-18 23:05:21 +02:00
unwind Stabilise c_unwind 2024-06-19 13:54:51 +01:00