Skip to content

Tracking issue for release notes of #130654: stabilize -Znext-solver=coherence again #133210

Closed
@rustbot

Description

@rustbot

This issue tracks the release notes text for #130654.

Steps

  • Proposed text is drafted by PR author (or team) making the noteworthy change.
  • Issue is nominated for release team review of clarity for wider audience.
  • Release team includes text in release notes/blog posts.

Release notes text

The responsible team for the underlying change should edit this section to replace the automatically generated link with a succinct description of what changed, drawing upon text proposed by the author (either in discussion or through direct editing).

# Language
- [use the next-generation trait solver in coherence](https://github.com/rust-lang/rust/pull/130654)

Tip

Use the previous releases categories to help choose which one(s) to use.
The category will be de-duplicated with all the other ones by the release team.

More than one section can be included if needed.

Release blog section

If the change is notable enough for inclusion in the blog post, the responsible team should add content to this section.
Otherwise leave it empty.

### Next-generation trait solver in coherence

Coherence checking, i.e. the part of the compiler making sure that there is no overlap between different trait implementations, the "coherence check", now uses the next-generation trait solver. This changes fixes many subtle inconsistencies, bugs, and even unsoundnesses. TODO links

The next-generation trait solver is a reimplementation of a core component of Rusts type system. It is not only responsible for checking whether trait-bounds - e.g. `Vec<T>: Clone` - hold, but is also used by many other parts of the type system, such as normalization - figuring out the underlying type of `<Vec<T> as IntoIterator>::Item` - and equating types.

TODO @lcnr

cc @lcnr, @compiler-errors -- origin issue/PR authors and assignees for starting to draft text

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-typesRelevant to the types team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)relnotesMarks issues that should be documented in the release notes of the next release.relnotes-tracking-issueMarks issues tracking what text to put in release notes.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions