|
9 | 9 |
|
10 | 10 | ## Introduction |
11 | 11 |
|
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. |
41 | 22 |
|
42 | 23 | ## Motivation |
43 | 24 |
|
|
0 commit comments