2023-11-17 rustc trait system refactor update
for more information, check out the implementation tracking issue #107374, or the Trait System Refactor Initiative Issue Tracker. These updates are from my perspective and are not the official stance of the initiative. They exist to bridge the gap between major progress updates via rust-lang blog posts and the passive status tracking via the tracking issue and the initiative GitHub repository.I did not spend too much time working on the solver as I waited for #117278 to get merged and worked on other things. I finally cleaned up some of our region terminology, implementing types-team#95,
I am still waiting for the T-types FCP in #117088. Once that PR has landed and we’ve fixed some - now fairly straightforward - diagnostics regressions, I intend to open a blogpost asking for testing of the new solver.
I plan to go through our non-fatal overflow handling again before the stabilization to minimize the risk of forward compatibility issues. An example of something we previously didn’t consider is the hang when compiling type-system-chess mentioned last week. There exists at least one known regression caused by the current approach: trait-system-refactor-initiative#70. I don’t expect my work here to result in any significant user-facing changes though.
There has also been a kind of embarrassing bug in the ProofTreeVisitor
API, which has been discovered and fixed by @gavinleroy in #117878. The full list of merged changes can be found here.