@@ -15,7 +15,7 @@ expanding domains.
15
15
16
16
Source-breaking changes to Swift were first staged behind the now obsolete
17
17
Swift 3 language mode.
18
- Each successive major release has since included a correponding language mode,
18
+ Each successive major release has since included a corresponding language mode,
19
19
using the previous language mode as the default to maximize source
20
20
compatibility.
21
21
For example, Swift 6 compilers operate in the Swift 5 language mode by default.
@@ -31,7 +31,7 @@ features as opposed to an entire language mode.
31
31
Among other things, upcoming features facilitated earlier adoption of
32
32
improvements and drastically reduced the pressures in our evolutionary model.
33
33
34
- This proposal centers seeks to improve the experience of adopting individual
34
+ This proposal seeks to improve the experience of adopting individual
35
35
features.
36
36
The proposition is that the growing complexity and diversification of Swift
37
37
calls for a flexible, integrated mechanism for supporting quality assistance
@@ -89,8 +89,6 @@ consistent code modifications to facilitate adoption processes:
89
89
* [ Inherit isolation by default for async functions] [ async-inherit-isolation-pitch ] :
90
90
Mark nonisolated functions with the proposed attribute.
91
91
92
- Feature
93
-
94
92
Extending diagnostic metadata to include information that allows for
95
93
recognizing these diagnostics and distinguishing semantics-preserving fix-its
96
94
from alternative source changes would open up numerous opportunities for
@@ -124,7 +122,7 @@ UPCOMING_FEATURE(RegionBasedIsolation, 414, 6)
124
122
125
123
## Proposed solution
126
124
127
- Introduce the notion of a "adoption" mode for individual experimental and
125
+ Introduce the notion of an "adoption" mode for individual experimental and
128
126
upcoming features.
129
127
The core idea behind adoption mode is a declaration of intent that can be
130
128
leveraged to build holistic supportive adoption experiences for developers.
@@ -142,6 +140,9 @@ existing code whenever the feature provides for them.
142
140
143
141
### Behavior
144
142
143
+ Adoption mode should deliver guidance in the shape of warnings, notes, remarks,
144
+ and fix-its, as and when appropriate.
145
+
145
146
The action of enabling a previously disabled source-breaking feature in adoption
146
147
mode per se must never produce compilation errors.
147
148
Additionally, this action will have no effect on the state of the feature if
@@ -153,9 +154,6 @@ impression that the impacted source code is compatible with the feature.
153
154
> Experimental features can be both additive and source-breaking.
154
155
> Upcoming features are necessarily source-breaking.
155
156
156
- adoption mode will deliver guidance in the shape of warnings, notes, remarks,
157
- and fix-its, as and when appropriate.
158
-
159
157
When implemented, adoption mode for upcoming features is expected to anticipate
160
158
and call out any behavioral differences that will result from enacting the
161
159
feature, coupling diagnostic messages with counteracting source-compatible
0 commit comments