# Why does assumeIsolated() now require T: Sendable?

**URL:** <https://forums.swift.org/t/why-does-assumeisolated-now-require-t-sendable/72344>\
**Category:** Using Swift\
**Created:** [June 11, 2024, 1:31am UTC](https://forums.swift.org/t/why-does-assumeisolated-now-require-t-sendable/72344 "2024-06-11T01:31:05Z")\
**Posts on this page:** 1\
**Showing post:** 15

<div class="post-metadata">

**Author:** ![ellie20](https://avatars.discourse-cdn.com/v4/letter/e/6f9a4e/32.png) [@ellie20](https://forums.swift.org/u/ellie20)\
**Post date:** [June 12, 2024, 5:24am UTC](https://forums.swift.org/t/why-does-assumeisolated-now-require-t-sendable/72344/15 "2024-06-12T05:24:08Z")

</div>

> [@ktoso](#):
>
> During review of region isolation some folks thought that maybe a `-> sending T` would help resolve the issue, but that's sadly not the case -- it'd open up the same kinds of holes.

This may be a dumb question, but how? As far as I know, an instance of `sending T` will never be part of an actor isolation region (and, if `T` is `Sendable`, then any instance of `T` is also a `sending T`, because `Sendable` values are always disconnected). This was suggested as a future direction in the review thread, and as far as I know, no one suggested it would be unsound:

> [@SE-0414 (second review): Region Based Isolation](https://forums.swift.org/t/se-0414-second-review-region-based-isolation/69740/6):
>
> If we pursue the "transferring result type" future direction of this proposal, we could add an overload of `assumeIsolated` that accepts a closure returning a (strawman syntax) `transferring T` result type where `T` is not required to conform to `Sendable`.

---

_[View the full topic](https://forums.swift.org/t/why-does-assumeisolated-now-require-t-sendable/72344)._
