-
Notifications
You must be signed in to change notification settings - Fork 10.5k
AssociatedTypeInference: Delay substitutions into abstract type witnesses until after they have been computed #32752
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
Conversation
@swift-ci please smoke test |
@swift-ci please test source compatibility release |
const auto lookupConfFn = [&](CanType dependentType, | ||
Type conformingReplacementType, | ||
ProtocolDecl *conformedProtocol) { | ||
if (conformedProtocol == proto && |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this really necessary? Conformance lookup doesn't trigger computation of anything, it just returns an existing conformance even if its type witnesses have not yet been filled in.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a paranoia I have about conformance lookup determinism dating back to this comment by Joe :) (though I must admit the question is still open to me – how we could end up with a different conformance –, given that we cache them for as long as the nominal decl exists).
a80bcc6
to
779db2b
Compare
@swift-ci please test source compatibility release |
779db2b
to
55a4844
Compare
…sses until after they have been computed
55a4844
to
54ccdc6
Compare
@slavapestov LMK what you think of the additional modeling. Seems an exaggeration for the purpose of removing the |
@swift-ci please smoke test |
@swift-ci please test source compatibility release |
Uh oh!
There was an error while loading. Please reload this page.