Skip to content

[5.3][Sema] Only require a default implementation for SPI requirements in non-SPI protocols #32883

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
merged 3 commits into from
Jul 15, 2020

Conversation

xymus
Copy link
Contributor

@xymus xymus commented Jul 14, 2020

An SPI protocol requirement needs a default implementation unless the protocol is SPI too. The current check didn't take into account the protocol SPI status. It was usually fine in hand written source code but it breaks on the private swiftinterface files where the @_spi attribute is printed explicitly.

xymus added 3 commits July 14, 2020 13:26
Asides from removing duplicated code this change also now checks implicit SPI
requirements and applies only in library evolution mode.
…ntation

The check for SPI protocol requirements needing a default implementation
should ignore requirements in a protocol that is SPI too. The protocol
can’t be conformed to without knowing of the requirement.

rdar://65286171
@xymus xymus added the r5.3 label Jul 14, 2020
@xymus xymus requested review from beccadax and nkcsgexi July 14, 2020 20:44
@xymus xymus requested a review from a team as a code owner July 14, 2020 20:44
@xymus
Copy link
Contributor Author

xymus commented Jul 14, 2020

@swift-ci Please test

@xymus
Copy link
Contributor Author

xymus commented Jul 15, 2020

@swift-ci Please nominate

@xymus xymus merged commit e37070e into swiftlang:release/5.3 Jul 15, 2020
@xymus xymus deleted the spi-req-in-spi-proto-5.3 branch October 31, 2022 21:07
@AnthonyLatsis AnthonyLatsis added swift 5.3 🍒 release cherry pick Flag: Release branch cherry picks labels Jan 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🍒 release cherry pick Flag: Release branch cherry picks swift 5.3
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants