Internal Tracking Issue for type system librarification
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
This is an internal tracking issue for the migration type system components into rustc_type_ir and rustc_next_trait_solver to be shared with RustAnalyzer and other users. See the dev-guide for more information.
This is mostly just a loose collection of things we should move into the shared library at some point. Please go to the the #t-types/trait-system-initiative zulip to discuss things and for mentoring opportunities. I will try to link to the relevant zulip topic for anything where it feels fairly clear what to do, while other migrations are less obvious or may interfere with work currently being done.
Specific work items
- Move methods on
Regionextension traits to be inherent instead, where possible - uplift
ty::Constsimilar to #154989 - move generalization into
rustc_type_ir - move
solve/fullfilintorustc_next_trait_solver - move the
LowerUniverseFolderintorustc_type_ir - move
TypingEnvintorustc_type_ir
Long term goals
- partially move
InferCtxtintorustc_type_ir - uplift non-borrowck region handling
Implementation history
This list is very much incomplete, if you find any PRs which have been relevant here please DM @lcnr on zulip about them or add them yourself. Last updated on 2026.07.22
- @compiler-errors #138464 #137263 #129678 #127810 #127439 #127405 #127386 #127333 #126813 #126650 #126614 #126492 #125775 #125724 #125597 #125335 #125284 #125230 #125170 #125150 #125088 #125001 #124982 #121703 #120498 #118888 #118841 #117851 #117586 #117582 #117580 #117578 #117407 #117139 #117008 #116993 #116951 #116912 #116828
- @ChayimFriedman2 #156297 #156295 #155981 #155562 #155034 #149856 #147723 #146182 #146111 #145377
- @Jamesbarford #160986 #154989 #156956 #157695 #154709 #154270 #150271 #149535
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the dev-guide page on sharing crates with Rust Analyzer, then use the listed checklist and the #t-types/trait-system-initiative Zulip channel to find a clearly scoped, mentored item. Done means migrating one agreed type-system component into rustc_type_ir or rustc_next_trait_solver and recording the relevant work on this tracking issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100