<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_const_eval/src/check_consts/check.rs, branch 1.85.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.85.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.85.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-02-06T17:53:26+00:00</updated>
<entry>
<title>Revert "Auto merge of #133734 - scottmcm:lower-indexing-to-ptrmetadata, r=davidtwco,RalfJung"</title>
<updated>2025-02-06T17:53:26+00:00</updated>
<author>
<name>Rémy Rakic</name>
<email>remy.rakic+github@gmail.com</email>
</author>
<published>2025-01-18T22:09:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=197b416baf683a01f98cf31fce706943e30a6b3c'/>
<id>urn:sha1:197b416baf683a01f98cf31fce706943e30a6b3c</id>
<content type='text'>
This reverts commit b57d93d8b9525fa261404b4cd9c0670eeb1264b8, reversing
changes made to 0aeaa5eb22180fdf12a8489e63c4daa18da6f236.

(cherry picked from commit 122a55bb442bd1995df9cf9b36e6f65ed3ef4a1d)
</content>
</entry>
<entry>
<title>Revert "Auto merge of #134330 - scottmcm:no-more-rvalue-len, r=matthewjasper"</title>
<updated>2025-02-06T17:53:26+00:00</updated>
<author>
<name>Rémy Rakic</name>
<email>remy.rakic+github@gmail.com</email>
</author>
<published>2025-01-18T22:08:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7302b302d08e3d884d75a688a5a38c53be78bd87'/>
<id>urn:sha1:7302b302d08e3d884d75a688a5a38c53be78bd87</id>
<content type='text'>
This reverts commit e108481f74ff123ad98a63bd107a18d13035b275, reversing
changes made to 303e8bd768526a5812bb1776e798e829ddb7d3ca.

(cherry picked from commit ca1c17c88d1f625763859396ba7a50f36ac45cc0)
</content>
</entry>
<entry>
<title>Delete `Rvalue::Len`</title>
<updated>2024-12-22T14:12:39+00:00</updated>
<author>
<name>Scott McMurray</name>
<email>scottmcm@users.noreply.github.com</email>
</author>
<published>2024-12-14T01:43:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5ba54c9e31696f3b0a5c59cae17cffdb0d340934'/>
<id>urn:sha1:5ba54c9e31696f3b0a5c59cae17cffdb0d340934</id>
<content type='text'>
Everything's moved to `PtrMetadata` instead.
</content>
</entry>
<entry>
<title>rename rustc_attr to rustc_attr_parsing and create rustc_attr_data_structures</title>
<updated>2024-12-16T18:08:19+00:00</updated>
<author>
<name>Jonathan Dönszelmann</name>
<email>jonathan@donsz.nl</email>
</author>
<published>2024-12-13T13:47:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=efb98b6552abd00c58a2c1dd171b9086edf28214'/>
<id>urn:sha1:efb98b6552abd00c58a2c1dd171b9086edf28214</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Bounds-check with PtrMetadata instead of Len in MIR</title>
<updated>2024-12-03T19:05:45+00:00</updated>
<author>
<name>Scott McMurray</name>
<email>scottmcm@users.noreply.github.com</email>
</author>
<published>2024-12-02T04:14:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=612adbb6bf88ecf549fb93cb1f4edcf793bca88e'/>
<id>urn:sha1:612adbb6bf88ecf549fb93cb1f4edcf793bca88e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move `always_storage_live_locals`.</title>
<updated>2024-11-26T01:05:57+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-11-22T06:52:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3d12160dfcb4d95cd3f1eaa23071fb9b4e3d69ab'/>
<id>urn:sha1:3d12160dfcb4d95cd3f1eaa23071fb9b4e3d69ab</id>
<content type='text'>
It's very closely related to `MaybeStorageLive` and `MaybeStorageDead`.
It's weird that it's currently in a different module.
</content>
</entry>
<entry>
<title>Deduplicate checking drop terminator</title>
<updated>2024-11-22T16:54:41+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-11-19T17:18:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=af0d566e76a709caa2a89123202f583cbcc877e2'/>
<id>urn:sha1:af0d566e76a709caa2a89123202f583cbcc877e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Gate const drop behind const_destruct feature, and fix const_precise_live_drops post-drop-elaboration check</title>
<updated>2024-11-22T16:54:40+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-11-19T17:08:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=20882608529a969bd878ad787cf0038716c021df'/>
<id>urn:sha1:20882608529a969bd878ad787cf0038716c021df</id>
<content type='text'>
</content>
</entry>
<entry>
<title>reduce false positives of tail-expr-drop-order from consumed values</title>
<updated>2024-11-20T12:53:11+00:00</updated>
<author>
<name>Ding Xiang Fei</name>
<email>dingxiangfei2009@protonmail.ch</email>
</author>
<published>2024-09-01T17:13:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=297b618944d4619a1990b1992d9142c6cf893dc6'/>
<id>urn:sha1:297b618944d4619a1990b1992d9142c6cf893dc6</id>
<content type='text'>
take 2

