[6.2.2] Ensure NonisolatedNonsendingByDefault doesn't break exit tests.#1407
Merged
grynspan merged 1 commit intoNov 12, 2025
Merged
Conversation
When `NonisolatedNonsendingByDefault` is enabled, overload resolution of `ExitTest.__store()` picks the overload that takes any old `T` instead of taking a function. This overload exists only to suppress certain unhelpful compiler diagnostics and its implementation immediately aborts, which causes the described failure. Adding `nonisolated(nonsending)` or `@concurrent` to the "good" overload doesn't appear to satisfy the type checker, so mark the "bad" overload as explicitly disfavoured instead. Resolves #1375.
NonisolatedNonsendingByDefault doesn't break exit tests.NonisolatedNonsendingByDefault doesn't break exit tests.
stmontgomery
approved these changes
Nov 10, 2025
Contributor
|
@swift-ci please test |
jerryjrchen
approved these changes
Nov 10, 2025
Contributor
Author
|
The CI failure we're seeing is due to a regression in the 6.3 compiler (which is being used to build this branch despite us targetting 6.2.2, such is life.) We believe the regression is resolved by swiftlang/swift#85410, but that isn't in a toolchain yet. The regression does not affect 6.2.2 itself. |
stmontgomery
added a commit
that referenced
this pull request
Nov 13, 2025
#1421) - **Explanation**: Adjust the (non-ABI-affecting) signature of an underlying function used by the expansion of the `#expect(processExitsWith:)` macro so that when Approachable Concurrency is enabled, we pick the correct overload of said function. - **Scope**: Exit tests with Approachable Concurrency enabled. - **Issues**: #1375 - **Original PRs**: #1383, #1407 - **Risk**: Low - **Testing**: Existing CI jobs and manual verification. It is not possible at this time to write a unit test for this fix due to swiftlang/swift-package-manager#9293. - **Reviewers**: @grynspan @briancroom @jerryjrchen
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#expect(processExitsWith:)macro so that when Approachable Concurrency is enabled, we pick the correct overload of said function.NonisolatedNonsendingByDefaultdoesn't break exit tests. #1383NonisolatedNonsendingByDefaultto one target appears to apply it to all targets swift-package-manager#9293.