Skip to content

lang team review for new trait solver #164701

Open

Description

@tmandry

We previously discussed with members of the types team that the stabilization in #164209 is big enough to warrant lang review. Since the FCP on that PR was types-only, @lcnr and I agreed that we should break off an issue for the lang team to FCP separately.

This issue covers lang concerns for stabilization of the new trait solver in #164209. In particular, the summary document https://github.com/rust-lang/trait-system-refactor-initiative/blob/main/notes/stabilization-report/meta.md and linked documents cover lang-level concerns like the impact of breaking changes.

The lang team has agreed to review this as a product-level decision for the language. We trust the types team to handle the details. So the question is this: Do we think the cost of stabilizing the new trait solver is worth it, compared to the cost of not stabilizing it?

I firmly believe the answer is yes, for many of the reasons described at the bottom of the description of #164209. Namely:

  • keeping the old solver enabled by default results in new crates depending on intentionally broken behavior
  • we're blocking a bunch of work on the new trait solver being stable
  • the complexity of maintaining two trait solvers is high

This is an enormous effort, and in any such effort there will be imperfections. I am happy to ship what we have for the sake of the improvements it unlocks in the language.

Activity

  1. added
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Oct 21, 2026
  2. removed
    needs-triageThis issue may need triage. Remove when done. See docs forge.rust-lang.org/release/issue-triaging
    on Oct 21, 2026
  3. tmandry commented on Oct 21, 2026

    @tmandry
    MemberAuthor

    @rfcbot fcp merge lang

  4. rust-rfcbot commented on Oct 21, 2026

    @rust-rfcbot
    Collaborator

    @tmandry has proposed to merge this. The next step is review by the rest of the tagged team members:

    No concerns currently listed.

    Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!

    cc @rust-lang/lang-advisors: FCP proposed for lang, please feel free to register concerns.
    See this document for info about what commands tagged team members can give me.

  5. added
    proposed-final-comment-periodProposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off.
    disposition-mergeThis issue / PR is in PFCP or FCP with a disposition to merge it.
    on Oct 21, 2026
  6. joshtriplett commented on Oct 21, 2026

    @joshtriplett
    Member

    Huge congratulations to the team working on the new trait solver; this is incredible work.

    👍 for the idea of "ship it and keep working", here. I think the types team is making a prudent decision that has clearly taken great care to evaluate the risk of proceeding versus the risk of holding off. Types has the expertise to make that call here, and I'd defer to their judgement.

    I am very happy for all the features this will unlock. I'm sure there will be a lot of excitement for those features. I also wish the types team a very well-deserved breather now that they've shipped this. ❤️

    🚢 🦀 🛌

    @rfcbot reviewed

  7. nikomatsakis commented on Oct 21, 2026

    @nikomatsakis
    Contributor

    @rfcbot reviewed

    My comments from our lang doc:

    I'm very excited to see this major milestone. "Perfection is a process" -- the regressions and work to be done do not concern me, there is always work to be done, and I think this is going to be a major turning point in our ability to deliver on long-blocked Rust improvements. 💜

  8. added
    final-comment-periodIn the final comment period and will be merged soon unless new substantive objections are raised.
    and removed
    proposed-final-comment-periodProposed to merge/close by relevant subteam, see T-<team> label. Will enter FCP once signed off.
    on Oct 21, 2026
  9. rust-rfcbot commented on Oct 21, 2026

    @rust-rfcbot
    Collaborator

    🔔 This is now entering its final comment period, as per the review above. 🔔

  10. scottmcm commented on Oct 21, 2026

    @scottmcm
    Member

    Thank you for all the work that's gone into this! I'm really excited by all the things that will get unblocked: both features coming and in simplifying contributions to the compiler.

    No lang concerns here. While I understand there are differences, I'm happy to trust the experts on those being minor and either in the works or just fixes. (As opposed to, say, changes in-your-face enough that people would update cookbooks or something just because of this stabilization -- of course this will unblock lots of big things that will definitely have those impacts, just in future FCPs.)

  11. traviscross commented on Oct 21, 2026

    @traviscross
    Contributor

    What's there to say? It's quite exciting to see this stabilize. And it's exciting to unblock the many things that have been gated on this, such as TAIT, ATPIT, and RTN.

    Thanks to @lcnr, to @compiler-errors, and to the many others who have worked to make this possible.

    From the lang side, I see our product-level decision here as about accepting the breakage without warning that's part of this stabilization. It's clear, I think, that we should do that, given the many benefits this stabilization brings.

    Going forward, our task will be to make effective use of this, and to bring to the language and to our users the expressive and valuable things that are now possible.

    @rfcbot reviewed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-langRelevant to the language teamdisposition-mergeThis issue / PR is in PFCP or FCP with a disposition to merge it.final-comment-periodIn the final comment period and will be merged soon unless new substantive objections are raised.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions