Skip to content

Commit 45bc4a4

Browse files
authored
Merge pull request swiftlang#37928 from nkcsgexi/76790246
ABIChecker: diagnose missing convenience inits only when checking source compatibility
2 parents 75fb3c7 + aff404d commit 45bc4a4

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

test/api-digester/Outputs/Cake-abi.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,5 @@ cake: Var RequiementChanges.addedVar has been added as a protocol requirement
107107
/* Class Inheritance Change */
108108
cake: Class SubGenericClass has changed its super class from cake.GenericClass<cake.P1> to cake.GenericClass<cake.P2>
109109
cake: Class SuperClassRemoval has removed its super class cake.C3
110-
cake: Class SuperClassRemoval no longer inherits convenience inits from its superclass
111110
cake: Constructor AddingNewDesignatedInit.init(_:) has been added as a designated initializer to an open class
112111
cake: Constructor ClassWithMissingDesignatedInits.init() has been added as a designated initializer to an open class

tools/driver/swift_api_digester_main.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -610,7 +610,8 @@ void swift::ide::api::SDKNodeDeclType::diagnose(SDKNode *Right) {
610610

611611
// It's not safe to stop inheriting convenience inits, it changes
612612
// the set of initializers that are available.
613-
if (inheritsConvenienceInitializers() &&
613+
if (!Ctx.checkingABI() &&
614+
inheritsConvenienceInitializers() &&
614615
!R->inheritsConvenienceInitializers())
615616
R->emitDiag(R->getLoc(), diag::not_inheriting_convenience_inits);
616617
break;

0 commit comments

Comments
 (0)