rust/compiler/rustc_trait_selection/src
Aaron Hill 40c6d838cd
Don't cache results of coinductive cycle
Fixes #96319

The logic around handling co-inductive cycles in the evaluation cache
is confusing and error prone. Fortunately, a perf run showed that it
doesn't actually appear to improve performance, so we can simplify
this code (and eliminate a source of ICEs) by just skipping caching
the evaluation results for co-inductive cycle participants.

This commit makes no changes to any of the other logic around
co-inductive cycle handling. Thus, while this commit could
potentially expose latent bugs that were being hidden by
caching, it should not introduce any new bugs.
2022-05-05 14:01:35 -04:00
..
traits Don't cache results of coinductive cycle 2022-05-05 14:01:35 -04:00
autoderef.rs Filter OnceNote in diagnostic infra. 2022-03-20 20:36:26 +01:00
infer.rs Revert "Auto merge of #91491 - spastorino:revert-91354, r=oli-obk" 2021-12-12 12:34:46 +08:00
lib.rs Stabilize bool::then_some 2022-05-04 13:22:08 +02:00
opaque_types.rs Spellchecking compiler comments 2022-03-30 15:14:15 -04:00