<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_resolve, 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-09-28T21:33:34+00:00</updated>
<entry>
<title>Detect unconstructable re-exported tuple structs</title>
<updated>2025-09-28T21:33:34+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2024-11-25T21:52:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8f7d61b9efe1f44701f87fe4647eb1f39d20f434'/>
<id>urn:sha1:8f7d61b9efe1f44701f87fe4647eb1f39d20f434</id>
<content type='text'>
When a tuple-struct is re-exported that has inaccessible fields at the `use` scope, the type's constructor cannot be accessed through that re-export. We now account for this case and extend the resulting resolution error. We also check if the constructor would be accessible directly, not through the re-export, and if so, we suggest using the full path instead.

```
error[E0423]: cannot initialize a tuple struct which contains private fields
  --&gt; $DIR/ctor-not-accessible-due-to-inaccessible-field-in-reexport.rs:12:33
   |
LL |             let crate::Foo(x) = crate::Foo(42);
   |                                 ^^^^^^^^^^
   |
note: the type is accessed through this re-export, but the type's constructor is not visible in this import's scope due to private fields
  --&gt; $DIR/ctor-not-accessible-due-to-inaccessible-field-in-reexport.rs:3:9
   |
LL | pub use my_mod::Foo;
   |         ^^^^^^^^^^^
help: the type can be constructed directly, because its fields are available from the current scope
   |
LL |             let crate::Foo(x) = crate::my_mod::Foo(42);
   |                                 ~~~~~~~~~~~~~~~~~~
```

Fix #133343.
</content>
</entry>
<entry>
<title>Rollup merge of #145113 - petrochenkov:lessfinalize, r=lcnr</title>
<updated>2025-09-26T16:11:08+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>476013+matthiaskrgr@users.noreply.github.com</email>
</author>
<published>2025-09-26T16:11:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f104ae4252b1f508e5b4a8193954ab518091b2c0'/>
<id>urn:sha1:f104ae4252b1f508e5b4a8193954ab518091b2c0</id>
<content type='text'>
resolve: Do not finalize shadowed bindings

I.e. do not mark them as used, or non-speculatively loaded, or similar.
Previously they were sometimes finalized during early resolution, causing issues like https://github.com/rust-lang/rust/pull/144793#issuecomment-3168108005.
</content>
</entry>
<entry>
<title>Rollup merge of #146283 - LorrensP-2158466:resolve-cm-cell, r=petrochenkov</title>
<updated>2025-09-26T04:36:30+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>476013+matthiaskrgr@users.noreply.github.com</email>
</author>
<published>2025-09-26T04:36:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=82e9e54ef3aee4f12682c461a099f86084c429dc'/>
<id>urn:sha1:82e9e54ef3aee4f12682c461a099f86084c429dc</id>
<content type='text'>
Resolve: (Ref)Cell wrappers to deny mutation during spec resolution.

Introduces wrappers around `Cell` and `RefCell` that only allow mutation when we are not in speculative resolution. This is preparatory work for rust-lang/rust#145108.

It would allow us to make `ImportData` and `ModuleData` sync and send safe.

r? ``@petrochenkov``
</content>
</entry>
<entry>
<title>resolve: Do not finalize shadowed bindings</title>
<updated>2025-09-25T17:36:14+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2025-08-01T18:55:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f89660e4aa018401ca993f0df190e5f4c4a6799b'/>
<id>urn:sha1:f89660e4aa018401ca993f0df190e5f4c4a6799b</id>
<content type='text'>
I.e. do not mark them as used, or non-speculative loaded, or similar.
Previously they were sometimes finalized during early resolution, causing issues like https://github.com/rust-lang/rust/pull/144793#issuecomment-3168108005.
</content>
</entry>
<entry>
<title>Introduce and use CmCell during import resolution.</title>
<updated>2025-09-25T16:38:36+00:00</updated>
<author>
<name>LorrensP-2158466</name>
<email>lorrens.pantelis@student.uhasselt.be</email>
</author>
<published>2025-09-05T06:34:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0374df1b50d227f173c07631b390b271efb04ae6'/>
<id>urn:sha1:0374df1b50d227f173c07631b390b271efb04ae6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move more early buffered lints to dyn lint diagnostics (3/N)</title>
<updated>2025-09-14T10:38:12+00:00</updated>
<author>
<name>León Orell Valerian Liehr</name>
<email>me@fmease.dev</email>
</author>
<published>2025-08-27T13:07:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=27a180a31a10bad8d5116146459a49a16b4f3866'/>
<id>urn:sha1:27a180a31a10bad8d5116146459a49a16b4f3866</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move more early buffered lints to dyn lint diagnostics (2/N)</title>
<updated>2025-09-14T10:38:11+00:00</updated>
<author>
<name>León Orell Valerian Liehr</name>
<email>me@fmease.dev</email>
</author>
<published>2025-08-27T12:11:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=31c0d96cb604ead17afeb09062d10cc019de9560'/>
<id>urn:sha1:31c0d96cb604ead17afeb09062d10cc019de9560</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move more early buffered lints to dyn lint diagnostics (1/N)</title>
<updated>2025-09-14T10:38:11+00:00</updated>
<author>
<name>León Orell Valerian Liehr</name>
<email>me@fmease.dev</email>
</author>
<published>2025-08-26T12:24:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2e816736efaebf1f4666efac1817bcccd78a3e52'/>
<id>urn:sha1:2e816736efaebf1f4666efac1817bcccd78a3e52</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #146254 - yotamofek:pr/itertools-all-equal-value, r=cjgillot</title>
<updated>2025-09-07T06:18:59+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>476013+matthiaskrgr@users.noreply.github.com</email>
</author>
<published>2025-09-07T06:18:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cb8b5fa4e2a68460ffbf7a733cd2851fa13ba6a9'/>
<id>urn:sha1:cb8b5fa4e2a68460ffbf7a733cd2851fa13ba6a9</id>
<content type='text'>
Use `Itertools::all_equal_value()` where applicable

Just a small cleanup.
We already have `itertools` as a dep in these crates, so might as well use another of its features.
Makes the code simpler IMHO :)
</content>
</entry>
<entry>
<title>Use `Itertools::all_equal_value()` where applicable</title>
<updated>2025-09-05T18:43:43+00:00</updated>
<author>
<name>Yotam Ofek</name>
<email>yotam.ofek@gmail.com</email>
</author>
<published>2025-09-05T18:43:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f279ae1b05fe0f12259b3e24d35f5598b18f5ea9'/>
<id>urn:sha1:f279ae1b05fe0f12259b3e24d35f5598b18f5ea9</id>
<content type='text'>
</content>
</entry>
</feed>
