rust/compiler/rustc_trait_selection
bors 2b1365b34f Auto merge of #119735 - lcnr:provisional-cache-readd, r=compiler-errors
next solver: provisional cache

this adds the cache removed in #115843. However, it should now correctly track whether a provisional result depends on an inductive or coinductive stack.

While working on this, I was using the following doc: https://hackmd.io/VsQPjW3wSTGUSlmgwrDKOA. I don't think it's too helpful to understanding this, but am somewhat hopeful that the inline comments are more useful.

There are quite a few future perf improvements here. Given that this is already very involved I don't believe it is worth it (for now). While working on this PR one of my few attempts to significantly improve perf ended up being unsound again because I was not careful enough 

r? `@compiler-errors`
2024-01-12 07:04:42 +00:00
..
src Auto merge of #119735 - lcnr:provisional-cache-readd, r=compiler-errors 2024-01-12 07:04:42 +00:00
Cargo.toml avoid always rerunning in case of a cycle 2024-01-09 11:19:34 +01:00
messages.ftl Restrict what symbols can be used in #[diagnostic::on_unimplemented] format strings 2023-12-04 10:00:33 +01:00