Skip to content

Commit 4abf49a

Browse files
committed
Revert "[temporary] disable small-string support"
This reverts commit ea44ff9.
1 parent a7d8a8a commit 4abf49a

File tree

3 files changed

+3
-7
lines changed

3 files changed

+3
-7
lines changed

stdlib/public/core/StringUTF8View.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ extension String {
8989
/// print(String(s1.utf8.prefix(15))!)
9090
/// // Prints "They call me 'B"
9191
@frozen
92+
@_addressableForDependencies
9293
public struct UTF8View: Sendable {
9394
@usableFromInline
9495
internal var _guts: _StringGuts
@@ -348,7 +349,6 @@ extension String.UTF8View {
348349
let a = Builtin.addressOfBorrow(self)
349350
let address = unsafe UnsafePointer<UTF8.CodeUnit>(a)
350351
let span = unsafe Span(_unsafeStart: address, count: count)
351-
fatalError("Span over the small string form is not supported yet.")
352352
return unsafe _overrideLifetime(span, borrowing: self)
353353
}
354354
_precondition(_guts.isFastUTF8)

stdlib/public/core/Substring.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -630,6 +630,7 @@ extension Substring: LosslessStringConvertible {
630630

631631
extension Substring {
632632
@frozen
633+
@_addressableForDependencies
633634
public struct UTF8View: Sendable {
634635
@usableFromInline
635636
internal var _slice: Slice<String.UTF8View>
@@ -793,7 +794,6 @@ extension Substring.UTF8View {
793794
let offset = first &+ (2 &* MemoryLayout<String.Index>.stride)
794795
let start = unsafe UnsafePointer<UTF8.CodeUnit>(a).advanced(by: offset)
795796
let span = unsafe Span(_unsafeStart: start, count: end &- first)
796-
fatalError("Span over the small string form is not supported yet.")
797797
return unsafe _overrideLifetime(span, borrowing: self)
798798
}
799799
_internalInvariant(_wholeGuts.isFastUTF8)

test/stdlib/Span/StringUTF8SpanProperty.swift

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
// RUN: %target-run-stdlib-swift(-enable-experimental-feature LifetimeDependence -enable-experimental-feature AddressableTypes)
13+
// RUN: %target-run-stdlib-swift(-enable-experimental-feature LifetimeDependence -enable-experimental-feature Span -enable-experimental-feature AddressableTypes)
1414

1515
// REQUIRES: executable_test
1616
// REQUIRES: swift_feature_LifetimeDependence
@@ -22,13 +22,11 @@ var suite = TestSuite("StringUTF8StorageProperty")
2222
defer { runAllTests() }
2323

2424
suite.test("Span from Small String")
25-
.skip(.wasiAny(reason: "Trap tests aren't supported on WASI."))
2625
.require(.stdlib_6_2).code {
2726
guard #available(SwiftStdlib 6.2, *) else { return }
2827

2928
let s = "A small string.".utf8
3029
let u = Array(s)
31-
expectCrashLater()
3230
let span = s.span
3331

3432
let count = span.count
@@ -56,13 +54,11 @@ suite.test("Span from Large Native String")
5654
}
5755

5856
suite.test("Span from Small String's Substring")
59-
.skip(.wasiAny(reason: "Trap tests aren't supported on WASI."))
6057
.require(.stdlib_6_2).code {
6158
guard #available(SwiftStdlib 6.2, *) else { return }
6259

6360
let s = "A small string.".dropFirst(8).utf8
6461
let u = Array("string.".utf8)
65-
expectCrashLater()
6662
let span = s.span
6763

6864
let count = span.count

0 commit comments

Comments
 (0)