2023-09-15 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.After mostly just dealing with notifications and reviews due to my vacation, I am now mostly caught up and am working on the new solver again. While I was on vacation there have been a few small improvements to the solver, see the list of merged PRs for that time.
I picked up the work on proof trees again. Progress there continues to be fairly slow. They are ugly to work with and I don’t think there is a way to avoid their issues. After #115838 there are still a few steps left, see the zulip thread for more. Working on something I know to be buggy and subtly broken is draining for me and causes me to very easily get distracted. Will hopefully finish this next week :<
We started the weekly trait-solver/a-mir-formality/polonius meetings again. I talked with @nikomatsakis about ripping out the provisional cache as mentioned in a previous update. I implemented this in #115843 and am really happy about the result. It is now a lot easier to understand. I also uncovered two new bugs of the previous implementation, so it’s definitely a good thing that we removed it :>
if you find any typos or errors in this post, please pm me on zulip, discord or cohost