From a0a641bad3d0091ce74c4245ac56f188b7aa9d13 Mon Sep 17 00:00:00 2001 From: Allan Shortlidge Date: Tue, 29 Sep 2026 13:57:23 -0700 Subject: [PATCH] Mark RegexComponent conformances of stdlib types @retroactive Silences warnings about retroactive conformances of `String`, `Substring`, `Character`, and `Unicode.Scalar` to `RegexComponent` in `RegexBuilder`. These conformances are intentionally located in a separate module from the `RegexComponent` protocol, so explicitly annotating them as retroactive is appropriate. --- Sources/RegexBuilder/DSL.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Sources/RegexBuilder/DSL.swift b/Sources/RegexBuilder/DSL.swift index 7e19caae2..42266466f 100644 --- a/Sources/RegexBuilder/DSL.swift +++ b/Sources/RegexBuilder/DSL.swift @@ -32,21 +32,21 @@ internal protocol _BuiltinRegexComponent: RegexComponent { // MARK: - Primitive regex components @available(SwiftStdlib 5.7, *) -extension String: RegexComponent { +extension String: @retroactive RegexComponent { public typealias Output = Substring public var regex: Regex { .init(verbatim: self) } } @available(SwiftStdlib 5.7, *) -extension Substring: RegexComponent { +extension Substring: @retroactive RegexComponent { public typealias Output = Substring public var regex: Regex { String(self).regex } } @available(SwiftStdlib 5.7, *) -extension Character: RegexComponent { +extension Character: @retroactive RegexComponent { public typealias Output = Substring public var regex: Regex { @@ -55,7 +55,7 @@ extension Character: RegexComponent { } @available(SwiftStdlib 5.7, *) -extension UnicodeScalar: RegexComponent { +extension UnicodeScalar: @retroactive RegexComponent { public typealias Output = Substring public var regex: Regex {