Skip to content

Commit 7b03593

Browse files
committed
[temporary] disable spans over inline elements
1 parent 31daf5c commit 7b03593

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

stdlib/public/core/CollectionOfOne.swift

+1
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,7 @@ extension CollectionOfOne {
168168
get {
169169
let pointer = unsafe UnsafePointer<Element>(Builtin.addressOfBorrow(self))
170170
let span = unsafe Span(_unsafeStart: pointer, count: 1)
171+
fatalError("Span over CollectionOfOne is not supported yet.")
171172
return unsafe _overrideLifetime(span, borrowing: self)
172173
}
173174
}

stdlib/public/core/InlineArray.swift

+1
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,7 @@ extension InlineArray where Element: ~Copyable {
456456
borrowing get {
457457
let pointer = _address
458458
let span = unsafe Span(_unsafeStart: pointer, count: count)
459+
fatalError("Span over InlineArray is not supported yet.")
459460
return unsafe _overrideLifetime(span, borrowing: self)
460461
}
461462
}

test/stdlib/Span/InlineSpanProperties.swift

+10
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ var suite = TestSuite("Span properties backed by inline storage")
2323
defer { runAllTests() }
2424

2525
suite.test("CollectionOfOne.span property")
26+
.skip(.wasiAny(reason: "Trap tests aren't supported on WASI."))
2627
.skip(.custom(
2728
{ if #available(SwiftStdlib 6.2, *) { false } else { true } },
2829
reason: "Requires Swift 6.2's standard library"
@@ -34,13 +35,15 @@ suite.test("CollectionOfOne.span property")
3435
let u = Array(s.utf8)
3536
let c = CollectionOfOne(consume s)
3637
s = ""
38+
expectCrashLater()
3739
let span = c.span
3840
expectEqual(span.count, 1)
3941
let v = Array(span[0].utf8)
4042
expectEqual(u, v)
4143
}
4244

4345
suite.test("CollectionOfOne.span property (simple)")
46+
.skip(.wasiAny(reason: "Trap tests aren't supported on WASI."))
4447
.skip(.custom(
4548
{ if #available(SwiftStdlib 6.2, *) { false } else { true } },
4649
reason: "Requires Swift 6.2's standard library"
@@ -49,6 +52,7 @@ suite.test("CollectionOfOne.span property (simple)")
4952
guard #available(SwiftStdlib 6.2, *) else { return }
5053

5154
let c = CollectionOfOne(Int.random(in: 0..<100000))
55+
expectCrashLater()
5256
let span = c.span
5357
expectEqual(span.count, c.indices.count)
5458
expectEqual(span[0], c[0])
@@ -59,6 +63,7 @@ struct Padded: BitwiseCopyable {
5963
}
6064

6165
suite.test("CollectionOfOne.span stride test")
66+
.skip(.wasiAny(reason: "Trap tests aren't supported on WASI."))
6267
.skip(.custom(
6368
{ if #available(SwiftStdlib 6.2, *) { false } else { true } },
6469
reason: "Requires Swift 6.2's standard library"
@@ -67,12 +72,14 @@ suite.test("CollectionOfOne.span stride test")
6772
guard #available(SwiftStdlib 6.2, *) else { return }
6873

6974
let c = CollectionOfOne(Padded(storage: (-1, 1)))
75+
expectCrashLater()
7076
let span = c.span
7177
let bytes = span.bytes
7278
expectEqual(bytes.byteCount, MemoryLayout.size(ofValue: c))
7379
}
7480

7581
suite.test("InlineArray.span property")
82+
.skip(.wasiAny(reason: "Trap tests aren't supported on WASI."))
7683
.skip(.custom(
7784
{ if #available(SwiftStdlib 6.2, *) { false } else { true } },
7885
reason: "Requires Swift 6.2's standard library"
@@ -82,6 +89,7 @@ suite.test("InlineArray.span property")
8289

8390
var s = InlineArray<5, Int>(repeating: 0)
8491
s[3] = .random(in: 0..<1000)
92+
expectCrashLater()
8593
let span = s.span
8694
expectEqual(span.count, s.count)
8795
for i in s.indices {
@@ -90,6 +98,7 @@ suite.test("InlineArray.span property")
9098
}
9199

92100
suite.test("InlineArray.span property (String)")
101+
.skip(.wasiAny(reason: "Trap tests aren't supported on WASI."))
93102
.skip(.custom(
94103
{ if #available(SwiftStdlib 6.2, *) { false } else { true } },
95104
reason: "Requires Swift 6.2's standard library"
@@ -99,6 +108,7 @@ suite.test("InlineArray.span property (String)")
99108

100109
var s = InlineArray<5, String>(repeating: "0")
101110
s[3] = String(Int.random(in: 0..<1000))
111+
expectCrashLater()
102112
let span = s.span
103113
expectEqual(span.count, s.count)
104114
for i in s.indices {

0 commit comments

Comments
 (0)