Hi everyone. The review of SE-0446: Nonescapable Types begins now and runs through October 1, 2024.
In order to try this feature out, the proposal authors have provided toolchains:
- Toolchain for macOS: https://ci.swift.org/job/swift-PR-toolchain-macos/1498/artifact/branch-main/swift-PR-76406-1498-osx.tar.gz
- Toolchain for Linux (Ubuntu): https://download.swift.org/tmp/pull-request/76406/1039/ubuntu2004/PR-ubuntu2004.tar.gz
- Toolchain for Windows: https://ci-external.swift.org/job/swift-PR-build-toolchain-windows/5477/artifact/*zip*/archive.zip
This proposal covers the first stage of support for nonescapable types; it covers the basic semantics of nonescapable types which are confined to their current scope. However, the proposal on its own provides no facility for expressing lifetime dependencies beyond that, which means that in particular it provides no safe way to initialize or return values of ~Escapable
type. In order to facilitate experimentation with this feature, the above toolchains also provide some support for the @lifetime
attribute, which must be used to express the lifetime dependency of an ~Escapable
value produced by an initializer or return value. The exact behavior of this attribute is however not covered by this review, and may be subject to change in the future until it is separately reviewed and accepted.
Reviews are an important part of the Swift evolution process. All review feedback should be either on this forum thread or, if you would like to keep your feedback private, directly to the review manager via the forum messaging feature. When contacting the review manager directly, please keep the proposal link at the top of the message.
What goes into a review?
The goal of the review process is to improve the proposal under review through constructive criticism and, eventually, determine the direction of Swift. When writing your review, here are some questions you might want to answer in your review:
- What is your evaluation of the proposal?
- Is the problem being addressed significant enough to warrant a change to Swift?
- Does this proposal fit well with the feel and direction of Swift?
- If you have used other languages or libraries with a similar feature, how do you feel that this proposal compares to those?
- How much effort did you put into your review? A glance, a quick reading, or an in-depth study?
More information about the Swift evolution process is available at https://github.com/apple/swift-evolution/blob/main/process.md.
Thanks for contributing to Swift!
Joe Groff
Review Manager