Merge pull request #40892 from LucianoPAlmeida/SR-15273-access

This commit is contained in:
Luciano Almeida
2022-01-26 09:58:37 -03:00
committed by GitHub
2 changed files with 11 additions and 3 deletions

View File

@@ -4294,8 +4294,8 @@ ConformanceChecker::resolveWitnessViaLookup(ValueDecl *requirement) {
protoAccessScope.accessLevelForDiagnostics(),
proto->getName());
if (auto *decl = dyn_cast<AbstractFunctionDecl>(witness))
if (decl->isMemberwiseInitializer())
auto *decl = dyn_cast<AbstractFunctionDecl>(witness);
if (decl && decl->isSynthesized())
return;
diagnoseWitnessFixAccessLevel(diags, witness, requiredAccess,

View File

@@ -104,3 +104,11 @@ public struct NonPublicMemberwiseInitStruct: PublicInitProto {
// expected-error@-1 {{initializer 'init(value:)' must be declared public because it matches a requirement in public protocol 'PublicInitProto'}}
public var value: Int
}
// SR-15273
public protocol PublicEmptyInit {
init()
}
public struct Buggy: PublicEmptyInit {
// expected-error@-1 {{initializer 'init()' must be declared public because it matches a requirement in public protocol 'PublicEmptyInit'}}
}