Skip to content

Commit 80fa278

Browse files
committed
burp
1 parent a7ea7ae commit 80fa278

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

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

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ expanding domains.
1515

1616
Source-breaking changes to Swift were first staged behind the now obsolete
1717
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,
1919
using the previous language mode as the default to maximize source
2020
compatibility.
2121
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.
3131
Among other things, upcoming features facilitated earlier adoption of
3232
improvements and drastically reduced the pressures in our evolutionary model.
3333

34-
This proposal centers seeks to improve the experience of adopting individual
34+
This proposal seeks to improve the experience of adopting individual
3535
features.
3636
The proposition is that the growing complexity and diversification of Swift
3737
calls for a flexible, integrated mechanism for supporting quality assistance
@@ -89,8 +89,6 @@ consistent code modifications to facilitate adoption processes:
8989
* [Inherit isolation by default for async functions][async-inherit-isolation-pitch]:
9090
Mark nonisolated functions with the proposed attribute.
9191

92-
Feature
93-
9492
Extending diagnostic metadata to include information that allows for
9593
recognizing these diagnostics and distinguishing semantics-preserving fix-its
9694
from alternative source changes would open up numerous opportunities for
@@ -124,7 +122,7 @@ UPCOMING_FEATURE(RegionBasedIsolation, 414, 6)
124122

125123
## Proposed solution
126124

127-
Introduce the notion of a "adoption" mode for individual experimental and
125+
Introduce the notion of an "adoption" mode for individual experimental and
128126
upcoming features.
129127
The core idea behind adoption mode is a declaration of intent that can be
130128
leveraged to build holistic supportive adoption experiences for developers.
@@ -142,6 +140,9 @@ existing code whenever the feature provides for them.
142140

143141
### Behavior
144142

143+
Adoption mode should deliver guidance in the shape of warnings, notes, remarks,
144+
and fix-its, as and when appropriate.
145+
145146
The action of enabling a previously disabled source-breaking feature in adoption
146147
mode per se must never produce compilation errors.
147148
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.
153154
> Experimental features can be both additive and source-breaking.
154155
> Upcoming features are necessarily source-breaking.
155156
156-
adoption mode will deliver guidance in the shape of warnings, notes, remarks,
157-
and fix-its, as and when appropriate.
158-
159157
When implemented, adoption mode for upcoming features is expected to anticipate
160158
and call out any behavioral differences that will result from enacting the
161159
feature, coupling diagnostic messages with counteracting source-compatible

0 commit comments

Comments
 (0)