-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove chalk support from Rust #93
Comments
This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed. cc @rust-lang/types |
@rustbot second |
/concern As I mentioned on zulip I do think the Chalk integration is still useful, particularly with my experimentation with associated types. Can you say more about exactly how it's a burden to maintain? New features and such don't need to be implemented in the Chalk integration code. Is there some specific changes or refactoring that we can't do because of the chalk integration code? (That can't simply just be |
Remove chalk support from the compiler Removes chalk (`-Ztrait-solver=chalk`) from the compiler and prunes any dead code resulting from this, mainly: * Remove the chalk compatibility layer in `compiler/rustc_traits/src/chalk` * Remove the chalk flag `-Ztrait-solver=chalk` and its `TraitEngine` implementation * Remove `TypeWellFormedFromEnv` (and its many `bug!()` match arms) * Remove the chalk migration mode from compiletest * Remove the `chalkify` UI tests (do we want to keep any of these, but migrate them to `-Ztrait-solver=next`??) Fulfills rust-lang/types-team#93. r? `@jackh726`
Proposal
As far as I'm aware, the Chalk compiler is deprecated1. My understanding is that T-types will continue maintaining it for rust-analyzer, but we have no plans to continue integrating it into rustc and it's a bit of a burden on the compiler due to the interning layer from chalk <=> rustc and the specific workarounds that live in the compiler to accomodate for the chalk solver.
Mentors or Reviewers
I can implement the removal. The code should be very easy to review since it's just a bunch of code going away.
Process
The main points of the Major Change Process are as follows:
@rustbot second
.-C flag
, then full team check-off is required.@rfcbot fcp merge
on either the MCP or the PR.You can read more about Major Change Proposals on forge.
Comments
Not sure if this should be a full-fledged FCP. If so, I can open one on the removal PR.
Footnotes
https://blog.rust-lang.org/2023/01/20/types-announcement.html#formalizing-the-rust-type-system ↩
The text was updated successfully, but these errors were encountered: