<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_const_eval/src/interpret, branch master</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=master</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=master'/>
<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>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>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 #146735 - Qelxiros:const_mul_add, r=tgross35,RalfJung</title>
<updated>2025-09-25T10:31:54+00:00</updated>
<author>
<name>Stuart Cook</name>
<email>Zalathar@users.noreply.github.com</email>
</author>
<published>2025-09-25T10:31:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8e62f95376e40f3eb81e5f1b29cb4eb997c36fb5'/>
<id>urn:sha1:8e62f95376e40f3eb81e5f1b29cb4eb997c36fb5</id>
<content type='text'>
unstably constify float mul_add methods

Tracking issue: rust-lang/rust#146724
r? `@tgross35`
</content>
</entry>
<entry>
<title>unstably constify float mul_add methods</title>
<updated>2025-09-24T19:21:31+00:00</updated>
<author>
<name>Jeremy Smart</name>
<email>jeremy3141592@gmail.com</email>
</author>
<published>2025-09-18T19:02:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a00f24116e9bcecc8c73f9f7ec0c399964b37a92'/>
<id>urn:sha1:a00f24116e9bcecc8c73f9f7ec0c399964b37a92</id>
<content type='text'>
Co-authored-by: Ralf Jung &lt;post@ralfj.de&gt;
</content>
</entry>
<entry>
<title>const validation: better error for maybe-null references</title>
<updated>2025-09-24T11:35:29+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2025-09-24T10:12:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8328c3dada0c888b1c570f97314b3f697d4b2a96'/>
<id>urn:sha1:8328c3dada0c888b1c570f97314b3f697d4b2a96</id>
<content type='text'>
</content>
</entry>
<entry>
<title>const-eval: improve and actually test the errors when pointers might be outside the range of a scalar</title>
<updated>2025-09-24T11:34:33+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2025-09-22T17:46:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0a41add6293d76b165968d70f95e7edbbe65fe11'/>
<id>urn:sha1:0a41add6293d76b165968d70f95e7edbbe65fe11</id>
<content type='text'>
</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>Auto merge of #146331 - RalfJung:copy-prov-repeat, r=oli-obk</title>
<updated>2025-09-17T13:56:54+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-09-17T13:56:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5d1b897a07dc30d810dd541795125c1c216266c7'/>
<id>urn:sha1:5d1b897a07dc30d810dd541795125c1c216266c7</id>
<content type='text'>
interpret: copy_provenance: avoid large intermediate buffer for large repeat counts

Copying provenance worked in this odd way where the "preparation" phase (which is supposed to just extract the necessary information from the source range) already did all the work of repeating the result N times for the target range. This was needed to use the existing `insert_presorted` function on `SortedMap`.

This PR generalizes `insert_presorted` so that we can avoid this odd structure on copy-provenance, and maybe even improve performance.
</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>
</feed>
