-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Sema: Relax availability checking for @MainActor
#64412
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
Sema: Relax availability checking for @MainActor
#64412
Conversation
8754638
to
47e32f2
Compare
47e32f2
to
11fb3d8
Compare
The `@MainActor` global actor constraint on a declaration does not carry an inherent ABI impact and therefore use of this constraint should not be limited to OS versions where Swift concurrency is available. Resolves rdar://105610970
11fb3d8
to
fb03b4a
Compare
@swift-ci please test |
@MainActor(unsafe)
@MainActor
After discussing with Doug, I've updated the PR to relax availability checking on the |
Can we cherry-pick this PR to release/5.8? Otherwise Xcode 14.3 with Swift 5.8.0 will break many downstream xcframeworks consumers. If this is too late for Swift 5.8.0, will it be released with Swift 5.8.1? |
Upgraded to Xcode 14.3 RC1 today and ran into this issue, I agree with @Kyle-Ye this will likely cause a lot of commotion once 14.3 is fully released (next week?) |
Cherry-picked to |
This is fixed in Xcode 14.3 RC 2: Xcode 14.3 RC 2 Release Notes | Apple Developer Documentation |
This bug seems to be back in Xcode 15 beta 1 (15A5160n) with Swift 5.9.0.114.6. I'm seeing the "this SDK is not supported by the compiler (the SDK is built with 'Apple Swift version 5.7.2 (swiftlang-5.7.2.135.5 clang-1400.0.29.51)', while this compiler is 'Apple Swift version 5.9 (swiftlang-5.9.0.114.6 clang-1500.0.27.1)')" error in a project that compiled fine with Xcode 14.3.1 (Swift 5.8), and with an XCFramework that was definitely built with BUILD_LIBRARY_FOR_DISTRIBUTION turned on. Has the fix not made it to the Swift 5.9 branch yet? 🤔 |
@tiwoc Seeing I recommend either filing a GitHub issue or a Feedback with the full build log that includes the errors that were emitted before the |
Thanks for the clarification, @tshortli! |
known issue in xcode 14.3 swiftlang/swift#64412 cannot fix without compiler changes
The
@MainActor
global actor constraint on a declaration does not carry an inherent ABI impact and therefore use of this constraint should not be limited to OS versions where Swift concurrency is available.This fixes a regression (introduced by #60672) in swiftinterface typechecking for modules that contain public types that implicitly inherit a
@MainActor
attribute.Resolves rdar://105610970