Skip to content

Commit cb87705

Browse files
committed
[docs] LibraryEvolution: Point out a Central Tenet of Swift:
The Default Behavior Should Be Safe Also, remove the line about "providing tools to check changes", because it no longer fits in the prologue flow and isn't core to the model. The section on it is good enough.
1 parent 42bb252 commit cb87705

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

docs/LibraryEvolution.rst

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ unacceptable cost or force widespread opting-out of abstraction. We intend to
2525
mitigate this primarily by designing the language and its implementation to
2626
minimize unnecessary and unintended abstraction:
2727

28+
* Avoiding unnecessary language guarantees and taking advantage of that
29+
flexibility to limit load-time costs.
30+
2831
* Within the domain that defines an entity, all the details of its
2932
implementation are available.
3033

@@ -35,10 +38,9 @@ minimize unnecessary and unintended abstraction:
3538
independently desirable to reduce accidental API surface area, but happens to
3639
also interact well with the performance design.
3740

38-
* Avoiding unnecessary language guarantees and taking advantage of that
39-
flexibility to limit load-time costs.
40-
41-
We also intend to provide tools to detect inadvertent changes in interfaces.
41+
This last point is a specific case of a general tenet of Swift: **the default
42+
behavior is safe**. Where possible, choices made when an entity is first
43+
published should not limit its evolution in the future.
4244

4345
.. contents:: :local:
4446

0 commit comments

Comments
 (0)