Build Information
Successful build of SwiftUPnP, reference main (333d65), with Swift 6.1 for macOS (SPM) on 16 Jan 2026 02:57:53 UTC.
Swift 6 data race errors: 4
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.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 InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/katoemba/SwiftUPnP.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/katoemba/SwiftUPnP
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 333d651 Support reanimation of devices with event handling.
Cloned https://github.com/katoemba/SwiftUPnP.git
Revision (git rev-parse @):
333d651502a793e8484437d1f6108850cbdf4658
SUCCESS checkout https://github.com/katoemba/SwiftUPnP.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/katoemba/SwiftUPnP.git
https://github.com/katoemba/SwiftUPnP.git
{
"dependencies" : [
{
"identity" : "xmlcoder",
"requirement" : {
"range" : [
{
"lower_bound" : "0.13.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/CoreOffice/XMLCoder.git"
},
{
"identity" : "swifter",
"requirement" : {
"branch" : [
"stable"
]
},
"type" : "sourceControl",
"url" : "https://github.com/httpswift/swifter.git"
},
{
"identity" : "cocoaasyncsocket",
"requirement" : {
"branch" : [
"master"
]
},
"type" : "sourceControl",
"url" : "https://github.com/robbiehanson/CocoaAsyncSocket.git"
},
{
"identity" : "mocker",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/WeTransfer/Mocker.git"
}
],
"manifest_display_name" : "SwiftUPnP",
"name" : "SwiftUPnP",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "10.0"
}
],
"products" : [
{
"name" : "SwiftUPnP",
"targets" : [
"SwiftUPnP"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "UPnPCodeGenerator",
"targets" : [
"UPnPCodeGenerator"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "UPnPCodeGenerator",
"module_type" : "SwiftTarget",
"name" : "UPnPCodeGenerator",
"path" : "CodeGenerator",
"product_dependencies" : [
"XMLCoder"
],
"product_memberships" : [
"UPnPCodeGenerator"
],
"sources" : [
"ServiceDefinition.swift",
"SourceGenerator.swift",
"main.swift"
],
"type" : "executable"
},
{
"c99name" : "SwiftUPnPTests",
"module_type" : "SwiftTarget",
"name" : "SwiftUPnPTests",
"path" : "Tests/SwiftUPnPTests",
"product_dependencies" : [
"Mocker"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/AVTransport1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/ConnectionManager1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/ContentDirectory1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/MediaServerDevice.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeConfig1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeCredentials1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeInfo1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeOAuth1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePins1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePlaylist1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePlaylistManager1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeProduct1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeProduct2Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeRadio1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeReceiver1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeRendererDevice.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeSender1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeTime1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeTransport1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeVolume1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeVolume2Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/RenderingControl1Service.xml",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"SwiftUPnPTests.swift"
],
"target_dependencies" : [
"SwiftUPnP"
],
"type" : "test"
},
{
"c99name" : "SwiftUPnP",
"module_type" : "SwiftTarget",
"name" : "SwiftUPnP",
"path" : "Source",
"product_dependencies" : [
"XMLCoder",
"Swifter",
"CocoaAsyncSocket"
],
"product_memberships" : [
"SwiftUPnP"
],
"sources" : [
"Profiles/AV Profile/AVTransport1Service.swift",
"Profiles/AV Profile/ConnectionManager1Service.swift",
"Profiles/AV Profile/ContentDirectory1Service+DIDL.swift",
"Profiles/AV Profile/ContentDirectory1Service.swift",
"Profiles/AV Profile/RenderingControl1Service.swift",
"Profiles/OpenHome Profile/OpenHomeConfig1Service.swift",
"Profiles/OpenHome Profile/OpenHomeCredentials1Service.swift",
"Profiles/OpenHome Profile/OpenHomeInfo1Service.swift",
"Profiles/OpenHome Profile/OpenHomeOAuth1Service.swift",
"Profiles/OpenHome Profile/OpenHomePins1Service.swift",
"Profiles/OpenHome Profile/OpenHomePlaylist1Service+DIDL.swift",
"Profiles/OpenHome Profile/OpenHomePlaylist1Service.swift",
"Profiles/OpenHome Profile/OpenHomePlaylistManager1Service.swift",
"Profiles/OpenHome Profile/OpenHomeProduct1Service.swift",
"Profiles/OpenHome Profile/OpenHomeProduct2Service.swift",
"Profiles/OpenHome Profile/OpenHomeRadio1Service.swift",
"Profiles/OpenHome Profile/OpenHomeReceiver1Service.swift",
"Profiles/OpenHome Profile/OpenHomeSender1Service.swift",
"Profiles/OpenHome Profile/OpenHomeTime1Service.swift",
"Profiles/OpenHome Profile/OpenHomeTransport1Service.swift",
"Profiles/OpenHome Profile/OpenHomeVolume1Service.swift",
"Profiles/OpenHome Profile/OpenHomeVolume2Service.swift",
"SSDP/SSDPCocoaAsyncSocketDiscovery.swift",
"SSDP/SSDPDiscovery.swift",
"SSDP/SSDPNetworkDiscovery.swift",
"SSDP/UserAgentGenerator.swift",
"Support/IPHelper.swift",
"Support/Publisher+Stream.swift",
"Support/XMLParserSupport.swift",
"UPnP/UPnPDevice.swift",
"UPnP/UPnPDeviceDefinition.swift",
"UPnP/UPnPRegistry.swift",
"UPnP/UPnPService.swift",
"UPnP/UPnPServiceDefinition.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.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/11] Write UPnPCodeGenerator-entitlement.plist
[0/11] Write sources
[5/11] Write swift-version-2F0A5646E1D333AE.txt
[6/77] Compiling CocoaAsyncSocket GCDAsyncSocket.m
[7/77] Compiling CocoaAsyncSocket GCDAsyncUdpSocket.m
[9/77] Compiling XMLCoder ISO8601DateFormatter.swift
[10/77] Compiling XMLCoder KeyedStorage.swift
[11/79] Compiling XMLCoder UIntBox.swift
[12/79] Compiling XMLCoder URLBox.swift
[13/79] Compiling XMLCoder SingleKeyedBox.swift
[14/79] Compiling XMLCoder StringBox.swift
[15/79] Compiling XMLCoder Box.swift
[16/79] Compiling XMLCoder ChoiceBox.swift
[17/79] Compiling XMLCoder DynamicNodeEncoding.swift
[18/79] Compiling XMLCoder EncodingErrorExtension.swift
[19/79] Compiling XMLCoder SingleValueEncodingContainer.swift
[20/79] Compiling XMLCoder XMLChoiceEncodingContainer.swift
[21/79] Compiling XMLCoder XMLEncoder.swift
[22/79] Compiling XMLCoder NullBox.swift
[23/79] Compiling XMLCoder SharedBox.swift
[27/84] Emitting module XMLCoder
[28/84] Compiling XMLCoder Attribute.swift
[29/84] Compiling XMLCoder BoolBox.swift
[32/84] Compiling XMLCoder DataBox.swift
[33/84] Compiling XMLCoder DateBox.swift
[34/84] Compiling XMLCoder XMLStackParser.swift
[35/84] Compiling XMLCoder DecodingErrorExtension.swift
[36/84] Compiling XMLCoder DynamicNodeDecoding.swift
[37/84] Compiling XMLCoder SingleValueDecodingContainer.swift
[38/84] Compiling XMLCoder XMLChoiceDecodingContainer.swift
[39/84] Compiling XMLCoder XMLDecoder.swift
[40/84] Compiling XMLCoder XMLDecoderImplementation.swift
[41/84] Compiling XMLCoder XMLDecodingStorage.swift
[42/84] Compiling XMLCoder XMLKeyedDecodingContainer.swift
[43/84] Compiling XMLCoder XMLUnkeyedDecodingContainer.swift
[48/84] Compiling XMLCoder Element.swift
[49/84] Compiling XMLCoder ElementAndAttribute.swift
[50/84] Emitting module Swifter
[51/84] Compiling XMLCoder UnkeyedBox.swift
[52/84] Compiling XMLCoder ValueBox.swift
[62/84] Compiling Swifter String+SHA1.swift
[63/84] Compiling Swifter WebSockets.swift
[64/84] Compiling XMLCoder Utils.swift
[65/84] Compiling XMLCoder DecimalBox.swift
[66/84] Compiling XMLCoder DoubleBox.swift
[67/84] Compiling XMLCoder FloatBox.swift
[68/84] Compiling XMLCoder IntBox.swift
[69/84] Compiling XMLCoder KeyedBox.swift
[70/84] Compiling XMLCoder XMLChoiceCodingKey.swift
[71/84] Compiling XMLCoder XMLCoderElement.swift
[72/84] Compiling XMLCoder XMLDocumentType.swift
[73/84] Compiling XMLCoder XMLHeader.swift
[74/84] Compiling XMLCoder XMLKey.swift
[75/84] Compiling XMLCoder XMLEncoderImplementation.swift
[76/84] Compiling XMLCoder XMLEncodingStorage.swift
[77/84] Compiling XMLCoder XMLKeyedEncodingContainer.swift
[78/84] Compiling XMLCoder XMLReferencingEncoder.swift
[79/84] Compiling XMLCoder XMLUnkeyedEncodingContainer.swift
[82/120] Compiling UPnPCodeGenerator main.swift
[83/120] Compiling UPnPCodeGenerator ServiceDefinition.swift
[84/120] Compiling UPnPCodeGenerator SourceGenerator.swift
[85/120] Emitting module UPnPCodeGenerator
[85/120] Write Objects.LinkFileList
[86/120] Linking UPnPCodeGenerator
[87/120] Applying UPnPCodeGenerator
[89/120] Compiling SwiftUPnP UserAgentGenerator.swift
/Users/admin/builder/spi-builder-workspace/Source/Support/IPHelper.swift:134:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
132 |
133 | extension Logger {
134 | private static var subsystem = Bundle.main.bundleIdentifier!
| |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 |
136 | /// Logs the view cycles like viewDidLoad.
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:40:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 | continuation.onTermination = { continuation in
40 | cancellable.cancel()
| `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
41 | }
42 | }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | final public class AnyCancellable : Cancellable, Hashable {
| `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
3 | public init(_ cancel: @escaping () -> Void)
4 | public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:29:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
27 |
28 | import Foundation
29 | import Combine
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
30 |
31 | internal extension Publisher where Failure == Never {
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:60:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
58 | }
59 | continuation.onTermination = { continuation in
60 | cancellable.cancel()
| `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 | }
62 | }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | final public class AnyCancellable : Cancellable, Hashable {
| `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
3 | public init(_ cancel: @escaping () -> Void)
4 | public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:37:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
35 | continuation.finish()
36 | } receiveValue: { value in
37 | continuation.yield(value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
38 | }
39 | continuation.onTermination = { continuation in
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:57:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
55 | }
56 | } receiveValue: { value in
57 | continuation.yield(value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
58 | }
59 | continuation.onTermination = { continuation in
[90/120] Compiling SwiftUPnP IPHelper.swift
/Users/admin/builder/spi-builder-workspace/Source/Support/IPHelper.swift:134:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
132 |
133 | extension Logger {
134 | private static var subsystem = Bundle.main.bundleIdentifier!
| |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 |
136 | /// Logs the view cycles like viewDidLoad.
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:40:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 | continuation.onTermination = { continuation in
40 | cancellable.cancel()
| `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
41 | }
42 | }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | final public class AnyCancellable : Cancellable, Hashable {
| `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
3 | public init(_ cancel: @escaping () -> Void)
4 | public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:29:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
27 |
28 | import Foundation
29 | import Combine
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
30 |
31 | internal extension Publisher where Failure == Never {
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:60:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
58 | }
59 | continuation.onTermination = { continuation in
60 | cancellable.cancel()
| `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 | }
62 | }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | final public class AnyCancellable : Cancellable, Hashable {
| `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
3 | public init(_ cancel: @escaping () -> Void)
4 | public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:37:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
35 | continuation.finish()
36 | } receiveValue: { value in
37 | continuation.yield(value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
38 | }
39 | continuation.onTermination = { continuation in
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:57:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
55 | }
56 | } receiveValue: { value in
57 | continuation.yield(value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
58 | }
59 | continuation.onTermination = { continuation in
[91/120] Compiling SwiftUPnP Publisher+Stream.swift
/Users/admin/builder/spi-builder-workspace/Source/Support/IPHelper.swift:134:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
132 |
133 | extension Logger {
134 | private static var subsystem = Bundle.main.bundleIdentifier!
| |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 |
136 | /// Logs the view cycles like viewDidLoad.
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:40:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
38 | }
39 | continuation.onTermination = { continuation in
40 | cancellable.cancel()
| `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
41 | }
42 | }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | final public class AnyCancellable : Cancellable, Hashable {
| `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
3 | public init(_ cancel: @escaping () -> Void)
4 | public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:29:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
27 |
28 | import Foundation
29 | import Combine
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Combine'
30 |
31 | internal extension Publisher where Failure == Never {
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:60:17: warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
58 | }
59 | continuation.onTermination = { continuation in
60 | cancellable.cancel()
| `- warning: capture of 'cancellable' with non-sendable type 'AnyCancellable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 | }
62 | }
Combine.AnyCancellable:2:20: note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
2 | final public class AnyCancellable : Cancellable, Hashable {
| `- note: class 'AnyCancellable' does not conform to the 'Sendable' protocol
3 | public init(_ cancel: @escaping () -> Void)
4 | public init<C>(_ canceller: C) where C : Cancellable
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:37:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
35 | continuation.finish()
36 | } receiveValue: { value in
37 | continuation.yield(value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
38 | }
39 | continuation.onTermination = { continuation in
/Users/admin/builder/spi-builder-workspace/Source/Support/Publisher+Stream.swift:57:31: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
55 | }
56 | } receiveValue: { value in
57 | continuation.yield(value)
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
58 | }
59 | continuation.onTermination = { continuation in
[92/123] Compiling SwiftUPnP UPnPRegistry.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
30 | import os.log
31 |
32 | public class UPnPRegistry {
| `- note: class 'UPnPRegistry' does not conform to the 'Sendable' protocol
33 | public static let shared = UPnPRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
34 |
35 | // Use CocoaAsyncSocket discovery for SSDP, as the standard network framework doesn't support when
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:49:23: warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public static var defaultSubscriptionTimeout = 120
| |- warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultSubscriptionTimeout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultSubscriptionTimeout' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |
51 | public let controlUrl: URL
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:103:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
101 | }
102 |
103 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
104 | await startHTTPServerIfNotRunning()
| `- note: closure captures 'self' which is accessible to code in the current task
105 | try discoveryEngine.startDiscovery(forTypes: filteredTypes)
106 | discoveryEngine.searchRequest()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:104:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
102 |
103 | Task {
104 | await startHTTPServerIfNotRunning()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startHTTPServerIfNotRunning()' risks causing data races between main actor-isolated and local nonisolated uses
105 | try discoveryEngine.startDiscovery(forTypes: filteredTypes)
| `- note: access can happen concurrently
106 | discoveryEngine.searchRequest()
107 | }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:111:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
109 |
110 | public func stopDiscovery() {
111 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
112 | await stopHTTPServer()
| `- note: closure captures 'self' which is accessible to code in the current task
113 | await MainActor.run {
114 | devices.removeAll(keepingCapacity: false)
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:112:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
110 | public func stopDiscovery() {
111 | Task {
112 | await stopHTTPServer()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'stopHTTPServer()' risks causing data races between main actor-isolated and local nonisolated uses
113 | await MainActor.run {
| `- note: access can happen concurrently
114 | devices.removeAll(keepingCapacity: false)
115 | }
[93/123] Compiling SwiftUPnP UPnPService.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
30 | import os.log
31 |
32 | public class UPnPRegistry {
| `- note: class 'UPnPRegistry' does not conform to the 'Sendable' protocol
33 | public static let shared = UPnPRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
34 |
35 | // Use CocoaAsyncSocket discovery for SSDP, as the standard network framework doesn't support when
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:49:23: warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public static var defaultSubscriptionTimeout = 120
| |- warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultSubscriptionTimeout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultSubscriptionTimeout' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |
51 | public let controlUrl: URL
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:103:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
101 | }
102 |
103 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
104 | await startHTTPServerIfNotRunning()
| `- note: closure captures 'self' which is accessible to code in the current task
105 | try discoveryEngine.startDiscovery(forTypes: filteredTypes)
106 | discoveryEngine.searchRequest()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:104:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
102 |
103 | Task {
104 | await startHTTPServerIfNotRunning()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startHTTPServerIfNotRunning()' risks causing data races between main actor-isolated and local nonisolated uses
105 | try discoveryEngine.startDiscovery(forTypes: filteredTypes)
| `- note: access can happen concurrently
106 | discoveryEngine.searchRequest()
107 | }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:111:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
109 |
110 | public func stopDiscovery() {
111 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
112 | await stopHTTPServer()
| `- note: closure captures 'self' which is accessible to code in the current task
113 | await MainActor.run {
114 | devices.removeAll(keepingCapacity: false)
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:112:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
110 | public func stopDiscovery() {
111 | Task {
112 | await stopHTTPServer()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'stopHTTPServer()' risks causing data races between main actor-isolated and local nonisolated uses
113 | await MainActor.run {
| `- note: access can happen concurrently
114 | devices.removeAll(keepingCapacity: false)
115 | }
[94/123] Compiling SwiftUPnP UPnPServiceDefinition.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
30 | import os.log
31 |
32 | public class UPnPRegistry {
| `- note: class 'UPnPRegistry' does not conform to the 'Sendable' protocol
33 | public static let shared = UPnPRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
34 |
35 | // Use CocoaAsyncSocket discovery for SSDP, as the standard network framework doesn't support when
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:49:23: warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public static var defaultSubscriptionTimeout = 120
| |- warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultSubscriptionTimeout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultSubscriptionTimeout' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |
51 | public let controlUrl: URL
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:103:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
101 | }
102 |
103 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
104 | await startHTTPServerIfNotRunning()
| `- note: closure captures 'self' which is accessible to code in the current task
105 | try discoveryEngine.startDiscovery(forTypes: filteredTypes)
106 | discoveryEngine.searchRequest()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:104:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
102 |
103 | Task {
104 | await startHTTPServerIfNotRunning()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'startHTTPServerIfNotRunning()' risks causing data races between main actor-isolated and local nonisolated uses
105 | try discoveryEngine.startDiscovery(forTypes: filteredTypes)
| `- note: access can happen concurrently
106 | discoveryEngine.searchRequest()
107 | }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:111:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
109 |
110 | public func stopDiscovery() {
111 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
112 | await stopHTTPServer()
| `- note: closure captures 'self' which is accessible to code in the current task
113 | await MainActor.run {
114 | devices.removeAll(keepingCapacity: false)
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:112:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
110 | public func stopDiscovery() {
111 | Task {
112 | await stopHTTPServer()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'self' to main actor-isolated instance method 'stopHTTPServer()' risks causing data races between main actor-isolated and local nonisolated uses
113 | await MainActor.run {
| `- note: access can happen concurrently
114 | devices.removeAll(keepingCapacity: false)
115 | }
[95/123] Emitting module SwiftUPnP
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
201 |
202 | public let res: [DIDLRes]
203 | public let desc: [DIDLDescription]
| `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
204 |
205 | public let `class`: String
:
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
| `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 | enum CodingKeys: String, CodingKey {
242 | case id
/Users/admin/builder/spi-builder-workspace/Source/Support/IPHelper.swift:134:24: warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
132 |
133 | extension Logger {
134 | private static var subsystem = Bundle.main.bundleIdentifier!
| |- warning: static property 'subsystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'subsystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'subsystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 |
136 | /// Logs the view cycles like viewDidLoad.
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:33:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
30 | import os.log
31 |
32 | public class UPnPRegistry {
| `- note: class 'UPnPRegistry' does not conform to the 'Sendable' protocol
33 | public static let shared = UPnPRegistry()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'UPnPRegistry' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
34 |
35 | // Use CocoaAsyncSocket discovery for SSDP, as the standard network framework doesn't support when
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPService.swift:49:23: warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 | }
48 |
49 | public static var defaultSubscriptionTimeout = 120
| |- warning: static property 'defaultSubscriptionTimeout' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultSubscriptionTimeout' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultSubscriptionTimeout' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 |
51 | public let controlUrl: URL
[96/123] Compiling SwiftUPnP AVTransport1Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
201 |
202 | public let res: [DIDLRes]
203 | public let desc: [DIDLDescription]
| `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
204 |
205 | public let `class`: String
:
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
| `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 | enum CodingKeys: String, CodingKey {
242 | case id
[97/123] Compiling SwiftUPnP ConnectionManager1Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
201 |
202 | public let res: [DIDLRes]
203 | public let desc: [DIDLDescription]
| `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
204 |
205 | public let `class`: String
:
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
| `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 | enum CodingKeys: String, CodingKey {
242 | case id
[98/123] Compiling SwiftUPnP ContentDirectory1Service+DIDL.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
201 |
202 | public let res: [DIDLRes]
203 | public let desc: [DIDLDescription]
| `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
204 |
205 | public let `class`: String
:
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
| `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 | enum CodingKeys: String, CodingKey {
242 | case id
[99/123] Compiling SwiftUPnP ContentDirectory1Service.swift
/Users/admin/builder/spi-builder-workspace/Source/Profiles/AV Profile/ContentDirectory1Service+DIDL.swift:203:16: warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
201 |
202 | public let res: [DIDLRes]
203 | public let desc: [DIDLDescription]
| `- warning: stored property 'desc' of 'Sendable'-conforming struct 'DIDLItem' has non-sendable type '[DIDLDescription]'; this is an error in the Swift 6 language mode
204 |
205 | public let `class`: String
:
238 | }
239 |
240 | public struct DIDLDescription: Codable, DynamicNodeDecoding {
| `- note: consider making struct 'DIDLDescription' conform to the 'Sendable' protocol
241 | enum CodingKeys: String, CodingKey {
242 | case id
[100/123] Compiling SwiftUPnP SSDPCocoaAsyncSocketDiscovery.swift
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:50:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
| `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 | private var multicastGroup: NWMulticastGroup?
34 | private var connectionGroup: NWConnectionGroup?
:
48 | Logger.swiftUPnP.error("\(error.localizedDescription)")
49 | case .cancelled:
50 | self?.multicastGroup = nil
| `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
51 | self?.connectionGroup = nil
52 | default:
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:58:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
| `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 | private var multicastGroup: NWMulticastGroup?
34 | private var connectionGroup: NWConnectionGroup?
:
56 | connectionGroup.setReceiveHandler(maximumMessageSize: 65535, rejectOversizedMessages: true) { (message, content, isComplete) in
57 | if let content = content {
58 | self.processData(content)
| `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
59 | }
60 | }
[101/123] Compiling SwiftUPnP SSDPDiscovery.swift
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:50:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
| `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 | private var multicastGroup: NWMulticastGroup?
34 | private var connectionGroup: NWConnectionGroup?
:
48 | Logger.swiftUPnP.error("\(error.localizedDescription)")
49 | case .cancelled:
50 | self?.multicastGroup = nil
| `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
51 | self?.connectionGroup = nil
52 | default:
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:58:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
| `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 | private var multicastGroup: NWMulticastGroup?
34 | private var connectionGroup: NWConnectionGroup?
:
56 | connectionGroup.setReceiveHandler(maximumMessageSize: 65535, rejectOversizedMessages: true) { (message, content, isComplete) in
57 | if let content = content {
58 | self.processData(content)
| `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
59 | }
60 | }
[102/123] Compiling SwiftUPnP SSDPNetworkDiscovery.swift
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:50:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
| `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 | private var multicastGroup: NWMulticastGroup?
34 | private var connectionGroup: NWConnectionGroup?
:
48 | Logger.swiftUPnP.error("\(error.localizedDescription)")
49 | case .cancelled:
50 | self?.multicastGroup = nil
| `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
51 | self?.connectionGroup = nil
52 | default:
/Users/admin/builder/spi-builder-workspace/Source/SSDP/SSDPNetworkDiscovery.swift:58:17: warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
30 | import os.log
31 |
32 | class SSDPNetworkDiscovery: SSDPDiscovery {
| `- note: class 'SSDPNetworkDiscovery' does not conform to the 'Sendable' protocol
33 | private var multicastGroup: NWMulticastGroup?
34 | private var connectionGroup: NWConnectionGroup?
:
56 | connectionGroup.setReceiveHandler(maximumMessageSize: 65535, rejectOversizedMessages: true) { (message, content, isComplete) in
57 | if let content = content {
58 | self.processData(content)
| `- warning: capture of 'self' with non-sendable type 'SSDPNetworkDiscovery' in a '@Sendable' closure
59 | }
60 | }
[103/123] Compiling SwiftUPnP OpenHomeReceiver1Service.swift
[104/123] Compiling SwiftUPnP OpenHomeSender1Service.swift
[105/123] Compiling SwiftUPnP OpenHomeTime1Service.swift
[106/123] Compiling SwiftUPnP OpenHomeTransport1Service.swift
[107/123] Compiling SwiftUPnP OpenHomeVolume1Service.swift
[108/123] Compiling SwiftUPnP OpenHomeVolume2Service.swift
[109/123] Compiling SwiftUPnP RenderingControl1Service.swift
[110/123] Compiling SwiftUPnP OpenHomeConfig1Service.swift
[111/123] Compiling SwiftUPnP OpenHomeCredentials1Service.swift
[112/123] Compiling SwiftUPnP OpenHomeInfo1Service.swift
[113/123] Compiling SwiftUPnP OpenHomeOAuth1Service.swift
[114/123] Compiling SwiftUPnP OpenHomePins1Service.swift
[115/123] Compiling SwiftUPnP OpenHomePlaylist1Service+DIDL.swift
[116/123] Compiling SwiftUPnP OpenHomePlaylist1Service.swift
[117/123] Compiling SwiftUPnP XMLParserSupport.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:159:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
157 |
158 | await service.loadScdp()
159 | await add(service)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'add' risks causing data races between main actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
160 | }
161 | }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:106:25: warning: sending 'registry' risks causing data races; this is an error in the Swift 6 language mode
104 | let device = UPnPDevice(upnpDeviceDescription: upnpDeviceDescription)
105 |
106 | if await device.loadServices(registry: registry) {
| |- warning: sending 'registry' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'registry' to nonisolated instance method 'loadServices(registry:)' risks causing data races between nonisolated and main actor-isolated uses
107 | device.servicesLoaded = true
108 |
[118/123] Compiling SwiftUPnP UPnPDevice.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:159:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
157 |
158 | await service.loadScdp()
159 | await add(service)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'add' risks causing data races between main actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
160 | }
161 | }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:106:25: warning: sending 'registry' risks causing data races; this is an error in the Swift 6 language mode
104 | let device = UPnPDevice(upnpDeviceDescription: upnpDeviceDescription)
105 |
106 | if await device.loadServices(registry: registry) {
| |- warning: sending 'registry' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'registry' to nonisolated instance method 'loadServices(registry:)' risks causing data races between nonisolated and main actor-isolated uses
107 | device.servicesLoaded = true
108 |
[119/123] Compiling SwiftUPnP UPnPDeviceDefinition.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:159:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
157 |
158 | await service.loadScdp()
159 | await add(service)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| |- note: sending main actor-isolated 'self' to main actor-isolated instance method 'add' risks causing data races between main actor-isolated and local nonisolated uses
| `- note: access can happen concurrently
160 | }
161 | }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:106:25: warning: sending 'registry' risks causing data races; this is an error in the Swift 6 language mode
104 | let device = UPnPDevice(upnpDeviceDescription: upnpDeviceDescription)
105 |
106 | if await device.loadServices(registry: registry) {
| |- warning: sending 'registry' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending main actor-isolated 'registry' to nonisolated instance method 'loadServices(registry:)' risks causing data races between nonisolated and main actor-isolated uses
107 | device.servicesLoaded = true
108 |
[120/123] Compiling SwiftUPnP OpenHomePlaylistManager1Service.swift
[121/123] Compiling SwiftUPnP OpenHomeProduct1Service.swift
[122/123] Compiling SwiftUPnP OpenHomeProduct2Service.swift
[123/123] Compiling SwiftUPnP OpenHomeRadio1Service.swift
Build complete! (29.45s)
Fetching https://github.com/httpswift/swifter.git
[1/6050] Fetching swifter
Fetched https://github.com/httpswift/swifter.git from cache (1.61s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket.git
[1/6430] Fetching cocoaasyncsocket
Fetched https://github.com/robbiehanson/CocoaAsyncSocket.git from cache (1.36s)
Fetching https://github.com/WeTransfer/Mocker.git
Fetching https://github.com/CoreOffice/XMLCoder.git
[1/1889] Fetching mocker
[228/11971] Fetching mocker, xmlcoder
Fetched https://github.com/WeTransfer/Mocker.git from cache (2.03s)
Fetched https://github.com/CoreOffice/XMLCoder.git from cache (2.03s)
Computing version for https://github.com/WeTransfer/Mocker.git
Computed https://github.com/WeTransfer/Mocker.git at 3.0.2 (2.63s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.18.0 (0.58s)
Creating working copy for https://github.com/CoreOffice/XMLCoder.git
Working copy of https://github.com/CoreOffice/XMLCoder.git resolved at 0.18.0
Creating working copy for https://github.com/WeTransfer/Mocker.git
Working copy of https://github.com/WeTransfer/Mocker.git resolved at 3.0.2
Creating working copy for https://github.com/robbiehanson/CocoaAsyncSocket.git
Working copy of https://github.com/robbiehanson/CocoaAsyncSocket.git resolved at master (5ddba5e)
Creating working copy for https://github.com/httpswift/swifter.git
Working copy of https://github.com/httpswift/swifter.git resolved at stable (1e4f51c)
Build complete.
{
"dependencies" : [
{
"identity" : "xmlcoder",
"requirement" : {
"range" : [
{
"lower_bound" : "0.13.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/CoreOffice/XMLCoder.git"
},
{
"identity" : "swifter",
"requirement" : {
"branch" : [
"stable"
]
},
"type" : "sourceControl",
"url" : "https://github.com/httpswift/swifter.git"
},
{
"identity" : "cocoaasyncsocket",
"requirement" : {
"branch" : [
"master"
]
},
"type" : "sourceControl",
"url" : "https://github.com/robbiehanson/CocoaAsyncSocket.git"
},
{
"identity" : "mocker",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/WeTransfer/Mocker.git"
}
],
"manifest_display_name" : "SwiftUPnP",
"name" : "SwiftUPnP",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "10.0"
}
],
"products" : [
{
"name" : "SwiftUPnP",
"targets" : [
"SwiftUPnP"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "UPnPCodeGenerator",
"targets" : [
"UPnPCodeGenerator"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "UPnPCodeGenerator",
"module_type" : "SwiftTarget",
"name" : "UPnPCodeGenerator",
"path" : "CodeGenerator",
"product_dependencies" : [
"XMLCoder"
],
"product_memberships" : [
"UPnPCodeGenerator"
],
"sources" : [
"ServiceDefinition.swift",
"SourceGenerator.swift",
"main.swift"
],
"type" : "executable"
},
{
"c99name" : "SwiftUPnPTests",
"module_type" : "SwiftTarget",
"name" : "SwiftUPnPTests",
"path" : "Tests/SwiftUPnPTests",
"product_dependencies" : [
"Mocker"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/AVTransport1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/ConnectionManager1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/ContentDirectory1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/MediaServerDevice.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeConfig1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeCredentials1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeInfo1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeOAuth1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePins1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePlaylist1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomePlaylistManager1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeProduct1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeProduct2Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeRadio1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeReceiver1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeRendererDevice.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeSender1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeTime1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeTransport1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeVolume1Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/OpenHomeVolume2Service.xml",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/SwiftUPnPTests/Resources/RenderingControl1Service.xml",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"SwiftUPnPTests.swift"
],
"target_dependencies" : [
"SwiftUPnP"
],
"type" : "test"
},
{
"c99name" : "SwiftUPnP",
"module_type" : "SwiftTarget",
"name" : "SwiftUPnP",
"path" : "Source",
"product_dependencies" : [
"XMLCoder",
"Swifter",
"CocoaAsyncSocket"
],
"product_memberships" : [
"SwiftUPnP"
],
"sources" : [
"Profiles/AV Profile/AVTransport1Service.swift",
"Profiles/AV Profile/ConnectionManager1Service.swift",
"Profiles/AV Profile/ContentDirectory1Service+DIDL.swift",
"Profiles/AV Profile/ContentDirectory1Service.swift",
"Profiles/AV Profile/RenderingControl1Service.swift",
"Profiles/OpenHome Profile/OpenHomeConfig1Service.swift",
"Profiles/OpenHome Profile/OpenHomeCredentials1Service.swift",
"Profiles/OpenHome Profile/OpenHomeInfo1Service.swift",
"Profiles/OpenHome Profile/OpenHomeOAuth1Service.swift",
"Profiles/OpenHome Profile/OpenHomePins1Service.swift",
"Profiles/OpenHome Profile/OpenHomePlaylist1Service+DIDL.swift",
"Profiles/OpenHome Profile/OpenHomePlaylist1Service.swift",
"Profiles/OpenHome Profile/OpenHomePlaylistManager1Service.swift",
"Profiles/OpenHome Profile/OpenHomeProduct1Service.swift",
"Profiles/OpenHome Profile/OpenHomeProduct2Service.swift",
"Profiles/OpenHome Profile/OpenHomeRadio1Service.swift",
"Profiles/OpenHome Profile/OpenHomeReceiver1Service.swift",
"Profiles/OpenHome Profile/OpenHomeSender1Service.swift",
"Profiles/OpenHome Profile/OpenHomeTime1Service.swift",
"Profiles/OpenHome Profile/OpenHomeTransport1Service.swift",
"Profiles/OpenHome Profile/OpenHomeVolume1Service.swift",
"Profiles/OpenHome Profile/OpenHomeVolume2Service.swift",
"SSDP/SSDPCocoaAsyncSocketDiscovery.swift",
"SSDP/SSDPDiscovery.swift",
"SSDP/SSDPNetworkDiscovery.swift",
"SSDP/UserAgentGenerator.swift",
"Support/IPHelper.swift",
"Support/Publisher+Stream.swift",
"Support/XMLParserSupport.swift",
"UPnP/UPnPDevice.swift",
"UPnP/UPnPDeviceDefinition.swift",
"UPnP/UPnPRegistry.swift",
"UPnP/UPnPService.swift",
"UPnP/UPnPServiceDefinition.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.