The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Extendable, reference main (d3ba87), with Swift 6.4 for macOS (SPM) on 20 Sep 2026 13:02:31 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ChimeHQ/Extendable.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ChimeHQ/Extendable
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at d3ba87a Example project
Cloned https://github.com/ChimeHQ/Extendable.git
Revision (git rev-parse @):
d3ba87a907ee6948c700d472bbbcc15669fa6a3e
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/ChimeHQ/Extendable.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.4
Building package at path:  $PWD
https://github.com/ChimeHQ/Extendable.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Pre-planning 1 / 124]
[Planning deferred tasks]
[26 / 44]
[28 / 46] ExtendableHost
[38 / 128]
[42 / 128]
[50 / 128]
[52 / 128]
[53 / 128]
[58 / 128]
[60 / 128]
[62 / 128]
[66 / 128]
[71 / 128]
[74 / 128]
[76 / 128]
[77 / 128]
[88 / 128]
[90 / 128]
[91 / 128]
[94 / 128]
[96 / 128]
[109 / 128] Extendable
[110 / 128] Extendable
[122 / 128] AllExcludingTests
[122 / 128] Extendable
Build complete! (12.32 sec)
/Users/admin/builder/spi-builder-workspace/Sources/Extendable/ConnectableConfiguration.swift:24:4: warning: sending 'connection' risks causing data races; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race\SendingRisksDataRace]8;;\]
22 | 	nonisolated public func accept(connection: NSXPCConnection) -> Bool {
23 | 		MainActor.assumeIsolated {
24 | 			handler(connection)
   |    |- warning: sending 'connection' risks causing data races; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race\SendingRisksDataRace]8;;\]
   |    `- note: 'connection' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against code in the current isolation context
25 | 		}
26 | 	}
[#RegionIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/region-isolation>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
/Users/admin/builder/spi-builder-workspace/Sources/Extendable/ConnectableSceneExtension.swift:20:10: warning: conformance of 'Content' to protocol 'AppExtensionScene' may be isolated and cannot be passed to main actor-isolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
18 | public extension ConnectableSceneExtension {
19 | 	var configuration: AppExtensionSceneConfiguration {
20 | 		return AppExtensionSceneConfiguration(scene, configuration: globalConfiguration)
   |          `- warning: conformance of 'Content' to protocol 'AppExtensionScene' may be isolated and cannot be passed to main actor-isolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances\IsolatedConformances]8;;\]
