<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_trait_selection/src/traits, branch 1.84.1</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.84.1</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.84.1'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-01-23T19:48:40+00:00</updated>
<entry>
<title>add cache to `AmbiguityCausesVisitor`</title>
<updated>2025-01-23T19:48:40+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2025-01-17T09:01:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=882a0b520866020bf2830fce0b63291b29bb8d3a'/>
<id>urn:sha1:882a0b520866020bf2830fce0b63291b29bb8d3a</id>
<content type='text'>
(cherry picked from commit 94bf8f04f402a2410ab85a6e6b9e542e3942b2a2)
</content>
</entry>
<entry>
<title>avoid running the overlap check twice</title>
<updated>2025-01-23T19:48:40+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2025-01-15T08:58:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fed7b2b17103f02b9e56a88552ba0490063fd32c'/>
<id>urn:sha1:fed7b2b17103f02b9e56a88552ba0490063fd32c</id>
<content type='text'>
(cherry picked from commit ebbcfd4e7721aaf3211f0e8d3d6e304400c80f78)
</content>
</entry>
<entry>
<title>Make sure to record deps from cached task in new solver on first run</title>
<updated>2025-01-23T19:46:15+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-12-03T22:47:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bc1efc5dc32d31f5fe8f48ecccc38f0ff08188d9'/>
<id>urn:sha1:bc1efc5dc32d31f5fe8f48ecccc38f0ff08188d9</id>
<content type='text'>
(cherry picked from commit 988f28d442d2e959897e43a239f67d42e0297990)
</content>
</entry>
<entry>
<title>Rip out built-in PointerLike impl</title>
<updated>2024-11-20T16:13:57+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-11-19T21:23:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=06e66d78c3a104b30fd59714d4dbb1a5d9f351bb'/>
<id>urn:sha1:06e66d78c3a104b30fd59714d4dbb1a5d9f351bb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>additional `TypingEnv` cleanups</title>
<updated>2024-11-19T20:36:23+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2024-11-19T20:11:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=002efeb72ac465cf04660537ca902172ab0e491b'/>
<id>urn:sha1:002efeb72ac465cf04660537ca902172ab0e491b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rustdoc: yeet `TypingEnv::from_param_env`</title>
<updated>2024-11-19T17:35:41+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2024-11-19T17:07:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4813fda2e6d89c948c56685e83c1dcb90ed30f5d'/>
<id>urn:sha1:4813fda2e6d89c948c56685e83c1dcb90ed30f5d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>use `TypingEnv` when no `infcx` is available</title>
<updated>2024-11-18T09:38:56+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2024-11-15T12:53:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9cba14b95bb07a5b31ed1aac2bf4eadd248232da'/>
<id>urn:sha1:9cba14b95bb07a5b31ed1aac2bf4eadd248232da</id>
<content type='text'>
the behavior of the type system not only depends on the current
assumptions, but also the currentnphase of the compiler. This is
mostly necessary as we need to decide whether and how to reveal
opaque types. We track this via the `TypingMode`.
</content>
</entry>
<entry>
<title>Handle infer vars in anon consts on stable</title>
<updated>2024-11-12T21:36:42+00:00</updated>
<author>
<name>Boxy</name>
<email>rust@boxyuwu.dev</email>
</author>
<published>2024-11-12T21:35:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6dad0749075b77b08788f530dca5a3af0a26b6d7'/>
<id>urn:sha1:6dad0749075b77b08788f530dca5a3af0a26b6d7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Consolidate type system const evaluation under `traits::evaluate_const`</title>
<updated>2024-11-12T02:54:03+00:00</updated>
<author>
<name>Boxy</name>
<email>rust@boxyuwu.dev</email>
</author>
<published>2024-11-12T02:54:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bea0148ac62758a99dcc2ac2cc2efedacb8881bf'/>
<id>urn:sha1:bea0148ac62758a99dcc2ac2cc2efedacb8881bf</id>
<content type='text'>
mew
</content>
</entry>
<entry>
<title>Auto merge of #132625 - compiler-errors:cache-only-if-opaque, r=lcnr</title>
<updated>2024-11-06T21:22:14+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2024-11-06T21:22:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c07aa1e17199e27f6f7ac8f3307bca7bda0084b6'/>
<id>urn:sha1:c07aa1e17199e27f6f7ac8f3307bca7bda0084b6</id>
<content type='text'>
Only disable cache if predicate has opaques within it

This is an alternative to https://github.com/rust-lang/rust/pull/132075.

This refines the check implemented in https://github.com/rust-lang/rust/pull/126024 to only disable the global cache if the predicate being considered has opaques in it. This is still theoretically unsound, since goals can indirectly rely on opaques in the defining scope, but we're much less likely to hit it.

It doesn't totally fix https://github.com/rust-lang/rust/issues/132064: for example, `lemmy` goes from 1:29 (on rust 1.81) to 9:53 (on nightly) to 4:07 (after this PR). But I think it's at least *more* sound than a total revert :/

r? lcnr
</content>
</entry>
</feed>
