Skip to content

Commit 20b1f6d

Browse files
committed
potential fix
1 parent 7fc1ac4 commit 20b1f6d

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

lib/IRGen/GenDistributed.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -271,17 +271,20 @@ static CanSILFunctionType getAccessorType(IRGenModule &IGM,
271271
auto *actor = getDistributedActorOf(Target);
272272
assert(actor);
273273

274-
for (auto *genericParam : actor->getInnermostGenericParamTypes())
275-
genericParams.push_back(genericParam);
276-
274+
// for (auto *genericParam : actor->getInnermostGenericParamTypes())
275+
// genericParams.push_back(genericParam);
276+
//
277277
// Add a generic parameter `D` which stands for decoder type in the
278278
// accessor signature - `inout D`.
279279
genericParams.push_back(decoderType);
280280
// Add a requirement that decoder conforms to the expected protocol.
281281
genericRequirements.push_back(
282282
{RequirementKind::Conformance, decoderType, decoderProtocolTy});
283283

284-
signature = GenericSignature::get(genericParams, genericRequirements);
284+
// signature = GenericSignature::get(genericParams, genericRequirements);
285+
signature = buildGenericSignature(Context, actor->getGenericSignature(),
286+
std::move(genericParams),
287+
std::move(genericRequirements));
285288
}
286289

287290
auto accessorTy = GenericFunctionType::get(
@@ -659,6 +662,8 @@ void DistributedAccessor::emit() {
659662
// Witness table for decoder conformance to DistributedTargetInvocationDecoder
660663
auto *decoderProtocolWitness = params.claimNext();
661664

665+
(void) params.claimAll();
666+
662667
// Preliminary: Setup async context for this accessor.
663668
{
664669
auto fpKind = FunctionPointerKind::defaultAsync();

0 commit comments

Comments
 (0)