# \[Returned for revision\] SE-0414: Region-based isolation

**URL:** <https://forums.swift.org/t/returned-for-revision-se-0414-region-based-isolation/69123>\
**Category:** Announcements\
**Tags:** concurrency\
**Created:** [December 22, 2023, 12:23am UTC](https://forums.swift.org/t/returned-for-revision-se-0414-region-based-isolation/69123 "2023-12-22T00:23:26Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![hborla](https://sea2.discourse-cdn.com/swift/user_avatar/forums.swift.org/hborla/32/27563_2.png) [@hborla](https://forums.swift.org/u/hborla)\
**Post date:** [December 22, 2023, 12:23am UTC](https://forums.swift.org/t/returned-for-revision-se-0414-region-based-isolation/69123/1 "2023-12-22T00:23:26Z")

</div>

The [review](https://forums.swift.org/t/se-0414-region-based-isolation/68805) of [SE-0414: Region-based isolation](https://github.com/apple/swift-evolution/blob/main/proposals/0414-region-based-isolation.md) ran from December 4th through December 18th. The Language Steering Group has decided that the proposal is **returned for revision.**

The Language Steering Group believes that this proposal addresses an important usability problem in the strict concurrency checking model that eliminates a source of false-positive data race errors. For this reason, the Language Steering Group accepts SE-0414 in principle.

However, the review discussion surfaced two important data-race safety holes in the current proposal:

1. There are a few places in the language that assume a non-`Sendable` value can never be passed across isolation domains and allows synchronous access to actor isolated state when the value is formed in the same isolation domain, including key-paths with isolated path components and non-`Sendable` isolated functions. SE-0414 does not define such values as being part of the actor’s region, allowing them to be transferred which can violate actor isolation.
2. Currently, SE-0414 does not prevent parameter regions of synchronous `nonisolated` functions from being transferred, so APIs that synchronously change the static isolation domain, like `assumeIsolated`, allow non-`Sendable` values to escape into an actor’s region. This could be addressed by preventing such regions from being transferred.

Once these data-race safety holes have been addressed in a proposal revision, the Language Steering Group will schedule a revision review.

Thank you to everyone who participated in the pitch and proposal review; your contributions help make Swift a better language.

Holly Borla  
Review Manager
