Skip to content

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