<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_trait_selection/src, branch 1.56.1</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.56.1</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.56.1'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2021-10-04T19:37:55+00:00</updated>
<entry>
<title>Auto merge of #89285 - jackh726:issue-88862, r=nikomatsakis</title>
<updated>2021-10-04T19:37:55+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2021-09-27T14:08:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bb4672b168bdbd7c03ba137104d076c1a99d635a'/>
<id>urn:sha1:bb4672b168bdbd7c03ba137104d076c1a99d635a</id>
<content type='text'>
Don't normalize opaque types with escaping late-bound regions

Fixes #88862

Turns out, this has some really bad perf implications in large types (issue #88862). While we technically can handle them fine, it doesn't change test output either way. For now, revert with an added benchmark. Future attempts to change this back will have to consider perf.

Needs a perf run once https://github.com/rust-lang/rustc-perf/pull/1033 is merged

r? `@nikomatsakis`
</content>
</entry>
<entry>
<title>Auto merge of #89125 - Aaron1011:remove-intercrate-cache, r=jackh726</title>
<updated>2021-10-04T19:13:43+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2021-09-21T13:25:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f8e5fdaab6c4fb99a730fd0712738806c3325127'/>
<id>urn:sha1:f8e5fdaab6c4fb99a730fd0712738806c3325127</id>
<content type='text'>
Don't use projection cache or candidate cache in intercrate mode

Fixes #88969

It appears that *just* disabling the evaluation cache (in #88994)
leads to other issues involving intercrate mode caching. I suspect
that since we now always end up performing the full evaluation
in intercrate mode, we end up 'polluting' the candidate and projection
caches with results that depend on being in intercrate mode in some way.
Previously, we might have hit a cached evaluation (stored during
non-intercrate mode), and skipped doing this extra work in
intercrate mode.

The whole situation with intercrate mode caching is turning into
a mess. Ideally, we would remove intercrate mode entirely - however,
this might require waiting on Chalk.
</content>
</entry>
<entry>
<title>Auto merge of #88994 - Aaron1011:intercrate-caching, r=jackh726</title>
<updated>2021-10-04T19:13:05+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2021-09-18T17:18:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b893d562d6f2fb9d1715374ece11d2d4784d8ac3'/>
<id>urn:sha1:b893d562d6f2fb9d1715374ece11d2d4784d8ac3</id>
<content type='text'>
Disable the evaluation cache when in intercrate mode

It's possible to use the same `InferCtxt` with both
an intercrate and non-intercrate `SelectionContext`. However,
the local (inferctxt) evaluation cache is not aware of this
distinction, so this kind of `InferCtxt` re-use will pollute
the cache wth bad results.

This commit avoids the issue by disabling the evaluation cache
entirely during intercrate mode.
</content>
</entry>
<entry>
<title>Auto merge of #88618 - m-ou-se:rollup-6tss5z6, r=m-ou-se</title>
<updated>2021-09-03T11:37:52+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2021-09-03T11:37:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c5799b2a73bd03d1d7b4a432fa0a0cb93e7288db'/>
<id>urn:sha1:c5799b2a73bd03d1d7b4a432fa0a0cb93e7288db</id>
<content type='text'>
Rollup of 7 pull requests

Successful merges:

 - #88202 (Add an example for deriving PartialOrd on enums)
 - #88483 (Fix LLVM libunwind build for non-musl targets)
 - #88507 (Add test case for using `slice::fill` with MaybeUninit)
 - #88557 (small const generics cleanup)
 - #88579 (remove redundant / misplaced sentence from docs)
 - #88610 (Update outdated docs of array::IntoIter::new.)
 - #88613 (Update primitive docs for rust 2021.)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>Rollup merge of #88557 - lcnr:const-generics-cleanup, r=BoxyUwU</title>
<updated>2021-09-03T11:30:48+00:00</updated>
<author>
<name>Mara Bos</name>
<email>m-ou.se@m-ou.se</email>
</author>
<published>2021-09-03T11:30:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4b5da4aefe263f044e554b2f654ecdca62086722'/>
<id>urn:sha1:4b5da4aefe263f044e554b2f654ecdca62086722</id>
<content type='text'>
small const generics cleanup
</content>
</entry>
<entry>
<title>Auto merge of #86454 - tlyu:refactor-unsized-suggestions, r=davidtwco</title>
<updated>2021-09-03T08:51:21+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2021-09-03T08:51:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e4e417953920e198f4bc1421ce9e38fd8a85fbca'/>
<id>urn:sha1:e4e417953920e198f4bc1421ce9e38fd8a85fbca</id>
<content type='text'>
Refactor unsized suggestions

`@rustbot` label +A-diagnostics +A-traits +A-typesystem +C-cleanup +T-compiler
</content>
</entry>
<entry>
<title>Report cycle error using 'deepest' obligation in the cycle</title>
<updated>2021-09-02T16:49:32+00:00</updated>
<author>
<name>Aaron Hill</name>
<email>aa1ronham@gmail.com</email>
</author>
<published>2021-08-27T22:34:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=611191f54c563587a9130b8cb4afba1856aebebc'/>
<id>urn:sha1:611191f54c563587a9130b8cb4afba1856aebebc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Preserve most sub-obligations in the projection cache</title>
<updated>2021-09-02T16:10:40+00:00</updated>
<author>
<name>Aaron Hill</name>
<email>aa1ronham@gmail.com</email>
</author>
<published>2021-05-31T18:22:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f2d9ee9c342104880dd978e85260243d2dcedc9a'/>
<id>urn:sha1:f2d9ee9c342104880dd978e85260243d2dcedc9a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>cleanup const generics FIXME</title>
<updated>2021-09-01T09:41:06+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2021-09-01T09:41:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fc2a2650e2e8d86a9eab06eb1a03ff1a0641cd58'/>
<id>urn:sha1:fc2a2650e2e8d86a9eab06eb1a03ff1a0641cd58</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Enforce diverging let...else</title>
<updated>2021-08-31T01:18:42+00:00</updated>
<author>
<name>Cameron Steffen</name>
<email>cam.steffen94@gmail.com</email>
</author>
<published>2021-07-30T16:30:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2f4e86b9ef457ff7b465e73e3aaabfcaa1d9d8e1'/>
<id>urn:sha1:2f4e86b9ef457ff7b465e73e3aaabfcaa1d9d8e1</id>
<content type='text'>
</content>
</entry>
</feed>
