[Accepted] Vision: Optional Strict Memory Safety for Swift

Hello, Swift community.

I'm chuffed to announce that the Language Steering Group has accepted a vision document entitled Optional Strict Memory Safety for Swift:

Swift is a memory-safe language by default , meaning that the major language features and standard library APIs are memory-safe. However, it is possible to opt out of memory safety when it’s pragmatic using certain “unsafe” language or library constructs. This document proposes a path toward an optional “strict” subset of Swift that prohibits any unsafe features. This subset is intended to be used for Swift code bases where memory safety is an absolute requirement, such as security-critical libraries.

This vision document was written by Doug Gregor, with much helpful feedback from the evolution forums.

I would personally like to emphasize that the vision does not expect that strict safety will be enabled in a future language mode. The viewpoint of the author is that Swift's current (non-strict) memory safety is the right default for the vast majority of Swift users, and this vision would not effect the code that they write unless they specifically opted into the envisioned checking.

As discussed in John's general post about vision documents, the Language Steering Group's acceptance of this document is a strong endorsement of the goals laid out in the vision, a general endorsement of the basic approach, but only a weak endorsement of any concrete proposals. All proposals in the vision will have to undergo ordinary evolution review, which may result in rejection or major revision.

Please feel free to discuss this vision in this thread.

Stephen Canon
Language Steering Group

33 Likes