<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_hir_analysis/src/collect, 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-02T08:09:33+00:00</updated>
<entry>
<title>Auto merge of #147138 - jackh726:split-canonical-bound, r=lcnr</title>
<updated>2025-10-02T08:09:33+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-10-02T08:09:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4b9c62b4da3e17cee99d3d2052f1c576b188e2a8'/>
<id>urn:sha1:4b9c62b4da3e17cee99d3d2052f1c576b188e2a8</id>
<content type='text'>
Split Bound index into Canonical and Bound

See [#t-types/trait-system-refactor &gt; perf &amp;#96;async-closures/post-mono-higher-ranked-hang.rs&amp;#96;](https://rust-lang.zulipchat.com/#narrow/channel/364551-t-types.2Ftrait-system-refactor/topic/perf.20.60async-closures.2Fpost-mono-higher-ranked-hang.2Ers.60/with/541535613) for context

Things compile and tests pass, but not sure if this actually solves the perf issue (edit: it does). Opening up this to do a perf (and maybe crater) run.

r? lcnr
</content>
</entry>
<entry>
<title>Rollup merge of #146593 - Jules-Bertholet:restrict-e0719, r=BoxyUwU</title>
<updated>2025-10-01T16:42:34+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>476013+matthiaskrgr@users.noreply.github.com</email>
</author>
<published>2025-10-01T16:42:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=15b7792a65a5f50d22f77c02cff75f8015c48bc8'/>
<id>urn:sha1:15b7792a65a5f50d22f77c02cff75f8015c48bc8</id>
<content type='text'>
Allow specifying multiple bounds for same associated item, except in trait objects

Supersedes https://github.com/rust-lang/rust/pull/143146, fixes https://github.com/rust-lang/rust/issues/143143.

This PR proposes to stop enforcing E0719 in all contexts other than trait object types.

E0719 forbids constraining the same associated item twice within the same angle-bracket delimited associated item bound list (the `…` inside `T: Trait&lt;…&gt;`). For example, the following are forbidden:

| Forbidden                                  | Working alternative                                                |
|--------------------------------------------|--------------------------------------------------------------------|
| `T: Trait&lt;Gat&lt;u32&gt; = u32, Gat&lt;u64&gt; = u64&gt;` | `T: Trait&lt;Gat&lt;u32&gt; = u32&gt; + Trait&lt;Gat&lt;u64&gt; = u64&gt;`                 |
| `T: Iterator&lt;Item = u32, Item = i32&gt;`      | `T: Iterator&lt;Item = u32&gt; + Iterator&lt;Item = i32&gt;` (trivially false) |
| `T: Iterator&lt;Item = u32, Item = u32&gt;`      | `T: Iterator&lt;Item = u32&gt;`                                          |
| `T: Iterator&lt;Item: Send, Item: Sync&gt;`      | `T: Iterator&lt;Item: Send + Sync&gt;`                                   |
| `T: Trait&lt;ASSOC = 3, ASSOC = 4&gt;`           | `T: Trait&lt;ASSOC = 3&gt; + Trait&lt;ASSOC = 4&gt;` (trivially false)         |
| `T: Trait&lt;ASSOC = 3, ASSOC = 3&gt;`           | `T: Trait&lt;ASSOC = 3&gt;`                                              |

With this PR, all those previously forbidden examples would start working, as well as their APIT and RPIT equivalents.

Types like `dyn Iterator&lt;Item = u32, Item = u32&gt;` will continue to be rejected, however. See https://github.com/rust-lang/rust/pull/143146#issuecomment-3274421752 for the reason why.

```@rustbot``` label T-lang T-types needs-fcp
</content>
</entry>
<entry>
<title>Split Bound into Canonical and Bound</title>
<updated>2025-09-30T16:58:28+00:00</updated>
<author>
<name>jackh726</name>
<email>git@jackhuey.me</email>
</author>
<published>2025-09-28T23:04:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d1bbd39c59523d7a5499816a9da200a5910f8b7f'/>
<id>urn:sha1:d1bbd39c59523d7a5499816a9da200a5910f8b7f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `overlapping_assoc_constraints` param to `lower_bounds`</title>
<updated>2025-09-29T14:34:19+00:00</updated>
<author>
<name>Jules Bertholet</name>
<email>julesbertholet@quoi.xyz</email>
</author>
<published>2025-09-29T14:34:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9f667cdd243d905848ccfc031f4c1373828c9a7d'/>
<id>urn:sha1:9f667cdd243d905848ccfc031f4c1373828c9a7d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename various "concrete opaque type" terminology to say "hidden type"</title>
<updated>2025-09-27T21:58:02+00:00</updated>
<author>
<name>Boxy Uwu</name>
<email>rust@boxyuwu.dev</email>
</author>
<published>2025-09-27T21:58:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4d411775139e1bc39c2752d78e40f2bcecb5304b'/>
<id>urn:sha1:4d411775139e1bc39c2752d78e40f2bcecb5304b</id>
<content type='text'>
</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>Introduce hir::ImplItemImplKind</title>
<updated>2025-09-12T20:14:15+00:00</updated>
<author>
<name>Cameron Steffen</name>
<email>cam.steffen94@gmail.com</email>
</author>
<published>2025-08-05T20:59:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=88a8bfcaf0398011b621a981483c288d1e3b64e2'/>
<id>urn:sha1:88a8bfcaf0398011b621a981483c288d1e3b64e2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Introduce trait_item_of</title>
<updated>2025-09-12T20:10:30+00:00</updated>
<author>
<name>Cameron Steffen</name>
<email>cam.steffen94@gmail.com</email>
</author>
<published>2025-08-15T21:12:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=16c218c57ff83c82ba58753c3a67f697e260adc1'/>
<id>urn:sha1:16c218c57ff83c82ba58753c3a67f697e260adc1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Default auto traits: revert to the default supertraits</title>
<updated>2025-09-10T12:08:06+00:00</updated>
<author>
<name>Bryanskiy</name>
<email>ivakin.kir@gmail.com</email>
</author>
<published>2025-08-19T18:34:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bd089e1e6e52256c0535f19f58b4b6fe9609b70c'/>
<id>urn:sha1:bd089e1e6e52256c0535f19f58b4b6fe9609b70c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove dead code stemming from an old effects desugaring</title>
<updated>2025-09-01T19:39:01+00:00</updated>
<author>
<name>León Orell Valerian Liehr</name>
<email>me@fmease.dev</email>
</author>
<published>2025-09-01T19:39:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6fc0cf428885a4939fc3b6f60f638ce09e48339f'/>
<id>urn:sha1:6fc0cf428885a4939fc3b6f60f638ce09e48339f</id>
<content type='text'>
</content>
</entry>
</feed>
