Skip to content

🍒[5.7][Concurrency] Settable prop reqs cannot be witnessed by actors #59585

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

Closed
wants to merge 2 commits into from

Conversation

ktoso
Copy link
Contributor

@ktoso ktoso commented Jun 20, 2022

Description: This fixes a hole in actor isolation. Accessing a get/set property in a Actor constrained protocol was allowed but this is illegal and would have produced a race. The fix is to correctly prevent such conformances -- since they cannot exist due to lack of async setters.
Risk: Low
Importance: Existing code using this was bypassing actor isolation and could be crashing with race conditions
Review by: @DougGregor @kavon
Testing: PR testing
Original PR: #59580
Radar: rdar://95509917
Issue: #59573

@ktoso ktoso requested a review from a team as a code owner June 20, 2022 09:01
@ktoso ktoso requested review from DougGregor and kavon June 20, 2022 09:02
@ktoso ktoso changed the title [Concurrency] Settable prop reqs cannot be witnessed by actors 🍒[5.7][Concurrency] Settable prop reqs cannot be witnessed by actors Jun 20, 2022
@ktoso ktoso added concurrency Feature: umbrella label for concurrency language features r5.7 labels Jun 20, 2022
@ktoso
Copy link
Contributor Author

ktoso commented Jun 20, 2022

@swift-ci please test

@ktoso
Copy link
Contributor Author

ktoso commented Jun 22, 2022

I'm going to mark this as draft, perhaps there is a better way to prevent this in isolation checking for conformances.
@kavon said he'd want to take a look here too, since I think I missed a case with this check anyway.

@ktoso ktoso marked this pull request as draft June 22, 2022 06:25
@ktoso
Copy link
Contributor Author

ktoso commented Jun 23, 2022

Superseded by #59655

@ktoso ktoso closed this Jun 23, 2022
@AnthonyLatsis AnthonyLatsis added 🍒 release cherry pick Flag: Release branch cherry picks swift 5.7 labels Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
concurrency Feature: umbrella label for concurrency language features 🍒 release cherry pick Flag: Release branch cherry picks swift 5.7
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants