Skip to content

Commit adf7cf9

Browse files
authored
Merge pull request #74772 from susmonteiro/susmonteiro/cxx-span-hardening
[cxx-interop] Enable hardening when running tests for std::span
2 parents fb43cf6 + 9aa132b commit adf7cf9

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

test/Interop/Cxx/stdlib/use-std-span.swift

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop -Xcc -std=c++20)
2+
// RUN: %target-run-simple-swift(-I %S/Inputs -Xfrontend -enable-experimental-cxx-interop -Xcc -std=c++20 -Xcc -D_LIBCPP_ENABLE_HARDENED_MODE)
23

34
// FIXME swift-ci linux tests do not support std::span
45
// UNSUPPORTED: OS=linux-gnu
@@ -13,6 +14,24 @@ import CxxStdlib
1314

1415
var StdSpanTestSuite = TestSuite("StdSpan")
1516

17+
func takesSpanOfInt(_ s: Span) {
18+
expectEqual(s.size(), 3)
19+
expectFalse(s.empty())
20+
21+
expectEqual(s[0], 1)
22+
expectEqual(s[1], 2)
23+
expectEqual(s[2], 3)
24+
}
25+
26+
func takesSpanOfString(_ s: SpanOfString) {
27+
expectEqual(s.size(), 3)
28+
expectFalse(s.empty())
29+
30+
expectEqual(s[0], "")
31+
expectEqual(s[1], "ab")
32+
expectEqual(s[2], "abc")
33+
}
34+
1635
StdSpanTestSuite.test("EmptySpan") {
1736
let s = Span()
1837
expectEqual(s.size(), 0)
@@ -43,4 +62,12 @@ StdSpanTestSuite.test("InitStringSpan") {
4362
expectEqual(sspan[2], "abc")
4463
}
4564

65+
StdSpanTestSuite.test("SpanOfIntAsParam") {
66+
takesSpanOfInt(ispan)
67+
}
68+
69+
StdSpanTestSuite.test("SpanOfStringAsParam") {
70+
takesSpanOfString(sspan)
71+
}
72+
4673
runAllTests()

0 commit comments

Comments
 (0)