From 2eca462cbd35879094bc1c1aae10845c02cd7e6d Mon Sep 17 00:00:00 2001 From: Allan Shortlidge Date: Sun, 26 Oct 2025 12:09:28 -0700 Subject: [PATCH 1/4] ASTGen: Remove an unnecessary try. --- lib/ASTGen/Sources/ASTGen/CompilerBuildConfiguration.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ASTGen/Sources/ASTGen/CompilerBuildConfiguration.swift b/lib/ASTGen/Sources/ASTGen/CompilerBuildConfiguration.swift index 62340fbfebbba..0e68bdd27f38b 100644 --- a/lib/ASTGen/Sources/ASTGen/CompilerBuildConfiguration.swift +++ b/lib/ASTGen/Sources/ASTGen/CompilerBuildConfiguration.swift @@ -121,7 +121,7 @@ struct CompilerBuildConfiguration: BuildConfiguration { } func isActiveTargetObjectFormat(name: String) throws -> Bool { - try staticBuildConfiguration.isActiveTargetObjectFormat(name: name) + staticBuildConfiguration.isActiveTargetObjectFormat(name: name) } var targetAtomicBitWidths: [Int] { From bf9598ae7784aa252705a1797b57aaa61bcf4515 Mon Sep 17 00:00:00 2001 From: Allan Shortlidge Date: Sun, 26 Oct 2025 12:10:53 -0700 Subject: [PATCH 2/4] ASTGen: Fix an implicit pointer conversion warning. --- ...StaticBuildConfiguration+LangOptions.swift | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/lib/ASTGen/Sources/BasicSwift/StaticBuildConfiguration+LangOptions.swift b/lib/ASTGen/Sources/BasicSwift/StaticBuildConfiguration+LangOptions.swift index 7bdd51e6ae3f3..2b4f97a43ceef 100644 --- a/lib/ASTGen/Sources/BasicSwift/StaticBuildConfiguration+LangOptions.swift +++ b/lib/ASTGen/Sources/BasicSwift/StaticBuildConfiguration+LangOptions.swift @@ -35,27 +35,29 @@ extension StaticBuildConfiguration { init(langOptions: BridgedLangOptions) { var entries = ConfigurationEntries() - langOptions.enumerateBuildConfigurationEntries(callbackContext: &entries) { cContext, entries, key, value in - let entries = entries.assumingMemoryBound(to: ConfigurationEntries.self) - switch key { - case .BCKAttribute: - entries.pointee.attributes.insert(String(bridged: value)) - case .BCKCustomCondition: - entries.pointee.customConditions.insert(String(bridged: value)) - case .BCKFeature: - entries.pointee.features.insert(String(bridged: value)) - case .BCKTargetOSName: - entries.pointee.targetOSNames.insert(String(bridged: value)) - case .BCKTargetArchitecture: - entries.pointee.targetArchitectures.insert(String(bridged: value)) - case .BCKTargetEnvironment: - entries.pointee.targetEnvironments.insert(String(bridged: value)) - case .BCKTargetRuntime: - entries.pointee.targetRuntimes.insert(String(bridged: value)) - case .BCKTargetPointerAuthenticationScheme: - entries.pointee.targetPointerAuthenticationSchemes.insert(String(bridged: value)) - case .BCKTargetObjectFileFormat: - entries.pointee.targetObjectFileFormats.insert(String(bridged: value)) + withUnsafeMutablePointer(to: &entries) { + langOptions.enumerateBuildConfigurationEntries(callbackContext: $0) { cContext, entries, key, value in + let entries = entries.assumingMemoryBound(to: ConfigurationEntries.self) + switch key { + case .BCKAttribute: + entries.pointee.attributes.insert(String(bridged: value)) + case .BCKCustomCondition: + entries.pointee.customConditions.insert(String(bridged: value)) + case .BCKFeature: + entries.pointee.features.insert(String(bridged: value)) + case .BCKTargetOSName: + entries.pointee.targetOSNames.insert(String(bridged: value)) + case .BCKTargetArchitecture: + entries.pointee.targetArchitectures.insert(String(bridged: value)) + case .BCKTargetEnvironment: + entries.pointee.targetEnvironments.insert(String(bridged: value)) + case .BCKTargetRuntime: + entries.pointee.targetRuntimes.insert(String(bridged: value)) + case .BCKTargetPointerAuthenticationScheme: + entries.pointee.targetPointerAuthenticationSchemes.insert(String(bridged: value)) + case .BCKTargetObjectFileFormat: + entries.pointee.targetObjectFileFormats.insert(String(bridged: value)) + } } } From 80a292be00aa9686d502f3f52ed0897a08598fb3 Mon Sep 17 00:00:00 2001 From: Allan Shortlidge Date: Sun, 26 Oct 2025 12:11:19 -0700 Subject: [PATCH 3/4] ASTGen: Work around a retroactive conformance bug in Swift 6.2. The Swift 6.2 compiler emits spurious warnings about retroactive conformances to protocols that are inherited through a protocol that is written module qualified in the inheritance clause. Suppress the warnings by making the inherited conformances explicit and module qualified. --- lib/ASTGen/Sources/ASTGen/Bridge.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/ASTGen/Sources/ASTGen/Bridge.swift b/lib/ASTGen/Sources/ASTGen/Bridge.swift index 5b763f6cbcdff..4e126e337e517 100644 --- a/lib/ASTGen/Sources/ASTGen/Bridge.swift +++ b/lib/ASTGen/Sources/ASTGen/Bridge.swift @@ -157,7 +157,11 @@ public func freeBridgedString(bridged: BridgedStringRef) { bridged.data?.deallocate() } -extension BridgedStringRef: /*@retroactive*/ Swift.ExpressibleByStringLiteral { +extension BridgedStringRef: + /*@retroactive*/ Swift.ExpressibleByStringLiteral, + Swift.ExpressibleByExtendedGraphemeClusterLiteral, + Swift.ExpressibleByUnicodeScalarLiteral +{ public init(stringLiteral str: StaticString) { self.init(data: str.utf8Start, count: str.utf8CodeUnitCount) } From 8cf758208354974e6e73451d56c5187e88011f8a Mon Sep 17 00:00:00 2001 From: Allan Shortlidge Date: Sun, 26 Oct 2025 12:08:59 -0700 Subject: [PATCH 4/4] Swiftify: Fix an unused variable warning. --- lib/Macros/Sources/SwiftMacros/SwiftifyImportMacro.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Macros/Sources/SwiftMacros/SwiftifyImportMacro.swift b/lib/Macros/Sources/SwiftMacros/SwiftifyImportMacro.swift index ea5af950daf3a..7d4e06e47fea1 100644 --- a/lib/Macros/Sources/SwiftMacros/SwiftifyImportMacro.swift +++ b/lib/Macros/Sources/SwiftMacros/SwiftifyImportMacro.swift @@ -1758,7 +1758,7 @@ func parseProtocolMacroParam( if let methodSyntax = DeclSyntax("\(raw: methodSignature)").as(FunctionDeclSyntax.self) { name = methodSyntax.name.trimmed.text } - for (tmp, method) in methods where method.name.trimmed.text == name { + for (_, method) in methods where method.name.trimmed.text == name { notes.append(Note(node: Syntax(method.name), message: MacroExpansionNoteMessage("did you mean '\(method.trimmed.description)'?"))) } throw DiagnosticError(