-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Closed
Copy link
Labels
T-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)The Rustc Trait System Refactor Initiative (-Znext-solver)relnotesMarks issues that should be documented in the release notes of the next release.Marks 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.Marks issues tracking what text to put in release notes.
Milestone
Description
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
Labels
T-typesRelevant to the types team, which will review and decide on the PR/issue.Relevant to the types team, which will review and decide on the PR/issue.WG-trait-system-refactorThe Rustc Trait System Refactor Initiative (-Znext-solver)The Rustc Trait System Refactor Initiative (-Znext-solver)relnotesMarks issues that should be documented in the release notes of the next release.Marks 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.Marks issues tracking what text to put in release notes.