<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_middle/src, branch 1.68.2</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.68.2</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.68.2'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-03-19T00:48:17+00:00</updated>
<entry>
<title>Don't eagerly convert principal to string</title>
<updated>2023-03-19T00:48:17+00:00</updated>
<author>
<name>clubby789</name>
<email>jamie@hill-daniel.co.uk</email>
</author>
<published>2023-02-17T14:32:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1e4eb64a8ce51cb213917de75df3959d19c8377a'/>
<id>urn:sha1:1e4eb64a8ce51cb213917de75df3959d19c8377a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #106977 - michaelwoerister:unord_id_collections, r=oli-obk</title>
<updated>2023-01-21T14:18:17+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-01-21T14:18:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=005fc0f00f2d4ceaf523b67a8f9c5665b8ac5baf'/>
<id>urn:sha1:005fc0f00f2d4ceaf523b67a8f9c5665b8ac5baf</id>
<content type='text'>
Use UnordMap and UnordSet for id collections (DefIdMap, LocalDefIdMap, etc)

This PR changes the `rustc_data_structures::define_id_collections!` macro to use `UnordMap` and `UnordSet` instead of `FxHashMap` and `FxHashSet`. This should account for a large portion of hash-maps being used in places where they can cause trouble.

The changes required are moderate but non-zero:
- In some places the collections are extracted into sorted vecs.
- There are a few instances where for-loops have been changed to extends.

~~Let's see what the performance impact is. With a bit more refactoring, we might be able to get rid of some of the additional sorting -- but the change set is already big enough. Unless there's a performance impact, I'd like to do further changes in subsequent PRs.~~

Performance does not seem to be negatively affected ([perf-run here](https://github.com/rust-lang/rust/pull/106977#issuecomment-1396776699)).

Part of [MCP 533](https://github.com/rust-lang/compiler-team/issues/533).

r? `@ghost`
</content>
</entry>
<entry>
<title>Auto merge of #107106 - matthiaskrgr:rollup-g7r1ep0, r=matthiaskrgr</title>
<updated>2023-01-20T15:28:40+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-01-20T15:28:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a6269dad38e6ede0013ba3688099544833933c63'/>
<id>urn:sha1:a6269dad38e6ede0013ba3688099544833933c63</id>
<content type='text'>
Rollup of 6 pull requests

Successful merges:

 - #106699 ([drop tracking] Visit break expressions )
 - #106738 (Fix known-bug annotations)
 - #106891 (Tweak "borrow closure argument" suggestion)
 - #106928 (add raw identifier for keyword in suggestion)
 - #107065 (Clippy: Make sure to include in beta: Move `unchecked_duration_subtraction` to pedantic)
 - #107068 (autoderive Subdiagnostic for AddtoExternBlockSuggestion)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>Auto merge of #107105 - matthiaskrgr:rollup-rkz9t7r, r=matthiaskrgr</title>
<updated>2023-01-20T12:58:13+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-01-20T12:58:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=04a41f889f563b2384c63c990b5423d201d62ebd'/>
<id>urn:sha1:04a41f889f563b2384c63c990b5423d201d62ebd</id>
<content type='text'>
Rollup of 8 pull requests

Successful merges:

 - #106783 (Recover labels written as identifiers)
 - #106973 (Don't treat closures from other crates as local)
 - #106979 (Document how to get the type of a default associated type)
 - #107053 (signal update string representation for haiku.)
 - #107058 (Recognise double-equals homoglyph)
 - #107067 (Custom MIR: Support storage statements)
 - #107076 (Added const-generic ui test case for issue #106419)
 - #107091 (Fix broken format strings in `infer.ftl`)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>Rollup merge of #106928 - bvanjoi:print-keyword-raw-identifier, r=petrochenkov</title>
<updated>2023-01-20T06:25:29+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2023-01-20T06:25:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=da7a0c0b306f84b707c4821a21c71ba35e2d5338'/>
<id>urn:sha1:da7a0c0b306f84b707c4821a21c71ba35e2d5338</id>
<content type='text'>
add raw identifier for keyword in suggestion

fix https://github.com/rust-lang/rust/issues/106841
</content>
</entry>
<entry>
<title>Rollup merge of #106979 - Nilstrieb:type-of-default-assoc-type, r=petrochenkov</title>
<updated>2023-01-20T06:16:09+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2023-01-20T06:16:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a2712cb4b641d408f2f00d418883c159abaee280'/>
<id>urn:sha1:a2712cb4b641d408f2f00d418883c159abaee280</id>
<content type='text'>
Document how to get the type of a default associated type
</content>
</entry>
<entry>
<title>Auto merge of #106090 - WaffleLapkin:dereffffffffff, r=Nilstrieb</title>
<updated>2023-01-20T04:52:28+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-01-20T04:52:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=56ee85274e5a3a4dda92f3bf73d1664c74ff9c15'/>
<id>urn:sha1:56ee85274e5a3a4dda92f3bf73d1664c74ff9c15</id>
<content type='text'>
Remove some `ref` patterns from the compiler

Previous PR: https://github.com/rust-lang/rust/pull/105368

r? `@Nilstrieb`
</content>
</entry>
<entry>
<title>Auto merge of #107038 - compiler-errors:dont-wfcheck-non-local-rpit, r=oli-obk</title>
<updated>2023-01-19T16:49:06+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-01-19T16:49:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4c83bd03a9d94af35c97a6b8b595d40e291af84a'/>
<id>urn:sha1:4c83bd03a9d94af35c97a6b8b595d40e291af84a</id>
<content type='text'>
Don't wf-check non-local RPITs

We were using `ty::is_impl_trait_defn(..).is_none()` to check if we need to add WF obligations for an opaque type.

This is *supposed* to be checking if the type is a TAIT, since RPITs' wfness is implied by wf checking its parent item, but since `is_impl_trait_defn` returns `None` for non-local RPIT and async futures, we unnecessarily consider wf predicates for an RPIT if it is coming from a foreign crate.

Fixes #107036

r? `@oli-obk` but feel free to reassign
</content>
</entry>
<entry>
<title>add raw identifier for keyword in suggestion</title>
<updated>2023-01-19T16:36:20+00:00</updated>
<author>
<name>bohan</name>
<email>bohan-zhang@foxmail.com</email>
</author>
<published>2023-01-16T07:09:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=97ae79ac9d8090dcbf0242865cda171d00ea116a'/>
<id>urn:sha1:97ae79ac9d8090dcbf0242865cda171d00ea116a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Encode whether foreign opaques are TAITs or not</title>
<updated>2023-01-19T15:45:49+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2023-01-18T18:03:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=200f466d1a3cd1530752842b6895c73fc61b0cb6'/>
<id>urn:sha1:200f466d1a3cd1530752842b6895c73fc61b0cb6</id>
<content type='text'>
</content>
</entry>
</feed>
