Skip to content

[Shepherd] Support classes with missing designated inits #28629

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged

Conversation

CodaFi
Copy link
Contributor

@CodaFi CodaFi commented Dec 7, 2019

Shepherds #26060

@CodaFi
Copy link
Contributor Author

CodaFi commented Dec 7, 2019

@swift-ci please test

@CodaFi
Copy link
Contributor Author

CodaFi commented Dec 7, 2019

@swift-ci please test source compatibility

Harlan Haskins added 4 commits January 6, 2020 10:15
Since this is going to be something modules tell clients, rather than something clients discover about modules, serialize it.
We’re going to start serializing this for public types that have non-public-or-@usableFromInline initializers, so turn it into a request that we can query and cache it in the existing bit.
Specially print @_hasMissingDesignatedInitializers and @_inheritsConvenienceInitializers in module interfaces

Fixes rdar://51249311
…alizers

Because we won’t be serializing this attribute, add custom diagnostics for the cases where:

- We add @_hasMissingDesignatedInits to an open class, which means subclasses won’t be able to inherit its inits
- We remove @_inheritsConvenienceInitializers, which means APIs are removed
@CodaFi CodaFi force-pushed the convenience-never-comes-without-cost branch from d9a008d to 4d73173 Compare January 6, 2020 18:15
@CodaFi
Copy link
Contributor Author

CodaFi commented Jan 6, 2020

@swift-ci please smoke test

@CodaFi
Copy link
Contributor Author

CodaFi commented Jan 6, 2020

Off to 5.2 with you.

⛵️

@CodaFi CodaFi merged commit 2317733 into swiftlang:master Jan 6, 2020
@CodaFi CodaFi deleted the convenience-never-comes-without-cost branch January 6, 2020 20:07
@compnerd
Copy link
Member

compnerd commented Jan 7, 2020

@CodaFi I think that this has caused a regression on android: https://ci-external.swift.org/job/oss-swift-RA-linux-ubuntu-16.04-android-arm64/3159/console

@CodaFi
Copy link
Contributor Author

CodaFi commented Jan 7, 2020

Hm, that’s not a particularly illuminating failure log. Do you have access to an android environment to gather more information?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants