The review of SE-0376: Function back deployment has concluded and the language workgroup has elected to request the following revisions based on the community's feedback:
- Change the spelling of the base name from
@backDeployedfor better part-of-speech alignment with other attributes
- Change the argument label from
upTo:for alignment with the terminology already existing in Swift for "upper bound of an exclusive range" a la
The functionality provided by this proposal was overall well-received, with some minor questions about how best to integrate it into the language.
- Some reviewers felt that back deployment wasn't appropriate for inclusion in the language proper at all since it primarily an Apple platform concern. Since the existing availability system shares this property, the language work group believes that officially adopting
@backDeployas a language feature is reasonable.
- There was also further discussion about whether "back deploy" appropriately describes this feature, and whether we'd want to introduce this terminology to the language surface as opposed to formalizing existing terminology such as
@_alwaysEmitIntoClient. The language workgroup feels that "back deploy" is used commonly enough to describe this functionality that it is clear in terms of semantics, and that alternative terminology such as "emit into client" is overly jargon-y.
- Reviewers additionally discussed the argument label
before:and various alternatives were raised. The language workgroup agrees with the point raised that being clear about the exclusivity of the bound here is important, and so has adopted the suggestion from review of using Swift's existing
upTo:terminology to describe an exclusive range.
- The language workgroup also agreed with the position of the author that it is appropriate to require authors to always specify
@backDeployexplicitly even when it could theoretically be inferred from information in the function body.
Once the requested revisions have been made, a second review of the proposal will be kicked off to evaluate the changes in naming. As always, thank you to everyone who participated in the review!