-
Notifications
You must be signed in to change notification settings - Fork 5
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
Set Swift 6 as the minimum build tools version #610
base: trunk
Are you sure you want to change the base?
Conversation
📲 You can test the changes from this Pull Request in Gravatar Prototype Build by scanning the QR code below to install the corresponding build.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! 🎉
hmm... CocoaPods is problematic here. CocoaPods does not make any distinction between "toolchain" and "language mode". We can only set SWIFT_VERSION, which is setting the "language mode". If we leave it at 5.10, then clients with 5.10 will be able to integrate it, and they will get compile errors. If we change it to 6.0, clients with 5.10 won't be eligible (which is good). But it applies the full Swift 6 language checks, and we get build errors when we try to use the pod (or in our case, when we lint it during CI). With CocoaPods, we can't do what we had planned to do. There is no way to require clients to use the Swift 6.0 toolchain but still use the Swift 5 Language Mode. We can either:
The reasons to stop supporting CocoaPods continue to grow. |
I am going to revert the Podspec update so CI passes |
This reverts commit 85e3bc9.
Closes #510
Description
.experimentalFeature("StrictConcurrency")
(with the Swift 5 toolchain) to.enableUpcomingFeature("StrictConcurrency")
(with the Swift 6 toolchain).complete
Testing Steps