mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Merge pull request #40892 from LucianoPAlmeida/SR-15273-access
This commit is contained in:
@@ -4294,9 +4294,9 @@ ConformanceChecker::resolveWitnessViaLookup(ValueDecl *requirement) {
|
||||
protoAccessScope.accessLevelForDiagnostics(),
|
||||
proto->getName());
|
||||
|
||||
if (auto *decl = dyn_cast<AbstractFunctionDecl>(witness))
|
||||
if (decl->isMemberwiseInitializer())
|
||||
return;
|
||||
auto *decl = dyn_cast<AbstractFunctionDecl>(witness);
|
||||
if (decl && decl->isSynthesized())
|
||||
return;
|
||||
|
||||
diagnoseWitnessFixAccessLevel(diags, witness, requiredAccess,
|
||||
isSetter);
|
||||
|
||||
@@ -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'}}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user