Skip to content

Commit d9b46fe

Browse files
committed
wip: fixup availability
1 parent e9d12a4 commit d9b46fe

11 files changed

+173
-47
lines changed

stdlib/public/core/UTF8EncodingError.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ extension Unicode.UTF8 {
9898
```
9999

100100
*/
101-
@available(SwiftStdlib 6.1, *)
101+
@available(SwiftStdlib 6.2, *)
102102
@frozen
103103
public struct ValidationError: Error, Sendable, Hashable
104104
{
@@ -135,7 +135,7 @@ extension Unicode.UTF8 {
135135
}
136136

137137

138-
@available(SwiftStdlib 6.1, *)
138+
@available(SwiftStdlib 6.2, *)
139139
extension UTF8.ValidationError {
140140
/// The kind of encoding error encountered during validation
141141
@frozen
@@ -183,7 +183,7 @@ extension UTF8.ValidationError {
183183
}
184184

185185
@_unavailableInEmbedded
186-
@available(SwiftStdlib 6.1, *)
186+
@available(SwiftStdlib 6.2, *)
187187
extension UTF8.ValidationError.Kind: CustomStringConvertible {
188188
public var description: String {
189189
switch self {
@@ -204,14 +204,14 @@ extension UTF8.ValidationError.Kind: CustomStringConvertible {
204204
}
205205

206206
@_unavailableInEmbedded
207-
@available(SwiftStdlib 6.1, *)
207+
@available(SwiftStdlib 6.2, *)
208208
extension UTF8.ValidationError: CustomStringConvertible {
209209
public var description: String {
210210
"UTF8.ValidationError(\(kind), \(byteOffsets))"
211211
}
212212
}
213213

214-
@available(SwiftStdlib 6.1, *)
214+
@available(SwiftStdlib 6.2, *)
215215
extension UTF8 {
216216
@usableFromInline // for testing purposes
217217
internal static func _checkAllErrors(

stdlib/public/core/UTF8Span.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
/// TODO: docs
55
@frozen
66
@safe
7-
@available(SwiftStdlib 6.1, *)
7+
@available(SwiftStdlib 6.2, *)
88
public struct UTF8Span: Copyable, ~Escapable, BitwiseCopyable {
99
@usableFromInline
1010
internal var _unsafeBaseAddress: UnsafeRawPointer?
@@ -60,7 +60,7 @@ public struct UTF8Span: Copyable, ~Escapable, BitwiseCopyable {
6060

6161
// TODO: try to convert code to be ran on Span instead of URP
6262

63-
@available(SwiftStdlib 6.1, *)
63+
@available(SwiftStdlib 6.2, *)
6464
extension UTF8Span {
6565
/// Creates a UTF8Span containing `codeUnits`. Validates that the input is
6666
/// valid UTF-8, otherwise throws an error.
@@ -127,7 +127,7 @@ extension UTF8Span {
127127
// MARK: String
128128

129129

130-
@available(SwiftStdlib 6.1, *)
130+
@available(SwiftStdlib 6.2, *)
131131
extension UTF8Span {
132132
/// Calls a closure with a pointer to the viewed contiguous storage.
133133
///
@@ -155,7 +155,7 @@ extension UTF8Span {
155155

156156
// MARK: Internals
157157

158-
@available(SwiftStdlib 6.1, *)
158+
@available(SwiftStdlib 6.2, *)
159159
extension UTF8Span {
160160
#if !INTERNAL_CHECKS_ENABLED
161161
@inline(__always) internal func _invariantCheck() {}
@@ -167,7 +167,7 @@ extension UTF8Span {
167167
#endif
168168
}
169169

170-
@available(SwiftStdlib 6.1, *)
170+
@available(SwiftStdlib 6.2, *)
171171
extension UTF8Span {
172172
public var isEmpty: Bool {
173173
self.count == 0
@@ -184,7 +184,7 @@ extension UTF8Span {
184184
}
185185

186186
// TODO(toolchain): decide if we rebase on top of Guillaume's work
187-
@available(SwiftStdlib 6.1, *)
187+
@available(SwiftStdlib 6.2, *)
188188
extension String {
189189
public var utf8Span: UTF8Span {
190190
@lifetime(borrow self)
@@ -200,7 +200,7 @@ extension String {
200200
}
201201
}
202202

203-
@available(SwiftStdlib 6.1, *)
203+
@available(SwiftStdlib 6.2, *)
204204
extension Substring {
205205
public var utf8Span: UTF8Span {
206206
@lifetime(borrow self)

stdlib/public/core/UTF8SpanBits.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@available(SwiftStdlib 6.1, *)
1+
@available(SwiftStdlib 6.2, *)
22
extension UTF8Span {
33
/// Returns whether contents are known to be all-ASCII. A return value of
44
/// `true` means that all code units are ASCII. A return value of `false`
@@ -95,7 +95,7 @@ extension UTF8Span {
9595
}
9696
}
9797

98-
@available(SwiftStdlib 6.1, *)
98+
@available(SwiftStdlib 6.2, *)
9999
extension UTF8Span {
100100
@_alwaysEmitIntoClient @inline(__always)
101101
internal static var _asciiBit: UInt64 {

stdlib/public/core/UTF8SpanComparisons.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// TODO: comment header
22

33

4-
@available(SwiftStdlib 6.1, *)
4+
@available(SwiftStdlib 6.2, *)
55
extension UTF8Span {
66
/// Whether this span has the same bytes as `other`.
77
@_alwaysEmitIntoClient
@@ -50,7 +50,7 @@ extension UTF8Span {
5050
}
5151
}
5252

53-
@available(SwiftStdlib 6.1, *)
53+
@available(SwiftStdlib 6.2, *)
5454
extension UTF8Span {
5555
/// Whether `self` is equivalent to `other` under Unicode Canonical
5656
/// Equivalence.
@@ -86,7 +86,7 @@ extension UTF8Span {
8686
}
8787

8888
// // FIXME: remove
89-
// @available(SwiftStdlib 6.1, *)
89+
// @available(SwiftStdlib 6.2, *)
9090
// extension UTF8Span {
9191
// public static func ~=(_ lhs: StaticString, _ rhs: UTF8Span) -> Bool {
9292
// return lhs.withUTF8Buffer { str in

stdlib/public/core/UTF8SpanFundamentals.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Core Scalar API
2-
@available(SwiftStdlib 6.1, *)
2+
@available(SwiftStdlib 6.2, *)
33
extension UTF8Span {
44
// /// Whether `i` is on a boundary between Unicode scalar values.
55
// internal func _isScalarAligned(_ i: Int) -> Bool {
@@ -215,7 +215,7 @@ extension UTF8Span {
215215
}
216216

217217
// Derived Scalar API
218-
@available(SwiftStdlib 6.1, *)
218+
@available(SwiftStdlib 6.2, *)
219219
extension UTF8Span {
220220
/// Find the nearest scalar-aligned position `<= i`.
221221
internal func _scalarAlignBackwards(_ i: Int) -> Int {
@@ -263,7 +263,7 @@ extension UTF8Span {
263263
}
264264

265265
// Core Character API
266-
@available(SwiftStdlib 6.1, *)
266+
@available(SwiftStdlib 6.2, *)
267267
extension UTF8Span {
268268
// TODO: Single-scalar fast paths
269269

@@ -463,7 +463,7 @@ extension UTF8Span {
463463
}
464464

465465
// Derived Character API
466-
// @available(SwiftStdlib 6.1, *)
466+
// @available(SwiftStdlib 6.2, *)
467467
// extension UTF8Span {
468468
// /// Find the nearest `Character` (i.e. grapheme cluster)-aligned position
469469
// /// that is `<= i`.
@@ -510,7 +510,7 @@ extension UTF8Span {
510510
// }
511511

512512
// TODO: internal?
513-
@available(SwiftStdlib 6.1, *)
513+
@available(SwiftStdlib 6.2, *)
514514
extension UTF8Span {
515515
/// Whether `i` is in bounds
516516
@_alwaysEmitIntoClient

stdlib/public/core/UTF8SpanInternalHelpers.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ extension UnsafeRawPointer {
173173

174174
}
175175

176-
@available(SwiftStdlib 6.1, *)
176+
@available(SwiftStdlib 6.2, *)
177177
extension UnsafeRawPointer {
178178
internal enum _UTF8ValidationResult {
179179
case success(isASCII: Bool)

stdlib/public/core/UTF8SpanIterators.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@available(SwiftStdlib 6.1, *)
1+
@available(SwiftStdlib 6.2, *)
22
extension UTF8Span {
33
/// Returns an iterator that will decode the code units into
44
/// `Unicode.Scalar`s.
@@ -195,7 +195,7 @@ extension UTF8Span {
195195
}
196196
}
197197

198-
@available(SwiftStdlib 6.1, *)
198+
@available(SwiftStdlib 6.2, *)
199199
@_unavailableInEmbedded
200200
extension UTF8Span {
201201
/// Returns an iterator that will construct `Character`s from the underlying

test/abi/macOS/arm64/stdlib.swift

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -814,6 +814,132 @@ Added: _$ss7RawSpanVMa
814814
Added: _$ss7RawSpanVMn
815815
Added: _$ss7RawSpanVN
816816

817+
// SE-0464
818+
Added: _$sSS8utf8Spans04UTF8B0Vvg
819+
Added: _$sSS8utf8Spans04UTF8B0VvpMV
820+
Added: _$sSs8utf8Spans04UTF8B0Vvg
821+
Added: _$sSs8utf8Spans04UTF8B0VvpMV
822+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV11byteOffsetsSnySiGvM
823+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV11byteOffsetsSnySiGvg
824+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV11byteOffsetsSnySiGvpMV
825+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV11byteOffsetsSnySiGvs
826+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV11descriptionSSvg
827+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV11descriptionSSvpMV
828+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV2eeoiySbAF_AFtFZ
829+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV11descriptionSSvg
830+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV11descriptionSSvpMV
831+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV15truncatedScalarAHvpZMV
832+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV20overlongEncodingByteAHvpZMV
833+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV22surrogateCodePointByteAHvpZMV
834+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV26unexpectedContinuationByteAHvpZMV
835+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV32invalidNonSurrogateCodePointByteAHvpZMV
836+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV8rawValueAHSgs5UInt8V_tcfC
837+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV8rawValues5UInt8VvM
838+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV8rawValues5UInt8Vvg
839+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV8rawValues5UInt8VvpMV
840+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindV8rawValues5UInt8Vvs
841+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVMa
842+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVMn
843+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVN
844+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVSHsMc
845+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVSHsWP
846+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVSQsMc
847+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVSQsWP
848+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVSYsMc
849+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVSYsWP
850+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVs0D0sMc
851+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVs0D0sWP
852+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVs23CustomStringConvertiblesMc
853+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4KindVs23CustomStringConvertiblesWP
854+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4hash4intoys6HasherVz_tF
855+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4kindAF4KindVvM
856+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4kindAF4KindVvg
857+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4kindAF4KindVvpMV
858+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV4kindAF4KindVvs
859+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV9hashValueSivg
860+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorV9hashValueSivpMV
861+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorVMa
862+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorVMn
863+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorVN
864+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorVSHsMc
865+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorVSHsWP
866+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorVSQsMc
867+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorVSQsWP
868+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorVs0D0sMc
869+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorVs0D0sWP
870+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorVs23CustomStringConvertiblesMc
871+
Added: _$ss7UnicodeO4UTF8O15ValidationErrorVs23CustomStringConvertiblesWP
872+
Added: _$ss7UnicodeO4UTF8O15_checkAllErrorsySayAD15ValidationErrorVGxSTRzs5UInt8V7ElementRtzlFZ
873+
Added: _$ss8UTF8SpanV019unsafeAssumingValidA012isKnownASCIIABs0B0Vys5UInt8VG_SbtcfC
874+
Added: _$ss8UTF8SpanV10_countMasks6UInt64VvpZMV
875+
Added: _$ss8UTF8SpanV10_flagsMasks6UInt64VvpZMV
876+
Added: _$ss8UTF8SpanV10isKnownNFCSbvpMV
877+
Added: _$ss8UTF8SpanV10validatingABs0B0Vys5UInt8VG_ts7UnicodeO0A0O15ValidationErrorVYKcfC
878+
Added: _$ss8UTF8SpanV11checkForNFC10quickCheckS2b_tF
879+
Added: _$ss8UTF8SpanV12isKnownASCIISbvpMV
880+
Added: _$ss8UTF8SpanV13checkForASCIISbyF
881+
Added: _$ss8UTF8SpanV14_countAndFlagss6UInt64VvM
882+
Added: _$ss8UTF8SpanV14_countAndFlagss6UInt64Vvg
883+
Added: _$ss8UTF8SpanV14_countAndFlagss6UInt64VvpMV
884+
Added: _$ss8UTF8SpanV14_countAndFlagss6UInt64Vvs
885+
Added: _$ss8UTF8SpanV17CharacterIteratorV11skipForward2byS2i_tF
886+
Added: _$ss8UTF8SpanV17CharacterIteratorV11skipForwardSiyF
887+
Added: _$ss8UTF8SpanV17CharacterIteratorV21currentCodeUnitOffsetSivg
888+
Added: _$ss8UTF8SpanV17CharacterIteratorV21currentCodeUnitOffsetSivpMV
889+
Added: _$ss8UTF8SpanV17CharacterIteratorV4nextSJSgyF
890+
Added: _$ss8UTF8SpanV17CharacterIteratorV5reset20roundingForwardsFromySi_tF
891+
Added: _$ss8UTF8SpanV17CharacterIteratorV5reset21roundingBackwardsFromySi_tF
892+
Added: _$ss8UTF8SpanV17CharacterIteratorV5reset26uncheckedAssumingAlignedToySi_tF
893+
Added: _$ss8UTF8SpanV17CharacterIteratorV6prefixAByF
894+
Added: _$ss8UTF8SpanV17CharacterIteratorV6suffixAByF
895+
Added: _$ss8UTF8SpanV17CharacterIteratorV8previousSJSgyF
896+
Added: _$ss8UTF8SpanV17CharacterIteratorV8skipBack2byS2i_tF
897+
Added: _$ss8UTF8SpanV17CharacterIteratorV8skipBackSiyF
898+
Added: _$ss8UTF8SpanV17CharacterIteratorV9codeUnitsABvg
899+
Added: _$ss8UTF8SpanV17CharacterIteratorV9codeUnitsABvpMV
900+
Added: _$ss8UTF8SpanV17CharacterIteratorVMa
901+
Added: _$ss8UTF8SpanV17CharacterIteratorVMn
902+
Added: _$ss8UTF8SpanV17CharacterIteratorVN
903+
Added: _$ss8UTF8SpanV17CharacterIteratorVyAdBcfC
904+
Added: _$ss8UTF8SpanV18_unsafeBaseAddressSVSgvM
905+
Added: _$ss8UTF8SpanV18_unsafeBaseAddressSVSgvg
906+
Added: _$ss8UTF8SpanV18_unsafeBaseAddressSVSgvpMV
907+
Added: _$ss8UTF8SpanV18_unsafeBaseAddressSVSgvs
908+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV11skipForward2byS2i_tF
909+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV11skipForwardSiyF
910+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV21currentCodeUnitOffsetSivg
911+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV21currentCodeUnitOffsetSivpMV
912+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV4nexts0C0O0D0VSgyF
913+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV5reset20roundingForwardsFromySi_tF
914+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV5reset21roundingBackwardsFromySi_tF
915+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV5reset26uncheckedAssumingAlignedToySi_tF
916+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV6prefixAByF
917+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV6suffixAByF
918+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV8previouss0C0O0D0VSgyF
919+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV8skipBack2byS2i_tF
920+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV8skipBackSiyF
921+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV9codeUnitsABvg
922+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorV9codeUnitsABvpMV
923+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorVMa
924+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorVMn
925+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorVN
926+
Added: _$ss8UTF8SpanV21UnicodeScalarIteratorVyAdBcfC
927+
Added: _$ss8UTF8SpanV21isCanonicallyLessThanySbABF
928+
Added: _$ss8UTF8SpanV21makeCharacterIteratorAB0dE0VyF
929+
Added: _$ss8UTF8SpanV23isCanonicallyEquivalent2toSbAB_tF
930+
Added: _$ss8UTF8SpanV25makeUnicodeScalarIteratorAB0deF0VyF
931+
Added: _$ss8UTF8SpanV4spans0B0Vys5UInt8VGvg
932+
Added: _$ss8UTF8SpanV4spans0B0Vys5UInt8VGvpMV
933+
Added: _$ss8UTF8SpanV5countSivpMV
934+
Added: _$ss8UTF8SpanV7_nfcBits6UInt64VvpZMV
935+
Added: _$ss8UTF8SpanV7isEmptySbvg
936+
Added: _$ss8UTF8SpanV7isEmptySbvpMV
937+
Added: _$ss8UTF8SpanV9_asciiBits6UInt64VvpZMV
938+
Added: _$ss8UTF8SpanVMa
939+
Added: _$ss8UTF8SpanVMn
940+
Added: _$ss8UTF8SpanVN
941+
942+
817943
// SE-0467 MutableSpan and MutableRawSpan
818944
Added: _$ss11MutableSpanVMa
819945
Added: _$ss11MutableSpanVMn

test/stdlib/UTF8EncodingErrorTests.swift

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-run-stdlib-swift(-enable-experimental-feature Span) -enable-experimental-feature Span %S/Inputs/
1+
// RUN: %target-run-stdlib-swift %S/Inputs/
22

33
// REQUIRES: executable_test
44

@@ -10,7 +10,7 @@ import StdlibUnittest
1010
var suite = TestSuite("UTF8.ValidationError")
1111
defer { runAllTests() }
1212

13-
@available(SwiftStdlib 6.1, *)
13+
@available(SwiftStdlib 6.2, *)
1414
extension Array {
1515
func withSpan<R>(_ f: (Span<Element>) throws -> R) rethrows -> R {
1616
try self.withUnsafeBufferPointer {
@@ -26,7 +26,7 @@ extension Range<Int> {
2626
}
2727
}
2828

29-
@available(SwiftStdlib 6.1, *)
29+
@available(SwiftStdlib 6.2, *)
3030
private struct ValidationError {
3131
var error: UTF8.ValidationError
3232

@@ -76,7 +76,7 @@ private struct ValidationError {
7676
}
7777

7878

79-
@available(SwiftStdlib 6.1, *)
79+
@available(SwiftStdlib 6.2, *)
8080
private struct ValidationTestCase {
8181
var bytes: [UInt8]
8282

@@ -211,7 +211,7 @@ private struct ValidationTestCase {
211211
}
212212
}
213213

214-
if #available(SwiftStdlib 6.1, *) {
214+
if #available(SwiftStdlib 6.2, *) {
215215
suite.test("UTF8Span/encoding errors") {
216216
func test(
217217
_ bytes: Array<UInt8>,

0 commit comments

Comments
 (0)