Hello,
I'm jubilant to announce that the Language Steering Group has accepted a vision document titled Improving the approachability of data-race safety—
Swift's built-in support for concurrency has three goals:
- Extend memory safety guarantees to low-level data races.
- Maintain progressive disclosure for non-concurrent code, and make basic use of concurrency simple and easy.
- Make advanced uses of concurrency to improve performance natural to accomplish and reason about.
The Swift 6 language mode provides a baseline of correctness that meets the first goal, but sometimes it comes at the cost of the second, and it can be frustrating to adopt. Now that we have a lot more user experience under our belt as a community, it’s reasonable to ask what we can do in the language to address that problem.
This document lays out a vision for improving the approachability of Swift data-race safety features. The document was written by Holly Borla with significant input and feedback from members of the community.
As discussed in our general post about vision documents, the Language Steering Group's acceptance of this document is a strong endorsement of the goals laid out in the vision, a general endorsement of the basic approach, but only a weak endorsement of any concrete proposals. All proposals in the vision will have to undergo ordinary evolution review, which may result in rejection or major revision.
Please feel free to continue discussing this vision document in this thread.
Xiaodi Wu
Language Steering Group