@@ -271,17 +271,20 @@ static CanSILFunctionType getAccessorType(IRGenModule &IGM,
271
271
auto *actor = getDistributedActorOf (Target);
272
272
assert (actor);
273
273
274
- for (auto *genericParam : actor->getInnermostGenericParamTypes ())
275
- genericParams.push_back (genericParam);
276
-
274
+ // for (auto *genericParam : actor->getInnermostGenericParamTypes())
275
+ // genericParams.push_back(genericParam);
276
+ //
277
277
// Add a generic parameter `D` which stands for decoder type in the
278
278
// accessor signature - `inout D`.
279
279
genericParams.push_back (decoderType);
280
280
// Add a requirement that decoder conforms to the expected protocol.
281
281
genericRequirements.push_back (
282
282
{RequirementKind::Conformance, decoderType, decoderProtocolTy});
283
283
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));
285
288
}
286
289
287
290
auto accessorTy = GenericFunctionType::get (
@@ -659,6 +662,8 @@ void DistributedAccessor::emit() {
659
662
// Witness table for decoder conformance to DistributedTargetInvocationDecoder
660
663
auto *decoderProtocolWitness = params.claimNext ();
661
664
665
+ (void ) params.claimAll ();
666
+
662
667
// Preliminary: Setup async context for this accessor.
663
668
{
664
669
auto fpKind = FunctionPointerKind::defaultAsync ();
0 commit comments