Skip to content

Commit 43da773

Browse files
committed
stdlib: Update {Mutable,}{Raw,}Span availability for backward deployment
1 parent 89aabcb commit 43da773

File tree

7 files changed

+181
-57
lines changed

7 files changed

+181
-57
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[
22
{
33
"module": "CompatibilitySpan",
4-
"install_name": "/usr/lib/swift/libswiftCompatibilitySpan.dylib"
4+
"install_name": "@rpath/libswiftCompatibilitySpan.dylib"
55
}
66
]

stdlib/public/core/Span/MutableRawSpan.swift

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ import Swift
1818
// contains initialized `Element` instances.
1919
@safe
2020
@frozen
21-
@available(SwiftStdlib 6.2, *)
21+
@available(SwiftStdlib 5.0, *)
22+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
2223
public struct MutableRawSpan: ~Copyable & ~Escapable {
2324
@usableFromInline
2425
internal let _pointer: UnsafeMutableRawPointer?
@@ -44,10 +45,12 @@ public struct MutableRawSpan: ~Copyable & ~Escapable {
4445
}
4546
}
4647

47-
@available(SwiftStdlib 6.2, *)
48+
@available(SwiftStdlib 5.0, *)
49+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
4850
extension MutableRawSpan: @unchecked Sendable {}
4951

50-
@available(SwiftStdlib 6.2, *)
52+
@available(SwiftStdlib 5.0, *)
53+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
5154
extension MutableRawSpan {
5255

5356
@unsafe
@@ -119,7 +122,8 @@ extension MutableRawSpan {
119122
}
120123
}
121124

122-
@available(SwiftStdlib 6.2, *)
125+
@available(SwiftStdlib 5.0, *)
126+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
123127
extension MutableRawSpan {
124128
@_alwaysEmitIntoClient
125129
public var byteCount: Int { _count }
@@ -133,7 +137,8 @@ extension MutableRawSpan {
133137
}
134138
}
135139

136-
@available(SwiftStdlib 6.2, *)
140+
@available(SwiftStdlib 5.0, *)
141+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
137142
extension MutableRawSpan {
138143

139144
@_alwaysEmitIntoClient
@@ -158,7 +163,8 @@ extension MutableRawSpan {
158163
}
159164
}
160165

161-
@available(SwiftStdlib 6.2, *)
166+
@available(SwiftStdlib 5.0, *)
167+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
162168
extension RawSpan {
163169

164170
@_alwaysEmitIntoClient
@@ -170,7 +176,8 @@ extension RawSpan {
170176
}
171177
}
172178