open up coroutines

tweak the wordings

the lint works up until 2021

We were missing one case, for ADTs, which was
causing `Result` to yield incorrect results.

only include field spans with significant types

deduplicate and eliminate field spans

switch to emit spans to impl Drops

Co-authored-by: Niko Matsakis &lt;nikomat@amazon.com&gt;

collect drops instead of taking liveness diff

apply some suggestions and add explantory notes

small fix on the cache

let the query recurse through coroutine

new suggestion format with extracted variable name

fine-tune the drop span and messages

bugfix on runtime borrows

tweak message wording

filter out ecosystem types earlier

apply suggestions

clippy

check lint level at session level

further restrict applicability of the lint

translate bid into nop for stable mir

detect cycle in type structure
</content>
</entry>
<entry>
<title>Auto merge of #132460 - lcnr:questionable-uwu, r=compiler-errors</title>
<updated>2024-11-18T21:07:05+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2024-11-18T21:07:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b71fb5edc0217eaf8fc824a44cd7b0945e29ff4d'/>
<id>urn:sha1:b71fb5edc0217eaf8fc824a44cd7b0945e29ff4d</id>
<content type='text'>
Use `TypingMode` throughout the compiler instead of `ParamEnv`

Hopefully the biggest single PR as part of https://github.com/rust-lang/types-team/issues/128.

## `infcx.typing_env` while defining opaque types

I don't know how'll be able to correctly handle opaque types when using something taking a `TypingEnv` while defining opaque types. To correctly handle the opaques we need to be able to pass in the current `opaque_type_storage` and return constraints, i.e. we need to use a proper canonical query. We should migrate all the queries used during HIR typeck and borrowck where this matters to proper canonical queries. This is

## `layout_of` and `Reveal::All`

We convert the `ParamEnv` to `Reveal::All` right at the start of the `layout_of` query, so I've changed callers of `layout_of` to already use a post analysis `TypingEnv` when encountering it.

https://github.com/rust-lang/rust/blob/ca87b535a05097df6abbe2a031b057de2cefac5b/compiler/rustc_ty_utils/src/layout.rs#L51

## `Ty::is_[unpin|sized|whatever]`

I haven't migrated `fn is_item_raw` to use `TypingEnv`, will do so in a followup PR, this should significantly reduce the amount of `typing_env.param_env`. At some point there will probably be zero such uses as using the type system while ignoring the `typing_mode` is incorrect.

## `MirPhase` and phase-transitions

When inside of a MIR-body, we can mostly use its `MirPhase` to figure out the right `typing_mode`. This does not work during phase transitions, most notably when transitioning from `Analysis` to `Runtime`:

https://github.com/rust-lang/rust/blob/dae7ac133b9eda152784c075facb31a6688c92b1/compiler/rustc_mir_transform/src/lib.rs#L606-L625

All these passes still run with `MirPhase::Analysis`, but we should only use `Reveal::All` once we're run the `RevealAll` pass. This required me to manually construct the right `TypingEnv` in all these passes. Given that it feels somewhat easy to accidentally miss this going forward, I would maybe like to change `Body::phase` to an `Option` and replace it at the start of phase transitions. This then makes it clear that the MIR is currently in a weird state.

r? `@ghost`
</content>
</entry>
</feed>
