about summary refs log tree commit diff
path: root/compiler/rustc_target/src
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-11-06 21:22:14 +0000
committerbors <bors@rust-lang.org>2024-11-06 21:22:14 +0000
commitc07aa1e17199e27f6f7ac8f3307bca7bda0084b6 (patch)
treeb05c5cf7e7d316ac5796300302791cf4099e0a69 /compiler/rustc_target/src
parent8549802939cd01111c46e34a7b67cb1933977af9 (diff)
parent49153739fd01d82ed999c763fd2771cb837d7dd2 (diff)
downloadrust-c07aa1e17199e27f6f7ac8f3307bca7bda0084b6.tar.gz
rust-c07aa1e17199e27f6f7ac8f3307bca7bda0084b6.zip
Auto merge of #132625 - compiler-errors:cache-only-if-opaque, r=lcnr
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
Diffstat (limited to 'compiler/rustc_target/src')
0 files changed, 0 insertions, 0 deletions