-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Tracking Issue for -Znext-solver #107374
Copy link
Copy link
Open
Labels
A-trait-systemArea: Trait systemArea: Trait systemC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-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)
Metadata
Metadata
Assignees
Labels
A-trait-systemArea: Trait systemArea: Trait systemC-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFCT-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)
Type
Fields
Give feedbackNo fields configured for issues without a type.
This is a tracking issue for the next-generation trait solver in rustc. It can be enabled on nightly by using the
-Znext-solverflag. This work is lead by the @rust-lang/initiative-trait-system-refactor.About tracking issues
Tracking issues are used to record the overall progress of implementation. They are also used as hubs connecting to other relevant issues, e.g., bugs or open design questions. A tracking issue is however not meant for large scale discussion, questions, or bug reports about a feature. Instead, open a dedicated issue for the specific matter and add the relevant feature gate label.
Links
Original Types Team MCP: rust-lang/types-team#58
Types Team Tracking Issue: rust-lang/types-team#76
Types Team announcement and Roadmap: https://blog.rust-lang.org/2023/01/20/types-announcement.html
EOY 2023 Update Blog Post: https://blog.rust-lang.org/inside-rust/2023/12/22/trait-system-refactor-initiative.html
2024 Types Team Update Blog Post: https://blog.rust-lang.org/2024/06/26/types-team-update.html
EOY 2024 Update Blog Post: https://blog.rust-lang.org/inside-rust/2024/12/04/trait-system-refactor-initiative.html
-Znext-solver=globallyproject board: -Znext-solver=globally (see https://docs.google.com/spreadsheets/d/1qaPj_YUMDcfm9tqeUllgZZ35GLjfIxVd6SyvMv-1beM instead)Milestones and future work
For a complete list of changes, see the list of merged PRs. We also track the decisions we've made - and decisions we still have to make - in https://github.com/rust-lang/trait-system-refactor-initiative/issues. We mostly discuss these issues on zulip and in Types Team meetings.
Major milestones
-Ztrait-solver=next-coherencebut hacks that make things not fail anymore #113991 initial crater run with-Znext-solver=coherencefeature(with_negative_coherence), which is used while compiling the standard librarynon_local_definitionslintrustc_next_trait_solver#126614 uplift the next-generation trait solver into a separate library-Znext-solver=coherence#121848 (reverted) stabilize-Znext-solver=coherenceagain #130654 stabilize-Znext-solver=coherence-Znext-solver=globallyexperiments #133502 bootstrap with-Znext-solver=globally-Znext-solver=globallyexperiments #133502 (comment) initial perf run with-Znext-solver=globally-Znext-solver=globally-Znext-solver=globally