Build Information
Successful build of MultipeerKit, reference main (24f06a
), with Swift 6.0 for macOS (SPM) on 28 Nov 2024 18:21:02 UTC.
Swift 6 data race errors: 5
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/insidegui/MultipeerKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/insidegui/MultipeerKit
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 24f06a9 Create FUNDING.yml
Cloned https://github.com/insidegui/MultipeerKit.git
Revision (git rev-parse @):
24f06a99099d18182aaa0807317cf6e11acbab0e
SUCCESS checkout https://github.com/insidegui/MultipeerKit.git at main
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "multipeerkit",
"name": "MultipeerKit",
"url": "https://github.com/insidegui/MultipeerKit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/MultipeerKit",
"dependencies": [
]
}
]
}
Fetching https://github.com/insidegui/MultipeerKit.git
[1/914] Fetching multipeerkit
Fetched https://github.com/insidegui/MultipeerKit.git from cache (1.16s)
Creating working copy for https://github.com/insidegui/MultipeerKit.git
Working copy of https://github.com/insidegui/MultipeerKit.git resolved at main (24f06a9)
warning: '.resolve-product-dependencies': dependency 'multipeerkit' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/insidegui/MultipeerKit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/4] Write sources
[1/4] Write swift-version--7754E27361AE5C74.txt
[3/14] Compiling MultipeerKit MultipeerProtocol.swift
[4/14] Compiling MultipeerKit MultipeerConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerConfiguration.swift:58:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration.Security' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | /// Configures security-related aspects of the multipeer connection.
21 | public struct Security {
| `- note: consider making struct 'Security' conform to the 'Sendable' protocol
22 |
23 | public typealias InvitationHandler = (Peer, Data?, @escaping (Bool) -> Void) -> Void
:
56 |
57 | /// The default security configuration, which has no identity, uses no encryption and accepts all invitations.
58 | public static let `default` = Security(identity: nil, encryptionPreference: .none, invitationHandler: { _, _, closure in
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration.Security' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | closure(true)
60 | })
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerConfiguration.swift:114:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
3 |
4 | /// Configures several aspects of the multipeer communication.
5 | public struct MultipeerConfiguration {
| `- note: consider making struct 'MultipeerConfiguration' conform to the 'Sendable' protocol
6 |
7 | /// Defines how the multipeer connection handles newly discovered peers.
:
112 | /// The default configuration, uses the service type `MKSVC`, the name of the device/computer as the
113 | /// display name, `UserDefaults.standard`, the default security configuration and automatic invitation.
114 | public static let `default` = MultipeerConfiguration(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 | serviceType: "MKSVC",
116 | peerName: MCPeerID.defaultDisplayName,
[5/14] Compiling MultipeerKit MultipeerDataSource.swift
[6/15] Compiling MultipeerKit MultipeerMessage.swift
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/Models/MultipeerMessage.swift:48:24: warning: static property 'decoders' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 | private typealias MessageEncoder = (Any, inout KeyedEncodingContainer<CodingKeys>) throws -> Void
47 |
48 | private static var decoders: [String: MessageDecoder] = [:]
| |- warning: static property 'decoders' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decoders' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'decoders' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 | private static var encoders: [String: MessageEncoder] = [:]
50 |
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/Models/MultipeerMessage.swift:49:24: warning: static property 'encoders' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | private static var decoders: [String: MessageDecoder] = [:]
49 | private static var encoders: [String: MessageEncoder] = [:]
| |- warning: static property 'encoders' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'encoders' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'encoders' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |
51 | static func register<T: Codable>(_ type: T.Type, for typeName: String, closure: @escaping (T, Peer) -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/Models/MultipeerMessage.swift:55:40: warning: sending 'closure' risks causing data races; this is an error in the Swift 6 language mode
53 | let payload = try container.decode(T.self, forKey: .payload)
54 |
55 | DispatchQueue.main.async { closure(payload, peer) }
| |- warning: sending 'closure' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'closure' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 |
57 | return payload
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/Models/MultipeerMessage.swift:55:48: warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
53 | let payload = try container.decode(T.self, forKey: .payload)
54 |
55 | DispatchQueue.main.async { closure(payload, peer) }
| |- warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'payload' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 |
57 | return payload
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/Models/MultipeerMessage.swift:55:57: warning: sending 'peer' risks causing data races; this is an error in the Swift 6 language mode
53 | let payload = try container.decode(T.self, forKey: .payload)
54 |
55 | DispatchQueue.main.async { closure(payload, peer) }
| |- warning: sending 'peer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
56 |
57 | return payload
[7/15] Compiling MultipeerKit MultipeerConnection.swift
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerConfiguration.swift:114:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
3 |
4 | /// Configures several aspects of the multipeer communication.
5 | public struct MultipeerConfiguration {
| `- note: consider making struct 'MultipeerConfiguration' conform to the 'Sendable' protocol
6 |
7 | /// Defines how the multipeer connection handles newly discovered peers.
:
112 | /// The default configuration, uses the service type `MKSVC`, the name of the device/computer as the
113 | /// display name, `UserDefaults.standard`, the default security configuration and automatic invitation.
114 | public static let `default` = MultipeerConfiguration(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 | serviceType: "MKSVC",
116 | peerName: MCPeerID.defaultDisplayName,
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/MultipeerConnection.swift:134:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
132 |
133 | DispatchQueue.main.async {
134 | guard let peer = self.discoveredPeers[peerID] else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
135 |
136 | let handler = self.invitationCompletionHandlers[peerID]
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/MultipeerConnection.swift:134:51: warning: sending 'peerID' risks causing data races; this is an error in the Swift 6 language mode
132 |
133 | DispatchQueue.main.async {
134 | guard let peer = self.discoveredPeers[peerID] else { return }
| |- warning: sending 'peerID' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peerID' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
135 |
136 | let handler = self.invitationCompletionHandlers[peerID]
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/MultipeerConnection.swift:241:30: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
239 |
240 | DispatchQueue.main.async {
241 | guard let peer = self.discoveredPeers[peerID] else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
242 |
243 | self.configuration.security.invitationHandler(peer, context, { [weak self] decision in
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/MultipeerConnection.swift:241:51: warning: sending 'peerID' risks causing data races; this is an error in the Swift 6 language mode
239 |
240 | DispatchQueue.main.async {
241 | guard let peer = self.discoveredPeers[peerID] else { return }
| |- warning: sending 'peerID' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peerID' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
242 |
243 | self.configuration.security.invitationHandler(peer, context, { [weak self] decision in
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/MultipeerConnection.swift:246:17: warning: sending 'invitationHandler' risks causing data races; this is an error in the Swift 6 language mode
244 | guard let self = self else { return }
245 |
246 | invitationHandler(decision, decision ? self.session : nil)
| |- warning: sending 'invitationHandler' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'invitationHandler' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
247 | })
248 | }
[8/15] Compiling MultipeerKit MultipeerKit.swift
[9/15] Emitting module MultipeerKit
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/Models/MultipeerMessage.swift:48:24: warning: static property 'decoders' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
46 | private typealias MessageEncoder = (Any, inout KeyedEncodingContainer<CodingKeys>) throws -> Void
47 |
48 | private static var decoders: [String: MessageDecoder] = [:]
| |- warning: static property 'decoders' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decoders' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'decoders' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 | private static var encoders: [String: MessageEncoder] = [:]
50 |
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Internal API/Models/MultipeerMessage.swift:49:24: warning: static property 'encoders' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | private static var decoders: [String: MessageDecoder] = [:]
49 | private static var encoders: [String: MessageEncoder] = [:]
| |- warning: static property 'encoders' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'encoders' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'encoders' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |
51 | static func register<T: Codable>(_ type: T.Type, for typeName: String, closure: @escaping (T, Peer) -> Void) {
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerConfiguration.swift:114:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
3 |
4 | /// Configures several aspects of the multipeer communication.
5 | public struct MultipeerConfiguration {
| `- note: consider making struct 'MultipeerConfiguration' conform to the 'Sendable' protocol
6 |
7 | /// Defines how the multipeer connection handles newly discovered peers.
:
112 | /// The default configuration, uses the service type `MKSVC`, the name of the device/computer as the
113 | /// display name, `UserDefaults.standard`, the default security configuration and automatic invitation.
114 | public static let `default` = MultipeerConfiguration(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 | serviceType: "MKSVC",
116 | peerName: MCPeerID.defaultDisplayName,
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerConfiguration.swift:58:27: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration.Security' may have shared mutable state; this is an error in the Swift 6 language mode
19 |
20 | /// Configures security-related aspects of the multipeer connection.
21 | public struct Security {
| `- note: consider making struct 'Security' conform to the 'Sendable' protocol
22 |
23 | public typealias InvitationHandler = (Peer, Data?, @escaping (Bool) -> Void) -> Void
:
56 |
57 | /// The default security configuration, which has no identity, uses no encryption and accepts all invitations.
58 | public static let `default` = Security(identity: nil, encryptionPreference: .none, invitationHandler: { _, _, closure in
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration.Security' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | closure(true)
60 | })
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerTransceiver.swift:43:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
41 |
42 | DispatchQueue.main.async {
43 | self.availablePeersDidChange(self.availablePeers)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
44 | }
45 | }
[10/15] Compiling MultipeerKit MockMultipeerConnection.swift
[11/15] Compiling MultipeerKit MCPeerID+Me.swift
[12/15] Compiling MultipeerKit Peer.swift
[13/15] Compiling MultipeerKit MultipeerTransceiver.swift
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerConfiguration.swift:114:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
3 |
4 | /// Configures several aspects of the multipeer communication.
5 | public struct MultipeerConfiguration {
| `- note: consider making struct 'MultipeerConfiguration' conform to the 'Sendable' protocol
6 |
7 | /// Defines how the multipeer connection handles newly discovered peers.
:
112 | /// The default configuration, uses the service type `MKSVC`, the name of the device/computer as the
113 | /// display name, `UserDefaults.standard`, the default security configuration and automatic invitation.
114 | public static let `default` = MultipeerConfiguration(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'MultipeerConfiguration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'default' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
115 | serviceType: "MKSVC",
116 | peerName: MCPeerID.defaultDisplayName,
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerTransceiver.swift:43:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
41 |
42 | DispatchQueue.main.async {
43 | self.availablePeersDidChange(self.availablePeers)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
44 | }
45 | }
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerTransceiver.swift:70:40: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
68 | }
69 | connection.didFindPeer = { [weak self] peer in
70 | DispatchQueue.main.async { self?.handlePeerAdded(peer) }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
71 | }
72 | connection.didLosePeer = { [weak self] peer in
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerTransceiver.swift:70:62: warning: sending 'peer' risks causing data races; this is an error in the Swift 6 language mode
68 | }
69 | connection.didFindPeer = { [weak self] peer in
70 | DispatchQueue.main.async { self?.handlePeerAdded(peer) }
| |- warning: sending 'peer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
71 | }
72 | connection.didLosePeer = { [weak self] peer in
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerTransceiver.swift:73:40: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
71 | }
72 | connection.didLosePeer = { [weak self] peer in
73 | DispatchQueue.main.async { self?.handlePeerRemoved(peer) }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
74 | }
75 | connection.didConnectToPeer = { [weak self] peer in
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerTransceiver.swift:73:64: warning: sending 'peer' risks causing data races; this is an error in the Swift 6 language mode
71 | }
72 | connection.didLosePeer = { [weak self] peer in
73 | DispatchQueue.main.async { self?.handlePeerRemoved(peer) }
| |- warning: sending 'peer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
74 | }
75 | connection.didConnectToPeer = { [weak self] peer in
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerTransceiver.swift:76:40: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
74 | }
75 | connection.didConnectToPeer = { [weak self] peer in
76 | DispatchQueue.main.async { self?.handlePeerConnected(peer) }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | connection.didDisconnectFromPeer = { [weak self] peer in
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerTransceiver.swift:76:66: warning: sending 'peer' risks causing data races; this is an error in the Swift 6 language mode
74 | }
75 | connection.didConnectToPeer = { [weak self] peer in
76 | DispatchQueue.main.async { self?.handlePeerConnected(peer) }
| |- warning: sending 'peer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
77 | }
78 | connection.didDisconnectFromPeer = { [weak self] peer in
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerTransceiver.swift:79:40: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
77 | }
78 | connection.didDisconnectFromPeer = { [weak self] peer in
79 | DispatchQueue.main.async { self?.handlePeerDisconnected(peer) }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
80 | }
81 | }
/Users/admin/builder/spi-builder-workspace/Sources/MultipeerKit/Public API/MultipeerTransceiver.swift:79:69: warning: sending 'peer' risks causing data races; this is an error in the Swift 6 language mode
77 | }
78 | connection.didDisconnectFromPeer = { [weak self] peer in
79 | DispatchQueue.main.async { self?.handlePeerDisconnected(peer) }
| |- warning: sending 'peer' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'peer' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
80 | }
81 | }
[13/15] Write Objects.LinkFileList
[14/15] Linking libMultipeerKitDynamic.dylib
Build complete! (19.73s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "MultipeerKit",
"name" : "MultipeerKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.14"
},
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "MultipeerKit",
"targets" : [
"MultipeerKit"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MultipeerKitDynamic",
"targets" : [
"MultipeerKit"
],
"type" : {
"library" : [
"dynamic"
]
}
}
],
"targets" : [
{
"c99name" : "MultipeerKitTests",
"module_type" : "SwiftTarget",
"name" : "MultipeerKitTests",
"path" : "Tests/MultipeerKitTests",
"sources" : [
"MultipeerKitTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"MultipeerKit"
],
"type" : "test"
},
{
"c99name" : "MultipeerKit",
"module_type" : "SwiftTarget",
"name" : "MultipeerKit",
"path" : "Sources/MultipeerKit",
"product_memberships" : [
"MultipeerKit",
"MultipeerKitDynamic"
],
"sources" : [
"Internal API/Extensions/MCPeerID+Me.swift",
"Internal API/MockMultipeerConnection.swift",
"Internal API/Models/MultipeerMessage.swift",
"Internal API/MultipeerConnection.swift",
"Internal API/MultipeerKit.swift",
"Internal API/MultipeerProtocol.swift",
"Public API/Models/Peer.swift",
"Public API/MultipeerConfiguration.swift",
"Public API/MultipeerDataSource.swift",
"Public API/MultipeerTransceiver.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.