Skip to content

Commit 2c5f019

Browse files
authored
Merge pull request #41927 from rxwei/string-processing-integration-50ec05d
2 parents ac7efc1 + a467958 commit 2c5f019

File tree

3 files changed

+11
-10
lines changed

3 files changed

+11
-10
lines changed

stdlib/public/StringProcessing/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ add_swift_target_library(swift_StringProcessing ${SWIFT_STDLIB_LIBRARY_BUILD_TYP
4141
-Dswift_StringProcessing_EXPORTS
4242
SWIFT_COMPILE_FLAGS
4343
${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
44+
-Xfrontend -enable-experimental-pairwise-build-block
4445
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
4546

4647
SWIFT_MODULE_DEPENDS _MatchingEngine

test/StringProcessing/Runtime/regex_basic.swift

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ extension String {
1111
_ regex: Regex<T>,
1212
file: String = #file,
1313
line: UInt = #line
14-
) -> RegexMatch<T> {
14+
) -> Regex<T>.Match {
1515
guard let result = match(regex) else {
1616
expectUnreachable("Failed match", file: file, line: line)
1717
fatalError()
@@ -24,20 +24,20 @@ RegexBasicTests.test("Basic") {
2424
let input = "aabccd"
2525

2626
let match1 = input.expectMatch(#/aabcc./#)
27-
expectEqual("aabccd", input[match1.range])
28-
expectTrue("aabccd" == match1.match)
27+
expectEqual("aabccd", match1.0)
28+
expectTrue("aabccd" == match1.output)
2929

3030
let match2 = input.expectMatch(#/a*b.+./#)
31-
expectEqual("aabccd", input[match2.range])
32-
expectTrue("aabccd" == match2.match)
31+
expectEqual("aabccd", match2.0)
32+
expectTrue("aabccd" == match2.output)
3333
}
3434

3535
RegexBasicTests.test("Modern") {
3636
let input = "aabccd"
3737

3838
let match1 = input.expectMatch(#|a a bc c /*hello*/ .|#)
39-
expectEqual("aabccd", input[match1.range])
40-
expectTrue("aabccd" == match1.match)
39+
expectEqual("aabccd", match1.0)
40+
expectTrue("aabccd" == match1.output)
4141
}
4242

4343
RegexBasicTests.test("Captures") {
@@ -50,7 +50,7 @@ RegexBasicTests.test("Captures") {
5050
let _: Regex<(Substring, Substring, Substring?, Substring)>.Type
5151
= type(of: regex)
5252
let match1 = input.expectMatch(regex)
53-
expectEqual(input[...], input[match1.range])
53+
expectEqual(input[...], match1.0)
5454
expectTrue(input == match1.0)
5555
expectTrue("A6F0" == match1.1)
5656
expectTrue("A6F1" == match1.2)

test/StringProcessing/Sema/regex_literal_type_inference.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
let r0 = #/./#
55
let _: Regex<Substring> = r0
66

7-
func takesRegex<Match>(_: Regex<Match>) {}
7+
func takesRegex<Output>(_: Regex<Output>) {}
88
takesRegex(#//#) // okay
99

1010
let r1 = #/.(.)/#
@@ -14,7 +14,7 @@ let _: Regex<(Substring, Substring)>.Type = type(of: r1)
1414

1515
struct S {}
1616
// expected-error @+2 {{cannot assign value of type 'Regex<(Substring, Substring)>' to type 'Regex<S>'}}
17-
// expected-note @+1 {{arguments to generic parameter 'Match' ('(Substring, Substring)' and 'S') are expected to be equal}}
17+
// expected-note @+1 {{arguments to generic parameter 'Output' ('(Substring, Substring)' and 'S') are expected to be equal}}
1818
let r2: Regex<S> = #/.(.)/#
1919

2020
let r3 = #/(.)(.)/#

0 commit comments

Comments
 (0)