[temporary] disable small-string support

This commit is contained in:
Guillaume Lessard
2025-03-20 08:29:21 -07:00
parent 9842a79dc6
commit ea44ff9fc9
3 changed files with 7 additions and 3 deletions

View File

@@ -89,7 +89,6 @@ extension String {
/// print(String(s1.utf8.prefix(15))!)
/// // Prints "They call me 'B"
@frozen
@_addressableForDependencies
public struct UTF8View: Sendable {
@usableFromInline
internal var _guts: _StringGuts
@@ -344,6 +343,7 @@ extension String.UTF8View {
let a = Builtin.addressOfBorrow(self)
let address = unsafe UnsafePointer<UTF8.CodeUnit>(a)
let span = unsafe Span(_unsafeStart: address, count: count)
fatalError("Span over the small string form is not supported yet.")
return unsafe _overrideLifetime(span, borrowing: self)
}
_precondition(_guts.isFastUTF8)

View File

@@ -630,7 +630,6 @@ extension Substring: LosslessStringConvertible {
extension Substring {
@frozen
@_addressableForDependencies
public struct UTF8View: Sendable {
@usableFromInline
internal var _slice: Slice<String.UTF8View>
@@ -775,6 +774,7 @@ extension Substring.UTF8View {
let offset = first &+ (2 &* MemoryLayout<String.Index>.stride)
let start = unsafe UnsafePointer<UTF8.CodeUnit>(a).advanced(by: offset)
let span = unsafe Span(_unsafeStart: start, count: end &- first)
fatalError("Span over the small string form is not supported yet.")
return unsafe _overrideLifetime(span, borrowing: self)
}
_internalInvariant(_wholeGuts.isFastUTF8)

View File

@@ -10,7 +10,7 @@
//
//===----------------------------------------------------------------------===//
// RUN: %target-run-stdlib-swift(-enable-experimental-feature LifetimeDependence -enable-experimental-feature Span -enable-experimental-feature AddressableTypes)
// RUN: %target-run-stdlib-swift(-enable-experimental-feature LifetimeDependence -enable-experimental-feature AddressableTypes)
// REQUIRES: executable_test
// REQUIRES: swift_feature_LifetimeDependence
@@ -22,11 +22,13 @@ var suite = TestSuite("StringUTF8StorageProperty")
defer { runAllTests() }
suite.test("Span from Small String")
.skip(.wasiAny(reason: "Trap tests aren't supported on WASI."))
.require(.stdlib_6_2).code {
guard #available(SwiftStdlib 6.2, *) else { return }
let s = "A small string.".utf8
let u = Array(s)
expectCrashLater()
let span = s.span
let count = span.count
@@ -54,11 +56,13 @@ suite.test("Span from Large Native String")
}
suite.test("Span from Small String's Substring")
.skip(.wasiAny(reason: "Trap tests aren't supported on WASI."))
.require(.stdlib_6_2).code {
guard #available(SwiftStdlib 6.2, *) else { return }
let s = "A small string.".dropFirst(8).utf8
let u = Array("string.".utf8)
expectCrashLater()
let span = s.span
let count = span.count