diff --git a/stdlib/public/StringProcessing/CMakeLists.txt b/stdlib/public/StringProcessing/CMakeLists.txt index 7fefef92722d0..2a5a5a5eeaf5f 100644 --- a/stdlib/public/StringProcessing/CMakeLists.txt +++ b/stdlib/public/StringProcessing/CMakeLists.txt @@ -41,6 +41,7 @@ add_swift_target_library(swift_StringProcessing ${SWIFT_STDLIB_LIBRARY_BUILD_TYP -Dswift_StringProcessing_EXPORTS SWIFT_COMPILE_FLAGS ${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS} + -Xfrontend -enable-experimental-pairwise-build-block LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}" SWIFT_MODULE_DEPENDS _MatchingEngine diff --git a/test/StringProcessing/Runtime/regex_basic.swift b/test/StringProcessing/Runtime/regex_basic.swift index fb0ee31d32775..697f4b7d886b5 100644 --- a/test/StringProcessing/Runtime/regex_basic.swift +++ b/test/StringProcessing/Runtime/regex_basic.swift @@ -11,7 +11,7 @@ extension String { _ regex: Regex, file: String = #file, line: UInt = #line - ) -> RegexMatch { + ) -> Regex.Match { guard let result = match(regex) else { expectUnreachable("Failed match", file: file, line: line) fatalError() @@ -24,20 +24,20 @@ RegexBasicTests.test("Basic") { let input = "aabccd" let match1 = input.expectMatch(#/aabcc./#) - expectEqual("aabccd", input[match1.range]) - expectTrue("aabccd" == match1.match) + expectEqual("aabccd", match1.0) + expectTrue("aabccd" == match1.output) let match2 = input.expectMatch(#/a*b.+./#) - expectEqual("aabccd", input[match2.range]) - expectTrue("aabccd" == match2.match) + expectEqual("aabccd", match2.0) + expectTrue("aabccd" == match2.output) } RegexBasicTests.test("Modern") { let input = "aabccd" let match1 = input.expectMatch(#|a a bc c /*hello*/ .|#) - expectEqual("aabccd", input[match1.range]) - expectTrue("aabccd" == match1.match) + expectEqual("aabccd", match1.0) + expectTrue("aabccd" == match1.output) } RegexBasicTests.test("Captures") { @@ -50,7 +50,7 @@ RegexBasicTests.test("Captures") { let _: Regex<(Substring, Substring, Substring?, Substring)>.Type = type(of: regex) let match1 = input.expectMatch(regex) - expectEqual(input[...], input[match1.range]) + expectEqual(input[...], match1.0) expectTrue(input == match1.0) expectTrue("A6F0" == match1.1) expectTrue("A6F1" == match1.2) diff --git a/test/StringProcessing/Sema/regex_literal_type_inference.swift b/test/StringProcessing/Sema/regex_literal_type_inference.swift index bd645850886a8..ceda3794d3a94 100644 --- a/test/StringProcessing/Sema/regex_literal_type_inference.swift +++ b/test/StringProcessing/Sema/regex_literal_type_inference.swift @@ -4,7 +4,7 @@ let r0 = #/./# let _: Regex = r0 -func takesRegex(_: Regex) {} +func takesRegex(_: Regex) {} takesRegex(#//#) // okay let r1 = #/.(.)/# @@ -14,7 +14,7 @@ let _: Regex<(Substring, Substring)>.Type = type(of: r1) struct S {} // expected-error @+2 {{cannot assign value of type 'Regex<(Substring, Substring)>' to type 'Regex'}} -// expected-note @+1 {{arguments to generic parameter 'Match' ('(Substring, Substring)' and 'S') are expected to be equal}} +// expected-note @+1 {{arguments to generic parameter 'Output' ('(Substring, Substring)' and 'S') are expected to be equal}} let r2: Regex = #/.(.)/# let r3 = #/(.)(.)/#