<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_middle/src/query, branch 1.77.2</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.77.2</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.77.2'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2024-01-31T05:37:49+00:00</updated>
<entry>
<title>Auto merge of #120346 - petrochenkov:ownodes, r=oli-obk</title>
<updated>2024-01-31T05:37:49+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2024-01-31T05:37:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d53ddcd8bbb41cd977ab4f7a54886fd7779c0eba'/>
<id>urn:sha1:d53ddcd8bbb41cd977ab4f7a54886fd7779c0eba</id>
<content type='text'>
hir: Refactor getters for owner nodes
</content>
</entry>
<entry>
<title>hir: Simplify `hir_owner_nodes` query</title>
<updated>2024-01-30T12:00:52+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2024-01-25T16:16:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=64b6b5b6ce078684dea0d312e3ac0911e1d6a0df'/>
<id>urn:sha1:64b6b5b6ce078684dea0d312e3ac0911e1d6a0df</id>
<content type='text'>
The query accept arbitrary DefIds, not just owner DefIds.
The return can be an `Option` because if there are no nodes, then it doesn't matter whether it's due to NonOwner or Phantom.
Also rename the query to `opt_hir_owner_nodes`.
</content>
</entry>
<entry>
<title>Remove unnecessary unit returns in query declarations</title>
<updated>2024-01-27T13:55:17+00:00</updated>
<author>
<name>DaniPopes</name>
<email>57450786+DaniPopes@users.noreply.github.com</email>
</author>
<published>2024-01-27T13:55:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cda898b0d9a34e4a3615e879fcd4fb2da3fcead5'/>
<id>urn:sha1:cda898b0d9a34e4a3615e879fcd4fb2da3fcead5</id>
<content type='text'>
For consistency with normal functions.
</content>
</entry>
<entry>
<title>Auto merge of #116167 - RalfJung:structural-eq, r=lcnr</title>
<updated>2024-01-26T00:17:00+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2024-01-26T00:17:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=dd2559e08e1530806740931037d6bb83ef956161'/>
<id>urn:sha1:dd2559e08e1530806740931037d6bb83ef956161</id>
<content type='text'>
remove StructuralEq trait

The documentation given for the trait is outdated: *all* function pointers implement `PartialEq` and `Eq` these days. So the `StructuralEq` trait doesn't really seem to have any reason to exist any more.

One side-effect of this PR is that we allow matching on some consts that do not implement `Eq`. However, we already allowed matching on floats and consts containing floats, so this is not new, it is just allowed in more cases now. IMO it makes no sense at all to allow float matching but also sometimes require an `Eq` instance. If we want to require `Eq` we should adjust https://github.com/rust-lang/rust/pull/115893 to check for `Eq`, and rule out float matching for good.

Fixes https://github.com/rust-lang/rust/issues/115881
</content>
</entry>
<entry>
<title>Rollup merge of #119895 - oli-obk:track_errors_3, r=matthewjasper</title>
<updated>2024-01-25T07:39:42+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2024-01-25T07:39:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0c45e3c7ddccca2da8d140737f5e38eb76ff3289'/>
<id>urn:sha1:0c45e3c7ddccca2da8d140737f5e38eb76ff3289</id>
<content type='text'>
Remove `track_errors` entirely

follow up to https://github.com/rust-lang/rust/pull/119869

r? `@matthewjasper`

There are some diagnostic changes adding new diagnostics or not emitting some anymore. We can improve upon that in follow-up work imo.
</content>
</entry>
<entry>
<title>remove StructuralEq trait</title>
<updated>2024-01-24T06:56:23+00:00</updated>
<author>
<name>Ralf Jung</name>
<email>post@ralfj.de</email>
</author>
<published>2023-09-26T07:39:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0df7810734d396d1a3082eee674d542c81c269d2'/>
<id>urn:sha1:0df7810734d396d1a3082eee674d542c81c269d2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove track_errors entirely</title>
<updated>2024-01-23T15:23:22+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>git-spam-no-reply9815368754983@oli-obk.de</email>
</author>
<published>2024-01-23T15:23:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=db7cd5709133ef4a0e45bc13b1b3db7cbf1b3c8f'/>
<id>urn:sha1:db7cd5709133ef4a0e45bc13b1b3db7cbf1b3c8f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add a simpler and more targetted code path for impl trait in assoc items</title>
<updated>2024-01-22T14:35:46+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>git-spam-no-reply9815368754983@oli-obk.de</email>
</author>
<published>2024-01-09T11:12:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f58af9ba28f1bb49f880da43227c65cc10673be2'/>
<id>urn:sha1:f58af9ba28f1bb49f880da43227c65cc10673be2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #120112 - matthiaskrgr:rollup-48o3919, r=matthiaskrgr</title>
<updated>2024-01-19T08:42:17+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2024-01-19T08:42:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=92d727796be7c882d2efbc06e08bbf4743cf29dc'/>
<id>urn:sha1:92d727796be7c882d2efbc06e08bbf4743cf29dc</id>
<content type='text'>
Rollup of 9 pull requests

Successful merges:

 - #119582 (bootstrap: handle vendored sources when remapping crate paths)
 - #119730 (docs: fix typos)
 - #119828 (Improved collapse_debuginfo attribute, added command-line flag)
 - #119869 (replace `track_errors` usages with bubbling up `ErrorGuaranteed`)
 - #120037 (Remove `next_root_ty_var`)
 - #120094 (tests/ui/asm/inline-syntax: adapt for LLVM 18)
 - #120096 (Set RUSTC_BOOTSTRAP=1 consistently)
 - #120101 (change `.unwrap()` to `?` on write where `fmt::Result` is returned)
 - #120102 (Fix typo in munmap_partial.rs)

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>Auto merge of #120006 - cjgillot:no-hir-owner, r=wesleywiser</title>
<updated>2024-01-19T02:36:13+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2024-01-19T02:36:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d3c9082a44f00b22152ebc9c92c129b10ccb7793'/>
<id>urn:sha1:d3c9082a44f00b22152ebc9c92c129b10ccb7793</id>
<content type='text'>
Get rid of the hir_owner query.

This query was meant as a firewall between `hir_owner_nodes` which is supposed to change often, and the queries that only depend on the item signature. That firewall was inefficient, leaking the contents of the HIR body through `HirId`s.

`hir_owner` incurs a significant cost, as we need to hash HIR twice in multiple modes. This PR proposes to remove it, and simplify the hashing scheme.

For the future, `def_kind`, `def_span`... are much more efficient for incremental decoupling, and should be preferred.
</content>
</entry>
</feed>
