Merge remote-tracking branch 'origin/main' into rebranch

This commit is contained in:
swift-ci
2023-08-30 09:35:03 -07:00
4 changed files with 24 additions and 24 deletions

View File

@@ -3290,9 +3290,10 @@ public:
// We can mark the extension unsafe only if it has no public
// conformances.
auto protocols = ext->getLocalProtocols(
ConformanceLookupKind::OnlyExplicit);
if (!protocols.empty())
auto protocols = ext->getLocalProtocols(ConformanceLookupKind::All);
bool hasSafeConformances = std::any_of(protocols.begin(), protocols.end(),
isDeserializationSafe);
if (hasSafeConformances)
return true;
// Truly empty extensions are safe, it may happen in swiftinterfaces.
@@ -3302,9 +3303,6 @@ public:
return false;
}
if (isa<ProtocolDecl>(decl))
return true;
auto value = cast<ValueDecl>(decl);
// A decl is safe if formally accessible publicly.