[Returned for revision] SE-0430: `transferring` isolation regions of parameter and result values

The first review of SE-0438 has concluded and the proposal has been returned for revision.

Feedback from the review suggests that this is a good overall design with a strong motivation. However, the Language Steering Group has concerns about the spelling of the transferring modifier. The distinction between consuming a non-copyable type and transferring an object graph to a different concurrency domain is already subtle, and the fact that transferring sounds plausibly like an ownership modifier for non-copyable types adds to that problem; some members have already noticed confusion when discussing transferring with potential adopters. A keyword which conveys that this feature is related to, but distinct from, Sendable types would help developers better understand how it fits into the larger picture of data race safety.

The Language Steering Group did not converge on a specific recommendation in the limited time available for discussion, so the proposal is being returned to the authors to select a keyword which better aligns with its role in concurrency. In all other respects, the proposal is accepted in principle.

Thanks to everyone who participated in the review for sharing your insights!

--
Becca Royal-Gordon
SE-0430 Review Manager

20 Likes