Skip to content

Commit 0828ec9

Browse files
committed
[test] Span family Sendability
1 parent 7c8c548 commit 0828ec9

File tree

5 files changed

+46
-2
lines changed

5 files changed

+46
-2
lines changed

test/stdlib/Span/MutableRawSpanTests.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -554,3 +554,14 @@ suite.test("MutableRawSpan from UnsafeMutableRawBufferPointer")
554554
let v = b.load(fromByteOffset: 8, as: Int64.self)
555555
expectNotEqual(v, 1)
556556
}
557+
558+
private func send(_: borrowing some Sendable & ~Copyable & ~Escapable) {}
559+
560+
suite.test("MutableRawSpan Sendability")
561+
.require(.stdlib_6_2).code {
562+
let buffer = UnsafeMutableRawBufferPointer.allocate(byteCount: 1, alignment: 2)
563+
defer { buffer.deallocate() }
564+
565+
let span = MutableRawSpan(_unsafeBytes: buffer)
566+
send(span)
567+
}

test/stdlib/Span/OutputRawSpanTests.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,3 +153,14 @@ suite.test("deinitialize buffer")
153153
expectTrue(false)
154154
}
155155
}
156+
157+
private func send(_: borrowing some Sendable & ~Copyable & ~Escapable) {}
158+
159+
suite.test("OutputRawSpan Sendability")
160+
.require(.stdlib_6_2).code {
161+
let buffer = UnsafeMutableRawBufferPointer.allocate(byteCount: 1, alignment: 2)
162+
defer { buffer.deallocate() }
163+
164+
let span = OutputRawSpan(buffer: buffer, initializedCount: 0)
165+
send(span)
166+
}

test/stdlib/Span/OutputSpanTests.swift

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,3 +262,16 @@ suite.test("InlineArray initialization throws")
262262
expectEqual(I.count, 0)
263263
}
264264
}
265+
266+
private func send(_: borrowing some Sendable & ~Copyable & ~Escapable) {}
267+
268+
private struct NCSendable: ~Copyable, Sendable {}
269+
270+
suite.test("OutputSpan Sendability")
271+
.require(.stdlib_6_2).code {
272+
let buffer = UnsafeMutableBufferPointer<NCSendable>.allocate(capacity: 1)
273+
defer { buffer.deallocate() }
274+
275+
let span = OutputSpan(buffer: buffer, initializedCount: 0)
276+
send(span)
277+
}

test/stdlib/Span/RawSpanTests.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,3 +331,14 @@ suite.test("byteOffsets(of:)")
331331
bounds = nilSpan.byteOffsets(of: nilSpan)
332332
expectEqual(bounds, 0..<0)
333333
}
334+
335+
private func send(_: borrowing some Sendable & ~Copyable & ~Escapable) {}
336+
337+
suite.test("RawSpan Sendability")
338+
.require(.stdlib_6_2).code {
339+
let buffer = UnsafeMutableRawBufferPointer.allocate(byteCount: 1, alignment: 2)
340+
defer { buffer.deallocate() }
341+
342+
let span = RawSpan(_unsafeBytes: buffer)
343+
send(span)
344+
}

test/stdlib/Span/SpanTests.swift

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -599,8 +599,6 @@ private struct NCSendable: ~Copyable, Sendable {}
599599

600600
suite.test("Span Sendability")
601601
.require(.stdlib_6_2).code {
602-
guard #available(SwiftStdlib 6.2, *) else { return }
603-
604602
let buffer = UnsafeMutableBufferPointer<NCSendable>.allocate(capacity: 1)
605603
defer { buffer.deallocate() }
606604
buffer.initializeElement(at: 0, to: NCSendable())

0 commit comments

Comments
 (0)