Skip to content

Commit 8707bf7

Browse files
authored
Editorial pass over the introduction section.
1 parent 80fa278 commit 8707bf7

File tree

1 file changed

+10
-29
lines changed

1 file changed

+10
-29
lines changed

proposals/NNNN-migration-tooling-for-upcoming-features.md

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,35 +9,16 @@
99

1010
## Introduction
1111

12-
The future we envision for Swift will take many more valiant evolutionary
13-
decisions and major transformations with a proportional impact on its
14-
expanding domains.
15-
16-
Source-breaking changes to Swift were first staged behind the now obsolete
17-
Swift 3 language mode.
18-
Each successive major release has since included a corresponding language mode,
19-
using the previous language mode as the default to maximize source
20-
compatibility.
21-
For example, Swift 6 compilers operate in the Swift 5 language mode by default.
22-
Users that are not ready to adopt the new default can still specify an earlier
23-
language mode explicitly.
24-
Once the time is right, old language modes together with the legacy behaviors
25-
they manifest will be proposed to be deprecated.
26-
27-
In Swift 5.8, the cumulative source compatibility impact of a still converging
28-
Swift 6 language mode gave rise to the
29-
[Swift feature model][SE-0362], which enabled piecemeal adoption of individual
30-
features as opposed to an entire language mode.
31-
Among other things, upcoming features facilitated earlier adoption of
32-
improvements and drastically reduced the pressures in our evolutionary model.
33-
34-
This proposal seeks to improve the experience of adopting individual
35-
features.
36-
The proposition is that the growing complexity and diversification of Swift
37-
calls for a flexible, integrated mechanism for supporting quality assistance
38-
with feature adoption.
39-
And that — in principle — comprehensive, code-aware assistance can be delivered
40-
without breaking source and acted upon incrementally.
12+
In Swift 5.8 introduced [upcoming features][SE-0362],
13+
which enabled piecemeal adoption of individual source incompatible
14+
changes that are enabled by default in a new langauge mode.
15+
Many upcoming features have a mechanical migration, meaning the compiler can
16+
determine the exact source changes necessary to allow the code to compile under
17+
the upcoming feature while preserving the behavior of the code.
18+
This proposal seeks to improve the experience of enabling individual
19+
upcoming features by providing tools that produce the necessary source code
20+
changes automatically for a given set of upcoming features that a programmer
21+
wants to enable.
4122

4223
## Motivation
4324

0 commit comments

Comments
 (0)