Skip to content
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

[Concurrency] Allow isolated default arguments to be used from across isolation boundaries. #69391

Merged
merged 2 commits into from
Oct 26, 2023

Conversation

hborla
Copy link
Member

@hborla hborla commented Oct 25, 2023

This change implements most of the revision for the isolated default values proposal, which enables isolated default arguments from being used across isolation boundaries. For now, this is done by emitting an actor hop around the evaluation of each isolated default argument. However, as specified by the argument evaluation section of the proposal, we should change argument evaluation order if any default arguments are isolated to the following order:

  1. Left-to-right evalution of explicit r-value arguments
  2. Left-to-right evaluation of formal access arguments
  3. Hop to the callee's isolation domain
  4. Left-to-right evaluation of default arguments

This intermediate implementation state is to allow the semantics of the proposal to be tested out in a toolchain. This change also still needs some SILGen tests.

@hborla hborla force-pushed the isolated-default-value-revision branch from 1157198 to 49d6399 Compare October 25, 2023 05:54
@hborla
Copy link
Member Author

hborla commented Oct 25, 2023

@swift-ci please build toolchain

Copy link
Contributor

@ktoso ktoso left a comment

Choose a reason for hiding this comment

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

Looks like a good incremental step 👍

@DougGregor
Copy link
Member

@swift-ci please smoke test

@hborla
Copy link
Member Author

hborla commented Oct 26, 2023

@swift-ci please smoke test

@hborla hborla merged commit cbdb892 into swiftlang:main Oct 26, 2023
@hborla hborla deleted the isolated-default-value-revision branch October 26, 2023 16:33
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.

3 participants