Sema: Fix the insertion location for conformances attributes

This commit is contained in:
Anthony Latsis
2025-06-24 08:32:11 +01:00
parent 9488df15e0
commit ad8c52237c
18 changed files with 317 additions and 86 deletions

View File

@@ -816,10 +816,9 @@ addDistributedActorCodableConformance(
}
auto conformance = C.getNormalConformance(
actor->getDeclaredInterfaceType(), proto,
actor->getLoc(), /*dc=*/actor,
ProtocolConformanceState::Incomplete,
ProtocolConformanceOptions());
actor->getDeclaredInterfaceType(), proto, actor->getLoc(),
/*inheritedTypeRepr=*/nullptr, /*dc=*/actor,
ProtocolConformanceState::Incomplete, ProtocolConformanceOptions());
conformance->setSourceKindAndImplyingConformance(
ConformanceEntryKind::Synthesized, nullptr);
actor->registerProtocolConformance(conformance, /*synthesized=*/true);
@@ -1078,8 +1077,9 @@ GetDistributedActorAsActorConformanceRequest::evaluate(
return nullptr;
auto distributedActorAsActorConformance = ctx.getNormalConformance(
Type(ctx.TheSelfType), actorProto, SourceLoc(), ext,
ProtocolConformanceState::Incomplete, ProtocolConformanceOptions());
Type(ctx.TheSelfType), actorProto, SourceLoc(),
/*inheritedTypeRepr=*/nullptr, ext, ProtocolConformanceState::Incomplete,
ProtocolConformanceOptions());
// NOTE: Normally we "register" a conformance, but here we don't
// because we cannot (currently) register them in a protocol,
// since they do not have conformance tables.