-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Upstream some binary-compatibility logic #74821
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
Conversation
@swift-ci Please test |
@swift-ci Please test |
@swift-ci Please test macOS Platform |
@swift-ci Please test macOS platform |
@swift-ci Please test macOS Platform |
It's not obvious that we can check that hash/equality behavior is entirely correct, since there are two very different behaviors which depend on environmental factors that are not easy to test for. But we can do a quick probe to see whether the current environment seems to be offering the legacy or non-legacy behavior and then carefully verify that everything else is consistent with our initial probe. This gives us confidence that at least we're not getting inconsistent behavior.
The test previously checked for a message that is no longer emitted. Drop it.
@ktoso -- It looks like I needed a small test adjustment in order to upstream the bincompat check for executor assertion behavior. Any concerns? |
@swift-ci Please test |
@@ -38,7 +38,7 @@ import Distributed | |||
} | |||
|
|||
tests.test("5.7 actor, 5.9 executor property => no custom executor") { | |||
expectCrashLater(withMessage: "Incorrect actor executor assumption; Expected MainActor executor") | |||
expectCrashLater() |
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.
The new semantics generate the crash in the swift_task_isCurrentExecutorImpl
function, which occurs before the message is emitted.
Some Notes on this PR: @tbkka
I recall that |
A couple of compatibility checks to preserve behavior for existing binaries on Apple platforms.