173-
@available(SwiftStdlib 6.2, *)
179+
@available(SwiftStdlib 5.0, *)
180+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
174181
extension MutableRawSpan {
175182

176183
public var bytes: RawSpan {
@@ -206,7 +213,8 @@ extension MutableRawSpan {
206213
}
207214
}
208215

209-
@available(SwiftStdlib 6.2, *)
216+
@available(SwiftStdlib 5.0, *)
217+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
210218
extension MutableRawSpan {
211219

212220
/// Returns a new instance of the given type, constructed from the raw memory
@@ -347,7 +355,8 @@ extension MutableRawSpan {
347355
#if !SPAN_COMPATIBILITY_STUB
348356

349357
//MARK: copyMemory
350-
@available(SwiftStdlib 6.2, *)
358+
@available(SwiftStdlib 5.0, *)
359+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
351360
extension MutableRawSpan {
352361

353362
@_alwaysEmitIntoClient
@@ -440,7 +449,8 @@ extension MutableRawSpan {
440449
#endif
441450

442451
// MARK: sub-spans
443-
@available(SwiftStdlib 6.2, *)
452+
@available(SwiftStdlib 5.0, *)
453+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
444454
extension MutableRawSpan {
445455

446456
/// Constructs a new span over the items within the supplied range of
@@ -555,7 +565,8 @@ extension MutableRawSpan {
555565
}
556566

557567
// MARK: prefixes and suffixes
558-
@available(SwiftStdlib 6.2, *)
568+
@available(SwiftStdlib 5.0, *)
569+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
559570
extension MutableRawSpan {
560571

561572
/// Returns a span containing the initial elements of this span,

stdlib/public/core/Span/MutableSpan.swift

Lines changed: 44 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ import Swift
1818
// contains initialized `Element` instances.
1919
@safe
2020
@frozen
21-
@available(SwiftStdlib 6.2, *)
21+
@available(SwiftStdlib 5.0, *)
22+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
2223
public struct MutableSpan<Element: ~Copyable>
2324
: ~Copyable, ~Escapable {
2425
@usableFromInline
@@ -45,10 +46,12 @@ public struct MutableSpan<Element: ~Copyable>
4546
}
4647
}
4748

48-
@available(SwiftStdlib 6.2, *)
49+
@available(SwiftStdlib 5.0, *)
50+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
4951
extension MutableSpan: @unchecked Sendable where Element: Sendable {}
5052

51-
@available(SwiftStdlib 6.2, *)
53+
@available(SwiftStdlib 5.0, *)
54+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
5255
extension MutableSpan where Element: ~Copyable {
5356

5457
@unsafe
@@ -91,7 +94,8 @@ extension MutableSpan where Element: ~Copyable {
9194
}
9295
}
9396

94-
@available(SwiftStdlib 6.2, *)
97+
@available(SwiftStdlib 5.0, *)
98+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
9599
extension MutableSpan {
96100

97101
@unsafe
@@ -106,7 +110,8 @@ extension MutableSpan {
106110
}
107111
}
108112

109-
@available(SwiftStdlib 6.2, *)
113+
@available(SwiftStdlib 5.0, *)
114+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
110115
extension MutableSpan where Element: BitwiseCopyable {
111116

112117
@unsafe
@@ -158,7 +163,8 @@ extension MutableSpan where Element: BitwiseCopyable {
158163
}
159164
}
160165

161-
@available(SwiftStdlib 6.2, *)
166+
@available(SwiftStdlib 5.0, *)
167+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
162168
extension Span where Element: ~Copyable {
163169

164170
@_alwaysEmitIntoClient
@@ -174,7 +180,8 @@ extension Span where Element: ~Copyable {
174180
}
175181
}
176182

177-
@available(SwiftStdlib 6.2, *)
183+
@available(SwiftStdlib 5.0, *)
184+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
178185
extension MutableSpan where Element: ~Copyable {
179186

180187
@_alwaysEmitIntoClient
@@ -186,7 +193,8 @@ extension MutableSpan where Element: ~Copyable {
186193
}
187194
}
188195

189-
@available(SwiftStdlib 6.2, *)
196+
@available(SwiftStdlib 5.0, *)
197+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
190198
extension RawSpan {
191199

192200
@_alwaysEmitIntoClient
@@ -202,7 +210,8 @@ extension RawSpan {
202210
}
203211
}
204212

205-
@available(SwiftStdlib 6.2, *)
213+
@available(SwiftStdlib 5.0, *)
214+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
206215
extension MutableSpan where Element: ~Copyable {
207216

208217
@_alwaysEmitIntoClient
@@ -215,7 +224,8 @@ extension MutableSpan where Element: ~Copyable {
215224
}
216225

217226
//MARK: Collection, RandomAccessCollection
218-
@available(SwiftStdlib 6.2, *)
227+
@available(SwiftStdlib 5.0, *)
228+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
219229
extension MutableSpan where Element: ~Copyable {
220230

221231
@_alwaysEmitIntoClient
@@ -232,7 +242,8 @@ extension MutableSpan where Element: ~Copyable {
232242
}
233243
}
234244

235-
@available(SwiftStdlib 6.2, *)
245+
@available(SwiftStdlib 5.0, *)
246+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
236247
extension MutableSpan where Element: BitwiseCopyable {
237248

238249
/// Construct a RawSpan over the memory represented by this span
@@ -247,7 +258,8 @@ extension MutableSpan where Element: BitwiseCopyable {
247258
}
248259
}
249260

250-
@available(SwiftStdlib 6.2, *)
261+
@available(SwiftStdlib 5.0, *)
262+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
251263
extension MutableSpan where Element: ~Copyable {
252264

253265
/// Accesses the element at the specified position in the `Span`.
@@ -300,7 +312,8 @@ extension MutableSpan where Element: ~Copyable {
300312
}
301313
}
302314

303-
@available(SwiftStdlib 6.2, *)
315+
@available(SwiftStdlib 5.0, *)
316+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
304317
extension MutableSpan where Element: ~Copyable {
305318

306319
@_alwaysEmitIntoClient
@@ -323,7 +336,8 @@ extension MutableSpan where Element: ~Copyable {
323336
}
324337
}
325338

326-
@available(SwiftStdlib 6.2, *)
339+
@available(SwiftStdlib 5.0, *)
340+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
327341
extension MutableSpan where Element: BitwiseCopyable {
328342

329343
/// Accesses the element at the specified position in the `Span`.
@@ -372,7 +386,8 @@ extension MutableSpan where Element: BitwiseCopyable {
372386
}
373387
}
374388

375-
@available(SwiftStdlib 6.2, *)
389+
@available(SwiftStdlib 5.0, *)
390+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
376391
extension MutableSpan where Element: ~Copyable {
377392

378393
//FIXME: mark closure parameter as non-escaping
@@ -403,7 +418,8 @@ extension MutableSpan where Element: ~Copyable {
403418
}
404419
}
405420

406-
@available(SwiftStdlib 6.2, *)
421+
@available(SwiftStdlib 5.0, *)
422+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
407423
extension MutableSpan where Element: BitwiseCopyable {
408424

409425
//FIXME: mark closure parameter as non-escaping
@@ -429,7 +445,8 @@ extension MutableSpan where Element: BitwiseCopyable {
429445
}
430446

431447
//MARK: bulk-update functions
432-
@available(SwiftStdlib 6.2, *)
448+
@available(SwiftStdlib 5.0, *)
449+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
433450
extension MutableSpan {
434451

435452
@_alwaysEmitIntoClient
@@ -514,7 +531,8 @@ extension MutableSpan {
514531
}
515532
}
516533

517-
@available(SwiftStdlib 6.2, *)
534+
@available(SwiftStdlib 5.0, *)
535+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
518536
extension MutableSpan where Element: ~Copyable {
519537

520538
// @_alwaysEmitIntoClient
@@ -547,7 +565,8 @@ extension MutableSpan where Element: ~Copyable {
547565
}
548566
}
549567

550-
@available(SwiftStdlib 6.2, *)
568+
@available(SwiftStdlib 5.0, *)
569+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
551570
extension MutableSpan {
552571

553572
@_alwaysEmitIntoClient
@@ -559,7 +578,8 @@ extension MutableSpan {
559578
}
560579
}
561580

562-
@available(SwiftStdlib 6.2, *)
581+
@available(SwiftStdlib 5.0, *)
582+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
563583
extension MutableSpan where Element: BitwiseCopyable {
564584

565585
@_alwaysEmitIntoClient
@@ -653,7 +673,8 @@ extension MutableSpan where Element: BitwiseCopyable {
653673
}
654674

655675
// MARK: sub-spans
656-
@available(SwiftStdlib 6.2, *)
676+
@available(SwiftStdlib 5.0, *)
677+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
657678
extension MutableSpan where Element: ~Copyable {
658679

659680
/// Constructs a new span over the items within the supplied range of
@@ -771,7 +792,8 @@ extension MutableSpan where Element: ~Copyable {
771792
}
772793

773794
// MARK: prefixes and suffixes
774-
@available(SwiftStdlib 6.2, *)
795+
@available(SwiftStdlib 5.0, *)
796+
@_originallyDefinedIn(module: "Swift;CompatibilitySpan", SwiftCompatibilitySpan 6.2)
775797
extension MutableSpan where Element: ~Copyable {
776798

777799
/// Returns a span containing the initial elements of this span,

0 commit comments

Comments
 (0)