Skip to content

[Concurrency] Re-apply typed throws and nonisolated(nonsending adoption in Task creation APIs#87103

Merged
xedin merged 2 commits into
swiftlang:mainfrom
xedin:rdar-168273419
Feb 11, 2026
Merged

[Concurrency] Re-apply typed throws and nonisolated(nonsending adoption in Task creation APIs#87103
xedin merged 2 commits into
swiftlang:mainfrom
xedin:rdar-168273419

Conversation

@xedin
Copy link
Copy Markdown
Contributor

@xedin xedin commented Feb 10, 2026

This re-applies #84802 and fixes a problem
with Task.value ABI that the original PR created.

The original getter of Task.value, unlike Task.init, wasn't emitted into client
which means that the original property needs to be preserved for
backward compatibility and new one needs to be @_alwaysEmitIntoClient
with the new name.

Resolves: rdar://168273419

@xedin xedin requested a review from ktoso as a code owner February 10, 2026 05:34
@@ -167,6 +167,26 @@ extension Task {
///
/// - Returns: The task's result.
public var value: Success {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The actual culprit™, thanks for working through this Pavel, lgtm!

@xedin
Copy link
Copy Markdown
Contributor Author

xedin commented Feb 10, 2026

@swift-ci please test

@xedin
Copy link
Copy Markdown
Contributor Author

xedin commented Feb 10, 2026

I have verified locally that swift-testing test-suite is now passing with new and old stdlib runtime without issues.

@xedin xedin requested review from a team and rjmccall as code owners February 10, 2026 21:13
@xedin
Copy link
Copy Markdown
Contributor Author

xedin commented Feb 10, 2026

@swift-ci please clean test

The original getter, unlike `Task.init`, wasn't emitted into client
which means that the original property needs to be preserved for
backward compatibility and new one needs to be `@_alwaysEmitIntoClient`
with the new name.

Resolves: rdar://168273419
@xedin
Copy link
Copy Markdown
Contributor Author

xedin commented Feb 11, 2026

@swift-ci please clean test

@xedin xedin merged commit 856cb41 into swiftlang:main Feb 11, 2026
6 checks passed
/// - Returns: A reference to the task.
% end # IS_DEPRECATED
${"\n ".join(adjust_availability(ALL_AVAILABILITY))}
% if not IS_THROWING:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This changes errors to not be silently ignored anymore

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.

2 participants