-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Distributed] Reimplement distributed call thunks completely in AST #41616
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
[Distributed] Reimplement distributed call thunks completely in AST #41616
Conversation
a52448d
to
a98d34f
Compare
9ab487f
to
d8afe3f
Compare
@swift-ci please smoke test |
@swift-ci please build toolchain |
@swift-ci please smoke test |
883b0f5
to
5c09384
Compare
@swift-ci please smoke test |
@swift-ci please build toolchain |
resolves rdar://84054772 |
The failures are some linux only thing, we'll need to investigate... |
…ibuted actor - Classes have specialized method on their declarations - Archetypes and existentials check their conformances for presence of `DistributedActor` protocol.
…extensions `getConcreteReplacementForProtocolActorSystemType` should use `getSelfClassDecl` otherwise it wouldn't be able to find actor if the member is declared in an extension.
[PreChecker] LookupDC might be null, so account for that
… section test-cases
ceddca8
to
3c41b0a
Compare
@swift-ci please smoke test and merge |
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.
Looks good to me! Majority of comments could be addressed separately only ones worth addressing now is missing mapTypeIntoContext and unnecessary copy of the thunk name.
AbstractFunctionDecl *ASTContext::getRemoteCallOnDistributedActorSystem( | ||
NominalTypeDecl *actorOrSystem, bool isVoidReturn) const { | ||
assert(actorOrSystem && "distributed actor (or system) decl must be provided"); | ||
const NominalTypeDecl *system = actorOrSystem; |
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.
I think you should drop const
here.
… thunk test-cases
@swift-ci please smoke test linux |
Addressed comments and XFAILed a few linux tests because I really want to land this PR, it's holding up a lot of the other ones. Will fix the linux tests ASAP though, it is just mangling fixes i think. rdar://90078069 |
@swift-ci please smoke test and merge |
3e1819b
to
b91905f
Compare
b91905f
to
6440861
Compare
@swift-ci please smoke test |
Simplifies a ton of things but not complete yet.