-
Notifications
You must be signed in to change notification settings - Fork 13.6k
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
probe
loop, which usescheck::autoderef
, isn't able to be part of an inference transaction betweencheck::autoderef
uses 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.