@@ -150,10 +150,11 @@ The following changes are permitted:
150
150
the outermost wrapper is implementation-detail
151
151
(``@ImplementationDetail @MyWrapper ``).
152
152
- Changing or removing a default argument is a `binary-compatible source-breaking change `.
153
- - Changing arguments in the property-wrapper custom attribute of an API-level wrapper
154
- (``@API(argument: 5) ``) or in the custom attributes of compositions
155
- where the outermost wrapper is API-level (``@API @MyWrapper(argument: 5) ``) is a
156
- `binary-compatible source-breaking change `.
153
+ - Changing arguments in the property-wrapper custom attribute of an
154
+ implementation-detail wrapper (``@ImplementationDetail(argument: 5) ``) or
155
+ in the custom attributes of compositions where the outermost wrapper is
156
+ implementation-detail (``@ImplementationDetail @MyWrapper(argument: 5) ``)
157
+ is a `binary-compatible source-breaking change `.
157
158
- Adding or removing the ``@discardableResult `` and ``@warn_unqualified_access ``
158
159
attributes.
159
160
@@ -164,9 +165,10 @@ No other changes are permitted; the following are particularly of note:
164
165
wrappers (``@API ``) or compositions where the outermost wrapper is
165
166
API-level (``@API @MyWrapper ``).
166
167
- An ABI-public function may neither add nor remove arguments from the
167
- property-wrapper custom attribute of an API-level wrapper
168
- (``@API(argument: 5) ``) or in the custom attributes of compositions
169
- where the outermost wrapper is API-level (``@API @MyWrapper(argument: 5) ``).
168
+ property-wrapper custom attribute of a wrapper supporting projected-value
169
+ initialization (``@ValueProjecting(argument: 5) ``) or in the custom
170
+ attributes of compositions where the outermost wrapper is projected-value
171
+ initializable (``@ValueProjecting @MyWrapper(argument: 5) ``).
170
172
- An ABI-public function may not change its generic requirements.
171
173
- An ABI-public function may not change its external parameter names (labels).
172
174
- An ABI-public function may not add, remove, or reorder parameters, whether or
@@ -433,10 +435,11 @@ stored subscripts. This means that the following changes are permitted:
433
435
(``@ImplementationDetail @MyWrapper ``).
434
436
- Changing or removing a default argument is a `binary-compatible
435
437
source-breaking change `.
436
- - Changing arguments in the property-wrapper custom attribute of an API-level wrapper
437
- (``@API(argument: 5) ``) or in the custom attributes of compositions
438
- where the outermost wrapper is API-level (``@API @MyWrapper(argument: 5) ``) is a
439
- `binary-compatible source-breaking change `.
438
+ - Changing arguments in the property-wrapper custom attribute of an
439
+ implementation-detail wrapper (``@ImplementationDetail(argument: 5) ``) or
440
+ in the custom attributes of compositions where the outermost wrapper is
441
+ implementation-detail (``@ImplementationDetail @MyWrapper(argument: 5) ``)
442
+ is a `binary-compatible source-breaking change `.
440
443
441
444
Like properties, subscripts can be marked ``@inlinable ``, which makes
442
445
changing the body of an accessor a `binary-compatible source-breaking change `.
@@ -807,10 +810,11 @@ counterparts with a few small changes:
807
810
- Adding a default argument expression to an index parameter is permitted.
808
811
- Changing or removing a default argument is a `binary-compatible
809
812
source-breaking change `.
810
- - Changing arguments in the property-wrapper custom attribute of an API-level wrapper
811
- (``@API(argument: 5) ``) or in the custom attributes of compositions
812
- where the outermost wrapper is API-level (``@API @MyWrapper(argument: 5) ``) is a
813
- `binary-compatible source-breaking change `.
813
+ - Changing arguments in the property-wrapper custom attribute of an
814
+ implementation-detail wrapper (``@ImplementationDetail(argument: 5) ``) or
815
+ in the custom attributes of compositions where the outermost wrapper is
816
+ implementation-detail (``@ImplementationDetail @MyWrapper(argument: 5) ``)
817
+ is a `binary-compatible source-breaking change `.
814
818
815
819
Adding a public setter to an ``open `` subscript is a
816
820
`binary-compatible source-breaking change `; any existing overrides will not
0 commit comments