[Distributed] Implement witnesses for sync or non-throw dist reqs

[Distributed] generic and inner test; without one edge case

[Distributed] fix distributed_thunk test; unsure about those extra hops, could remove later

[Distributed] Remove type pretending in getSILFunctionType; it is not needed

It seems our constant replacement in the earlier phases is enough, and
we don't need this trick at all.

[Distributed] Use thunk when calling cross-actor on DA protocols
This commit is contained in:
Konrad `ktoso` Malawski
2022-06-29 14:03:52 +09:00
parent ceae9fdb5d
commit 728c007fb9
23 changed files with 511 additions and 221 deletions

View File

@@ -672,7 +672,7 @@ static FuncDecl *createDistributedThunkFunction(FuncDecl *func) {
// NOTE: So we don't need a thunk in the protocol, we should call the underlying
// thing instead, which MUST have a thunk, since it must be a distributed func as well...
if (dyn_cast<ProtocolDecl>(DC)) {
if (isa<ProtocolDecl>(DC)) {
return nullptr;
}