Skip to content

Commit f71c5bf

Browse files
committed
wip: re-arrange availability
1 parent d9b46fe commit f71c5bf

File tree

2 files changed

+46
-46
lines changed

2 files changed

+46
-46
lines changed

stdlib/public/core/UTF8EncodingError.swift

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -211,51 +211,51 @@ extension UTF8.ValidationError: CustomStringConvertible {
211211
}
212212
}
213213

214-
@available(SwiftStdlib 6.2, *)
215-
extension UTF8 {
216-
@usableFromInline // for testing purposes
217-
internal static func _checkAllErrors(
218-
_ s: some Sequence<UInt8>
219-
) -> Array<UTF8.ValidationError> {
220-
// TODO: Span fast path
221-
// TODO: Fixed size buffer for non-contig inputs
222-
// TODO: Lifetime-dependent result variant
223-
let cus = Array(s)
224-
return unsafe cus.withUnsafeBytes {
225-
var bufPtr = unsafe $0
226-
var start = 0
227-
var errors: Array<UTF8.ValidationError> = []
228-
229-
// Remember the previous error, so that we can
230-
// apply it to subsequent bytes instead of reporting
231-
// just `.unexpectedContinuation`.
232-
var priorError: UTF8.ValidationError? = nil
233-
while true {
234-
do throws(UTF8.ValidationError) {
235-
_ = unsafe try bufPtr.baseAddress!._validateUTF8(limitedBy: bufPtr.count)
236-
return errors
237-
} catch {
238-
let adjustedRange =
239-
error.byteOffsets.lowerBound + start ..< error.byteOffsets.upperBound + start
240-
241-
let kind: UTF8.ValidationError.Kind
242-
if let prior = priorError,
243-
prior.byteOffsets.upperBound == adjustedRange.lowerBound,
244-
error.kind == .unexpectedContinuationByte
245-
{
246-
kind = prior.kind
247-
} else {
248-
kind = error.kind
249-
}
250-
let adjustedErr = UTF8.ValidationError(kind, adjustedRange)
251-
priorError = adjustedErr
252-
253-
let errEnd = error.byteOffsets.upperBound
254-
start += errEnd
255-
unsafe bufPtr = .init(rebasing: bufPtr[errEnd...])
256-
errors.append(adjustedErr)
214+
extension UTF8 {
215+
@available(SwiftStdlib 6.2, *)
216+
@usableFromInline // for testing purposes
217+
internal static func _checkAllErrors(
218+
_ s: some Sequence<UInt8>
219+
) -> Array<UTF8.ValidationError> {
220+
// TODO: Span fast path
221+
// TODO: Fixed size buffer for non-contig inputs
222+
// TODO: Lifetime-dependent result variant
223+
let cus = Array(s)
224+
return unsafe cus.withUnsafeBytes {
225+
var bufPtr = unsafe $0
226+
var start = 0
227+
var errors: Array<UTF8.ValidationError> = []
228+
229+
// Remember the previous error, so that we can
230+
// apply it to subsequent bytes instead of reporting
231+
// just `.unexpectedContinuation`.
232+
var priorError: UTF8.ValidationError? = nil
233+
while true {
234+
do throws(UTF8.ValidationError) {
235+
_ = unsafe try bufPtr.baseAddress!._validateUTF8(limitedBy: bufPtr.count)
236+
return errors
237+
} catch {
238+
let adjustedRange =
239+
error.byteOffsets.lowerBound + start ..< error.byteOffsets.upperBound + start
240+
241+
let kind: UTF8.ValidationError.Kind
242+
if let prior = priorError,
243+
prior.byteOffsets.upperBound == adjustedRange.lowerBound,
244+
error.kind == .unexpectedContinuationByte
245+
{
246+
kind = prior.kind
247+
} else {
248+
kind = error.kind
257249
}
250+
let adjustedErr = UTF8.ValidationError(kind, adjustedRange)
251+
priorError = adjustedErr
252+
253+
let errEnd = error.byteOffsets.upperBound
254+
start += errEnd
255+
unsafe bufPtr = .init(rebasing: bufPtr[errEnd...])
256+
errors.append(adjustedErr)
258257
}
259258
}
260259
}
261-
}
260+
}
261+
}

stdlib/public/core/UTF8Span.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,8 @@ extension UTF8Span {
184184
}
185185

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

203-
@available(SwiftStdlib 6.2, *)
204203
extension Substring {
204+
@available(SwiftStdlib 6.2, *)
205205
public var utf8Span: UTF8Span {
206206
@lifetime(borrow self)
207207
borrowing get {

0 commit comments

Comments
 (0)