mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Regex literal runtime plumbing.
- Frontend: Implicitly import `_StringProcessing` when frontend flag `-enable-experimental-string-processing` is set. - Type checker: Set a regex literal expression's type as `_StringProcessing.Regex<(Substring, DynamicCaptures)>`. `(Substring, DynamicCaptures)` is a temporary `Match` type that will help get us to an end-to-end working system. This will be replaced by actual type inference based a regex's pattern in a follow-up patch (soon). - SILGen: Lower a regex literal expression to a call to `_StringProcessing.Regex.init(_regexString:)`. - String processing runtime: Add `Regex`, `DynamicCaptures` (matching actual APIs in apple/swift-experimental-string-processing), and `Regex(_regexString:)`. Upcoming: - Build `_MatchingEngine` and `_StringProcessing` modules with sources from apple/swift-experimental-string-processing. - Replace `DynamicCaptures` with inferred capture types.
This commit is contained in:
7
test/StringProcessing/Parse/regex_parse_error.swift
Normal file
7
test/StringProcessing/Parse/regex_parse_error.swift
Normal file
@@ -0,0 +1,7 @@
|
||||
// RUN: %target-typecheck-verify-swift -enable-experimental-string-processing
|
||||
// REQUIRES: libswift
|
||||
|
||||
let s = '\\'' // expected-error {{unterminated regex literal}}
|
||||
|
||||
// expected-error@+1 {{unterminated regex literal}}
|
||||
var unterminated = 'xy
|
||||
Reference in New Issue
Block a user