diff --git a/Sources/_StringProcessing/Regex/AnyRegexOutput.swift b/Sources/_StringProcessing/Regex/AnyRegexOutput.swift index 0a76f2d86..5b8b1b0ec 100644 --- a/Sources/_StringProcessing/Regex/AnyRegexOutput.swift +++ b/Sources/_StringProcessing/Regex/AnyRegexOutput.swift @@ -178,10 +178,12 @@ extension Regex where Output == AnyRegexOutput { /// ``init(_:as:)`` initializer instead. /// /// - Parameter pattern: A string with regular expression syntax. + @_effects(readnone) public init(_ pattern: String) throws { self.init(ast: try parse(pattern, .traditional)) } + @_effects(readnone) internal init(_ pattern: String, syntax: SyntaxOptions) throws { self.init(ast: try parse(pattern, syntax)) } @@ -212,6 +214,7 @@ extension Regex { /// - Parameters: /// - pattern: A string with regular expression syntax. /// - outputType: The desired type for the output captures. + @_effects(readnone) public init( _ pattern: String, as outputType: Output.Type = Output.self diff --git a/Sources/_StringProcessing/Regex/Core.swift b/Sources/_StringProcessing/Regex/Core.swift index 11445531c..2904cbdf7 100644 --- a/Sources/_StringProcessing/Regex/Core.swift +++ b/Sources/_StringProcessing/Regex/Core.swift @@ -103,6 +103,7 @@ public struct Regex: RegexComponent { } // Compiler interface. Do not change independently. + @_effects(readnone) @usableFromInline init(_regexString pattern: String) { self.init(ast: try! parse(pattern, .traditional))