[Distributed] implement adhoc requirements properly for Encoder

This commit is contained in:
Konrad `ktoso` Malawski
2022-02-14 16:14:41 +09:00
parent 0fec1b31da
commit 005743c92c
11 changed files with 596 additions and 147 deletions

View File

@@ -1058,7 +1058,7 @@ void SILGenFunction::emitDistributedThunk(SILDeclRef thunk) {
}
nextNormalBB = nullptr;
FuncDecl *recordArgumentFnDecl =
AbstractFunctionDecl *recordArgumentFnDecl =
ctx.getRecordArgumentOnDistributedInvocationEncoder(
invocationEncoderNominal);
auto recordArgumentFnRef = SILDeclRef(recordArgumentFnDecl);
@@ -1210,7 +1210,7 @@ void SILGenFunction::emitDistributedThunk(SILDeclRef thunk) {
auto errorMetatypeValue = B.createMetatype(loc, errorMetatype);
// Get the function
FuncDecl *recordErrorTypeFnDecl =
AbstractFunctionDecl *recordErrorTypeFnDecl =
ctx.getRecordErrorTypeOnDistributedInvocationEncoder(
invocationEncoderNominal);
assert(recordErrorTypeFnDecl);
@@ -1258,7 +1258,7 @@ void SILGenFunction::emitDistributedThunk(SILDeclRef thunk) {
auto returnMetatypeValue = B.createMetatype(loc, returnMetatype);
// Get the function
FuncDecl *recordReturnTypeFnDecl =
AbstractFunctionDecl *recordReturnTypeFnDecl =
ctx.getRecordReturnTypeOnDistributedInvocationEncoder(
invocationEncoderNominal);
assert(recordReturnTypeFnDecl);