-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Closed
Labels
A-trait-systemArea: Trait systemArea: Trait systemC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.WG-traits[RETIRED] Working group: Traits[RETIRED] Working group: Traits
Description
As discussed in the WG-traits planning meeting today, we need to decide how we will represent higher-ranked types in rustc. We decided to try for using debruijn indexing more universally, much as it is done in chalk. The plan is to generalize the existing CanonicalVar
so that it represents a "bound" thing -- probably it just gets unified with DebruijnIndex
. This will take a few steps, each of which I plan to describe in its own sub-issue:
- Cleanup
Binder
fields (cleanup Binder fields #49814) - Make
DebruijnIndex
0-based (Refactor DebruijnIndex to be 0-based #49813) - Unify
CanonicalVar
andDebruijnIndex
(UnifyCanonicalVar
andDebruijnIndex
#49887) - Maybe cleanup how regions are handled to use distinct indices for each region, rather than names (somewhat separate)
Metadata
Metadata
Assignees
Labels
A-trait-systemArea: Trait systemArea: Trait systemC-enhancementCategory: An issue proposing an enhancement or a PR with one.Category: An issue proposing an enhancement or a PR with one.T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.Relevant to the compiler team, which will review and decide on the PR/issue.WG-traits[RETIRED] Working group: Traits[RETIRED] Working group: Traits