21 | 	}
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/Extendable/ConnectableSceneExtension.swift:20:10: warning: call to main actor-isolated initializer 'init(_:configuration:)' in a synchronous nonisolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call\ActorIsolatedCall]8;;\]
18 | public extension ConnectableSceneExtension {
19 | 	var configuration: AppExtensionSceneConfiguration {
20 | 		return AppExtensionSceneConfiguration(scene, configuration: globalConfiguration)
   |          `- warning: call to main actor-isolated initializer 'init(_:configuration:)' in a synchronous nonisolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call\ActorIsolatedCall]8;;\]
21 | 	}
22 | }
ExtensionKit.AppExtensionSceneConfiguration.init:2:35: note: calls to initializer 'init(_:configuration:)' from outside of its actor context are implicitly asynchronous
1 | struct AppExtensionSceneConfiguration {
2 | @MainActor @preconcurrency public init<Content, Configuration>(_ content: @autoclosure @escaping @MainActor () -> Content, configuration: Configuration? = nil) where Content : AppExtensionScene, Configuration : AppExtensionConfiguration}
  |                                   `- note: calls to initializer 'init(_:configuration:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Extendable/ConnectableSceneExtension.swift:20:41: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race\SendingRisksDataRace]8;;\]
18 | public extension ConnectableSceneExtension {
19 | 	var configuration: AppExtensionSceneConfiguration {
20 | 		return AppExtensionSceneConfiguration(scene, configuration: globalConfiguration)
   |                                         |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race\SendingRisksDataRace]8;;\]
   |                                         `- note: 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against code in the current isolation context
21 | 	}
22 | }
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
[#IsolatedConformances]: <https://docs.swift.org/compiler/documentation/diagnostics/isolated-conformances>
[#RegionIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/region-isolation>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
/Users/admin/builder/spi-builder-workspace/Sources/Extendable/ConnectableExtension.swift:14:10: warning: main actor-isolated property 'accepter' can not be referenced from a nonisolated context
 5 | @available(macOS 13.0, iOS 16.0, watchOS 9.0, tvOS 16.0, *)
 6 | public struct ConnectingAppExtensionConfiguration: AppExtensionConfiguration {
 7 | 	let accepter: ConnectionAccepter
   |      `- note: property declared here
 8 |
 9 | 	public init(_ handler: @escaping ConnectionHandler) {
   :
12 |
13 | 	public func accept(connection: NSXPCConnection) -> Bool {
14 | 		return accepter.accept(connection: connection)
   |          `- warning: main actor-isolated property 'accepter' can not be referenced from a nonisolated context
15 | 	}
16 | }
/Users/admin/builder/spi-builder-workspace/Sources/Extendable/ConnectableExtension.swift:31:10: warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call\ActorIsolatedCall]8;;\]
 7 | 	let accepter: ConnectionAccepter
 8 |
 9 | 	public init(_ handler: @escaping ConnectionHandler) {
   |         |- note: calls to initializer 'init(_:)' from outside of its actor context are implicitly asynchronous
   |         `- note: main actor isolation inferred from conformance to protocol 'AppExtensionConfiguration'
10 | 		self.accepter = ConnectionAccepter(handler)
11 | 	}
   :
29 | 	/// will be used for the `configuration` property by default.
30 | 	var globalConfiguration: ConnectingAppExtensionConfiguration {
31 | 		return ConnectingAppExtensionConfiguration { connection in
   |          `- warning: call to main actor-isolated initializer 'init(_:)' in a synchronous nonisolated context [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call\ActorIsolatedCall]8;;\]
32 | 			try self.acceptConnection(connection)
33 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/Extendable/ConnectableExtension.swift:31:10: warning: sending value of non-Sendable type '(NSXPCConnection) throws -> Void' risks causing data races; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race\SendingRisksDataRace]8;;\]
29 | 	/// will be used for the `configuration` property by default.
30 | 	var globalConfiguration: ConnectingAppExtensionConfiguration {
31 | 		return ConnectingAppExtensionConfiguration { connection in
   |          |- warning: sending value of non-Sendable type '(NSXPCConnection) throws -> Void' risks causing data races; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race\SendingRisksDataRace]8;;\]
   |          `- note: sending value of non-Sendable type '(NSXPCConnection) throws -> Void' to main actor-isolated initializer 'init(_:)' risks causing races in between code in the current isolation context and main actor-isolated uses
32 | 			try self.acceptConnection(connection)
33 | 		}
[#ActorIsolatedCall]: <https://docs.swift.org/compiler/documentation/diagnostics/actor-isolated-call>
[#RegionIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/region-isolation>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
/Users/admin/builder/spi-builder-workspace/Sources/Extendable/ConnectingAppExtensionScene.swift:56:12: warning: capture of non-Sendable type 'Content.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
54 | 				connectingView
55 | 			} onConnection: { connection in
56 | 				return accepter.accept(connection: connection)
   |            `- warning: capture of non-Sendable type 'Content.Type' in an isolated closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes\SendableMetatypes]8;;\]
57 | 			}
58 | 		}
/Users/admin/builder/spi-builder-workspace/Sources/Extendable/ConnectingAppExtensionScene.swift:56:12: warning: main actor-isolated property 'accepter' can not be referenced from a Sendable closure
29 | public struct ConnectingAppExtensionScene<Content: View>: AppExtensionScene {
30 | 	public let sceneID: String
31 | 	let accepter: ConnectionAccepter
   |      `- note: property declared here
32 | 	private let model: ConnectingSceneModel<Content>
33 | 	private let connectingView: ConnectingView<Content>
   :
54 | 				connectingView
55 | 			} onConnection: { connection in
56 | 				return accepter.accept(connection: connection)
   |            `- warning: main actor-isolated property 'accepter' can not be referenced from a Sendable closure
57 | 			}
58 | 		}
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
/Users/admin/builder/spi-builder-workspace/Sources/ExtendableHost/AppExtensionMonitor.swift:76:3: warning: result of call to 'withObservationTracking(_:onChange:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
74 |
75 | 	private func subscribe() {
76 | 		withObservationTracking {
   |   `- warning: result of call to 'withObservationTracking(_:onChange:)' is unused [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/no-usage\NoUsage]8;;\]
77 | 			monitorIdentities
78 | 		} onChange: { [weak self] in
/Users/admin/builder/spi-builder-workspace/Sources/ExtendableHost/AppExtensionMonitor.swift:79:14: warning: capture of 'self' with non-Sendable type 'AppExtensionMonitor?' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
24 | @available(macOS 14, iOS 26, *)
25 | @Observable
26 | public final class AppExtensionMonitor {
   |                    `- note: class 'AppExtensionMonitor' does not conform to the 'Sendable' protocol
27 | 	public private(set) var identities: [AppExtensionIdentity] = []
28 |
   :
77 | 			monitorIdentities
78 | 		} onChange: { [weak self] in
79 | 			guard let self else { return }
   |              `- warning: capture of 'self' with non-Sendable type 'AppExtensionMonitor?' in a '@Sendable' closure; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
80 |
81 | 			publish()
/Users/admin/builder/spi-builder-workspace/Sources/ExtendableHost/AppExtensionMonitor.swift:39:16: warning: passing closure as a 'sending' parameter risks causing data races between code in the current isolation context and concurrent execution of the closure; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-closure-risks-data-race\SendingClosureRisksDataRace]8;;\]
37 | 			let point = try AppExtensionPoint(identifier: id)
38 |
39 | 			self.task = Task { [weak self] in
   |                `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current isolation context and concurrent execution of the closure; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-closure-risks-data-race\SendingClosureRisksDataRace]8;;\]
40 | 				self?.monitor = try! await AppExtensionPoint.Monitor(appExtensionPoint: point)
   |         `- note: closure captures 'self' which is accessible to code in the current isolation context
41 |
42 | 				self?.publish()
/Users/admin/builder/spi-builder-workspace/Sources/ExtendableHost/AppExtensionMonitor.swift:51:16: warning: passing closure as a 'sending' parameter risks causing data races between code in the current isolation context and concurrent execution of the closure; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-closure-risks-data-race\SendingClosureRisksDataRace]8;;\]
49 | 		let identitiesSequence = try AppExtensionIdentity.matching(appExtensionPointIDs: id.string)
50 |
51 | 			self.task = Task { [weak self] in
   |                `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current isolation context and concurrent execution of the closure; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-closure-risks-data-race\SendingClosureRisksDataRace]8;;\]
52 | 				for await value in identitiesSequence {
   |                        `- note: closure captures non-Sendable 'identitiesSequence'
53 | 					self?.identities = value
   |          `- note: closure captures non-Sendable 'self'
54 | 				}
55 | 			}
/Users/admin/builder/spi-builder-workspace/Sources/ExtendableHost/AppExtensionMonitor.swift:88:3: warning: passing closure as a 'sending' parameter risks causing data races between code in the current isolation context and concurrent execution of the closure; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-closure-risks-data-race\SendingClosureRisksDataRace]8;;\]
86 | 		self.identities = monitorIdentities
87 |
88 | 		Task {
   |   `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current isolation context and concurrent execution of the closure; this is an error in the Swift 6 language mode [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/region-isolation\RegionIsolation]8;;\::]8;;https://docs.swift.org/compiler/documentation/diagnostics/sending-closure-risks-data-race\SendingClosureRisksDataRace]8;;\]
89 | 			self.subscribe()
   |         `- note: closure captures 'self' which is accessible to code in the current isolation context
90 | 		}
91 | 	}
[#NoUsage]: <https://docs.swift.org/compiler/documentation/diagnostics/no-usage>
[#RegionIsolation]: <https://docs.swift.org/compiler/documentation/diagnostics/region-isolation>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendingClosureRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-closure-risks-data-race>
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Extendable",
  "name" : "Extendable",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "14.0"
    },
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    }
  ],
  "products" : [
    {
      "name" : "Extendable",
      "targets" : [
        "Extendable"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ExtendableHost",
      "targets" : [
        "ExtendableHost"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ExtendableTests",
      "module_type" : "SwiftTarget",
      "name" : "ExtendableTests",
      "path" : "Tests/ExtendableTests",
      "sources" : [
        "ConnectionAccepterTests.swift"
      ],
      "target_dependencies" : [
        "Extendable"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ExtendableHost",
      "module_type" : "SwiftTarget",
      "name" : "ExtendableHost",
      "path" : "Sources/ExtendableHost",
      "product_memberships" : [
        "ExtendableHost"
      ],
      "sources" : [
        "AppExtensionBrowserView.swift",
        "AppExtensionMonitor.swift",
        "AppExtensionProcess+Utilities.swift",
        "ExtensionHostingView.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Extendable",
      "module_type" : "SwiftTarget",
      "name" : "Extendable",
      "path" : "Sources/Extendable",
      "product_memberships" : [
        "Extendable"
      ],
      "sources" : [
        "AppExtensionSceneGroup.swift",
        "ConnectableConfiguration.swift",
        "ConnectableExtension.swift",
        "ConnectableSceneExtension.swift",
        "ConnectingAppExtensionScene.swift",
        "ConnectionAccepter.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
Done.