-
Notifications
You must be signed in to change notification settings - Fork 14k
Open
Labels
A-type-systemArea: Type systemArea: Type systemC-cleanupCategory: PRs that clean code up or issues documenting cleanup.Category: PRs that clean code up or issues documenting cleanup.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.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.
Description
Once upon a time, both operator dispatch and method lookup went through the same tangled, twisty paths. It was a mess. But lo, they were severed and made two. Each could follow its own path. Overall, this is progress. But there is still room for improvement:
- The second half of "operator dispatch" is basically the same as
confirm::confirm, but with some slight differences. - The autoderef loop for
[]is basically the same asprobe, but with some slight differences (e.g., at each step it consists builtin[]as well). - The
probeloop, which usescheck::autoderef, isn't able to be part of an inference transaction betweencheck::autoderefuses operator dispatch which adds things into the main fulfillment context, thus leaking inference types etc outside the transaction.
It feels like things could still be cleaned up a bit further, allowing for more code reuse and happiness all around.
Some FIXMEs are scattered about at relevant points of the code.
Metadata
Metadata
Assignees
Labels
A-type-systemArea: Type systemArea: Type systemC-cleanupCategory: PRs that clean code up or issues documenting cleanup.Category: PRs that clean code up or issues documenting cleanup.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.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.