Skip to content

Revert protocol selector conflict changes for 5.7 and add a workaround #60315

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

beccadax
Copy link
Contributor

In #41828, I attempted to fix a longstanding bug in the decl checker which caused us to not diagnose protocol requirements with conflicting ObjC selectors. Unfortunately, subsequent testing repeatedly turned up exceptions and refinements, necessitating #59479, #59743, and #60081. The latest round of testing indicates that further refinement is still necessary, but we are running out of time to stabilize this change for 5.7.

This PR reverts all of this work and instead implements a low-risk workaround to make the test case in #59479 produce a generated header that clang will not warn about. In other words, Swift 5.7 will now behave as Swift 5.6 did except that the generated header will suppress an additional clang warning. I am reverting this work only in release/5.7, and will continue refining the new behavior in main.

Fixes rdar://97810819.

beccadax added 8 commits July 29, 2022 11:18
This reverts commit dcb1d66.

# Conflicts:
#	lib/Serialization/ModuleFormat.h
…aders”

This reverts parts of commit d4ee34c. Specifically, it reverts the implementation, implements a different workaround for the bug, and modifies the test to pass if the workaround is effective.

Fixes rdar://97810819.
@beccadax beccadax requested a review from a team as a code owner July 30, 2022 00:13
@beccadax
Copy link
Contributor Author

@swift-ci test

@beccadax beccadax requested review from hamishknight and xymus July 30, 2022 00:15
@beccadax beccadax merged commit 260a80f into swiftlang:release/5.7 Aug 2, 2022
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.

3 participants