<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_cranelift/src, branch perf-tmp</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-10-02T01:54:48+00:00</updated>
<entry>
<title>Auto merge of #147055 - beepster4096:subtype_is_not_a_projection, r=lcnr</title>
<updated>2025-10-02T01:54:48+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-10-02T01:54:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=42b384ec0dfcd528d99a4db0a337d9188a9eecaa'/>
<id>urn:sha1:42b384ec0dfcd528d99a4db0a337d9188a9eecaa</id>
<content type='text'>
Turn ProjectionElem::Subtype into CastKind::Subtype

I noticed that drop elaboration can't, in general, handle `ProjectionElem::SubType`. It creates a disjoint move path that overlaps with other move paths. (`Subslice` does too, and I'm working on a different PR to make that special case less fragile.) If its skipped and treated as the same move path as its parent then `MovePath.place` has multiple possible projections. (It would probably make sense to remove all `Subtype` projections for the canonical place but it doesn't make sense to have this special case for a problem that doesn't actually occur in real MIR.)

The only reason this doesn't break is that `Subtype` is always the sole projection of the local its applied to. For the same reason, it works fine as a `CastKind` so I figured that makes more sense than documenting and validating this hidden invariant.

cc rust-lang/rust#112651, rust-lang/rust#133258

r? Icnr (bc you've been the main person dealing with `Subtype` it looks like)
</content>
</entry>
<entry>
<title>Auto merge of #147145 - Zalathar:rollup-s7kcs3w, r=Zalathar</title>
<updated>2025-09-29T08:43:49+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-09-29T08:43:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=128b36a4a48534b048845cc744b9672529d13df1'/>
<id>urn:sha1:128b36a4a48534b048845cc744b9672529d13df1</id>
<content type='text'>
Rollup of 3 pull requests

Successful merges:

 - rust-lang/rust#147100 (tests: Remove ignore-android directive for fixed issue)
 - rust-lang/rust#147116 (compiler: remove AbiAlign inside TargetDataLayout)
 - rust-lang/rust#147134 (remove explicit deref of AbiAlign for most methods)

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>remove explicit deref of AbiAlign for most methods</title>
<updated>2025-09-28T22:02:14+00:00</updated>
<author>
<name>Jubilee Young</name>
<email>workingjubilee@gmail.com</email>
</author>
<published>2025-09-28T21:40:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0c9d0dfe046f0674f0507df564504ac3bac862d9'/>
<id>urn:sha1:0c9d0dfe046f0674f0507df564504ac3bac862d9</id>
<content type='text'>
Much of the compiler calls functions on Align projected from AbiAlign.
AbiAlign impls Deref to its inner Align, so we can simplify these away.
Also, it will minimize disruption when AbiAlign is removed.

For now, preserve usages that might resolve to PartialOrd or PartialEq,
as those have odd inference.
</content>
</entry>
<entry>
<title>Add a leading dash to linker plugin arguments in the gcc codegen</title>
<updated>2025-09-28T17:57:33+00:00</updated>
<author>
<name>Antoni Boucher</name>
<email>bouanto@zoho.com</email>
</author>
<published>2025-09-28T16:08:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7fcbc5ea465a4e280d3b7a84fc3f781e9a120ed0'/>
<id>urn:sha1:7fcbc5ea465a4e280d3b7a84fc3f781e9a120ed0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ProjectionElem::Subtype -&gt; CastKind::Subtype</title>
<updated>2025-09-26T08:25:26+00:00</updated>
<author>
<name>beepster4096</name>
<email>19316085+beepster4096@users.noreply.github.com</email>
</author>
<published>2025-09-26T03:54:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=aa5a21450a070fdea66a07d3cab3b69e6735c328'/>
<id>urn:sha1:aa5a21450a070fdea66a07d3cab3b69e6735c328</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #146667 - calebzulawski:simd-mono-lane-limit, r=lcnr,RalfJung</title>
<updated>2025-09-25T10:31:53+00:00</updated>
<author>
<name>Stuart Cook</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-09-25T10:31:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fab06469ee33664739620ede53ed18b8c3c40644'/>
<id>urn:sha1:fab06469ee33664739620ede53ed18b8c3c40644</id>
<content type='text'>
Add an attribute to check the number of lanes in a SIMD vector after monomorphization

Allows std::simd to drop the `LaneCount&lt;N&gt;: SupportedLaneCount` trait and maintain good error messages.

Also, extends rust-lang/rust#145967 by including spans in layout errors for all ADTs.

r? ``@RalfJung``

cc ``@workingjubilee`` ``@programmerjake``
</content>
</entry>
<entry>
<title>Add an attribute to check the number of lanes in a SIMD vector after monomorphization</title>
<updated>2025-09-24T00:47:34+00:00</updated>
<author>
<name>Caleb Zulawski</name>
<email>caleb.zulawski@gmail.com</email>
</author>
<published>2025-09-16T06:23:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f5c6c9542ecfab74e654f9b7f1150d486560ae43'/>
<id>urn:sha1:f5c6c9542ecfab74e654f9b7f1150d486560ae43</id>
<content type='text'>
Unify zero-length and oversized SIMD errors
</content>
</entry>
<entry>
<title>Rollup merge of #146664 - fmease:clean-up-dyn, r=jdonszelmann</title>
<updated>2025-09-18T01:48:51+00:00</updated>
<author>
<name>Stuart Cook</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-09-18T01:48:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=540fd20ba66358fec0322c347bcffb0d29c02deb'/>
<id>urn:sha1:540fd20ba66358fec0322c347bcffb0d29c02deb</id>
<content type='text'>
Clean up `ty::Dynamic`

1. As a follow-up to PR rust-lang/rust#143036, remove `DynKind` entirely.
2. Inside HIR ty lowering, consolidate modules `dyn_compatibility` and `lint` into `dyn_trait`
   * `dyn_compatibility` wasn't about dyn compatibility itself, it's about lowering trait object types
   * `lint` contained dyn-Trait-specific diagnostics+lints only
</content>
</entry>
<entry>
<title>Remove `DynKind`</title>
<updated>2025-09-17T02:46:46+00:00</updated>
<author>
<name>León Orell Valerian Liehr</name>
<email>me@fmease.dev</email>
</author>
<published>2025-09-17T02:16:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=26f3337d4eda0ba22b615744fda0185d0ee344b1'/>
<id>urn:sha1:26f3337d4eda0ba22b615744fda0185d0ee344b1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove Rvalue::Len.</title>
<updated>2025-09-16T22:23:19+00:00</updated>
<author>
<name>Camille Gillot</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2025-09-14T22:29:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=53b91ea87fe4b430c33bd22dfdaaa6289bf9466a'/>
<id>urn:sha1:53b91ea87fe4b430c33bd22dfdaaa6289bf9466a</id>
<content type='text'>
</content>
</entry>
</feed>
