2023-12-08 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.

While overflow handling continues to be a major source of pain, there has been some quite significant progress this week. Will try to summarize my current understanding over the next week and will hopefully end up with an acceptable status quo, even if imperfect.

We finally fixed trait-system-refactor-initiative#1 in #118725. While this does not affect coherence, it has been a major blocker when trying to compile crates with -Ztrait-solver=next. After fixing the generalizer in #117088 this PR was now fairly pleasant to implement. It surfaced a bug in writeback with the new solver, causing an ICE. I opened a fix for that in #118751.

@compiler-errors opened #118649 to change the coinductive_overlap_in_coherence lint to a hard error. This will change the existing behavior to match the new solver, simplifying its stabilization.

Also check out the full list of PRs merged this week.

if you find any typos or errors in this post, please pm me on zulip, discord or cohost


impressum rss