The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of SwiftUPnP, reference main (a09b64), with Swift 6.1 for macOS (SPM) on 29 Jun 2025 09:46:07 UTC.

Swift 6 data race errors: 3

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 InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.64.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 a09b642 Fix warnings.
Cloned https://github.com/katoemba/SwiftUPnP.git
Revision (git rev-parse @):
a09b64244923477a938be9539bb255f36a80f5ba
SUCCESS checkout https://github.com/katoemba/SwiftUPnP.git at main
Fetching https://github.com/httpswift/swifter.git
[1/6050] Fetching swifter
Fetched https://github.com/httpswift/swifter.git from cache (1.46s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket.git
[1/6425] Fetching cocoaasyncsocket
Fetched https://github.com/robbiehanson/CocoaAsyncSocket.git from cache (1.27s)
Fetching https://github.com/CoreOffice/XMLCoder.git
Fetching https://github.com/WeTransfer/Mocker.git
[1/1889] Fetching mocker
[172/11949] Fetching mocker, xmlcoder
Fetched https://github.com/WeTransfer/Mocker.git from cache (1.12s)
Fetched https://github.com/CoreOffice/XMLCoder.git from cache (1.12s)
Computing version for https://github.com/WeTransfer/Mocker.git
Computed https://github.com/WeTransfer/Mocker.git at 3.0.2 (1.74s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.15.0 (0.62s)
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)
Creating working copy for https://github.com/CoreOffice/XMLCoder.git
Working copy of https://github.com/CoreOffice/XMLCoder.git resolved at 0.15.0
========================================
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": "swiftupnp",
      "name": "SwiftUPnP",
      "url": "https://github.com/katoemba/SwiftUPnP.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftUPnP",
      "dependencies": [
        {
          "identity": "xmlcoder",
          "name": "XMLCoder",
          "url": "https://github.com/CoreOffice/XMLCoder.git",
          "version": "0.17.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/XMLCoder",
          "dependencies": [
          ]
        },
        {
          "identity": "swifter",
          "name": "Swifter",
          "url": "https://github.com/httpswift/swifter.git",
          "version": "unspecified",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swifter",
          "dependencies": [
          ]
        },
        {
          "identity": "cocoaasyncsocket",
          "name": "CocoaAsyncSocket",
          "url": "https://github.com/robbiehanson/CocoaAsyncSocket.git",
          "version": "unspecified",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CocoaAsyncSocket",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/katoemba/SwiftUPnP.git
[1/567] Fetching swiftupnp
Fetched https://github.com/katoemba/SwiftUPnP.git from cache (0.76s)
Fetching https://github.com/httpswift/swifter.git from cache
Fetched https://github.com/httpswift/swifter.git from cache (0.54s)
Fetching https://github.com/robbiehanson/CocoaAsyncSocket.git from cache
Fetched https://github.com/robbiehanson/CocoaAsyncSocket.git from cache (0.48s)
Fetching https://github.com/CoreOffice/XMLCoder.git from cache
Fetched https://github.com/CoreOffice/XMLCoder.git from cache (0.40s)
Computing version for https://github.com/CoreOffice/XMLCoder.git
Computed https://github.com/CoreOffice/XMLCoder.git at 0.17.1 (0.45s)
Creating working copy for https://github.com/CoreOffice/XMLCoder.git
Working copy of https://github.com/CoreOffice/XMLCoder.git resolved at 0.17.1
Creating working copy for https://github.com/katoemba/SwiftUPnP.git
Working copy of https://github.com/katoemba/SwiftUPnP.git resolved at main (a09b642)
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)
Found 3 product dependencies
  - XMLCoder
  - Swifter
  - CocoaAsyncSocket
========================================
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 sources
[0/11] Write UPnPCodeGenerator-entitlement.plist
[0/11] Write sources
[5/11] Write swift-version-2F0A5646E1D333AE.txt
[6/76] Compiling CocoaAsyncSocket GCDAsyncUdpSocket.m
[7/76] Compiling CocoaAsyncSocket GCDAsyncSocket.m
[9/76] Emitting module XMLCoder
[10/81] Compiling XMLCoder XMLEncoderImplementation.swift
[11/81] Compiling XMLCoder XMLEncodingStorage.swift
[12/81] Compiling XMLCoder XMLKeyedEncodingContainer.swift
[13/81] Compiling XMLCoder XMLReferencingEncoder.swift
[14/81] Compiling XMLCoder XMLUnkeyedEncodingContainer.swift
[15/81] Compiling XMLCoder ElementAndAttribute.swift
[16/81] Compiling XMLCoder ISO8601DateFormatter.swift
[17/81] Compiling XMLCoder KeyedStorage.swift
[18/81] Compiling XMLCoder Metatypes.swift
[19/81] Compiling XMLCoder String+Extensions.swift
[20/81] Compiling XMLCoder XMLCoderElement.swift
[21/81] Compiling XMLCoder XMLDocumentType.swift
[22/83] Compiling XMLCoder URLBox.swift
[23/83] Compiling XMLCoder UnkeyedBox.swift
[24/83] Compiling XMLCoder DynamicNodeEncoding.swift
[25/83] Compiling XMLCoder EncodingErrorExtension.swift
[26/83] Compiling XMLCoder SingleValueEncodingContainer.swift
[27/83] Compiling XMLCoder DateBox.swift
[28/83] Compiling XMLCoder XMLChoiceEncodingContainer.swift
[29/83] Compiling XMLCoder DecimalBox.swift
[30/83] Compiling XMLCoder XMLEncoder.swift
[31/83] Compiling XMLCoder ValueBox.swift
[32/83] Compiling XMLCoder Element.swift
[33/83] Compiling XMLCoder DoubleBox.swift
[34/83] Compiling XMLCoder FloatBox.swift
[35/83] Compiling XMLCoder IntBox.swift
[36/83] Compiling XMLCoder UIntBox.swift
[37/83] Compiling XMLCoder KeyedBox.swift
[38/83] Compiling XMLCoder NullBox.swift
[39/83] Compiling XMLCoder XMLStackParser.swift
[40/83] Compiling XMLCoder DecodingErrorExtension.swift
[41/83] Compiling XMLCoder DynamicNodeDecoding.swift
[42/83] Compiling XMLCoder SingleValueDecodingContainer.swift
[43/83] Compiling XMLCoder XMLChoiceDecodingContainer.swift
[44/83] Compiling XMLCoder XMLDecoder.swift
[45/83] Compiling XMLCoder XMLDecoderImplementation.swift
[46/83] Compiling XMLCoder XMLDecodingStorage.swift
[47/83] Compiling XMLCoder XMLKeyedDecodingContainer.swift
[48/83] Compiling XMLCoder XMLUnkeyedDecodingContainer.swift
[51/83] Compiling XMLCoder SharedBox.swift
[52/83] Compiling XMLCoder SingleKeyedBox.swift
[53/83] Compiling XMLCoder StringBox.swift
[54/83] Compiling XMLCoder Attribute.swift
[55/83] Compiling XMLCoder BoolBox.swift
[56/83] Compiling XMLCoder Box.swift
[57/83] Compiling XMLCoder ChoiceBox.swift
[58/83] Compiling XMLCoder DataBox.swift
[59/83] Compiling XMLCoder XMLChoiceCodingKey.swift
[62/83] Compiling Swifter String+SHA1.swift
[63/83] Compiling Swifter WebSockets.swift
[69/83] Emitting module Swifter
[81/119] Compiling UPnPCodeGenerator SourceGenerator.swift
[82/119] Compiling UPnPCodeGenerator main.swift
[83/119] Compiling UPnPCodeGenerator ServiceDefinition.swift
[84/119] Emitting module UPnPCodeGenerator
[84/119] Write Objects.LinkFileList
[85/119] Linking UPnPCodeGenerator
[86/119] Applying UPnPCodeGenerator
[88/119] Compiling SwiftUPnP XMLParserSupport.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:136:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
134 |
135 |                 await service.loadScdp()
136 |                 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
137 |             }
138 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:87:25: warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
 85 |         let device = UPnPDevice(upnpDeviceDescription: upnpDeviceDescription)
 86 |
 87 |         if await device.loadServices() {
    |                         |- warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: sending main actor-isolated 'device' to nonisolated instance method 'loadServices()' risks causing data races between nonisolated and main actor-isolated uses
 88 |             device.servicesLoaded = true
 89 |             return device
[89/119] Compiling SwiftUPnP UPnPDevice.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:136:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
134 |
135 |                 await service.loadScdp()
136 |                 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
137 |             }
138 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:87:25: warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
 85 |         let device = UPnPDevice(upnpDeviceDescription: upnpDeviceDescription)
 86 |
 87 |         if await device.loadServices() {
    |                         |- warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: sending main actor-isolated 'device' to nonisolated instance method 'loadServices()' risks causing data races between nonisolated and main actor-isolated uses
 88 |             device.servicesLoaded = true
 89 |             return device
[90/119] Compiling SwiftUPnP UPnPDeviceDefinition.swift
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:136:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
134 |
135 |                 await service.loadScdp()
136 |                 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
137 |             }
138 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPDevice.swift:87:25: warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
 85 |         let device = UPnPDevice(upnpDeviceDescription: upnpDeviceDescription)
 86 |
 87 |         if await device.loadServices() {
    |                         |- warning: sending 'device' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: sending main actor-isolated 'device' to nonisolated instance method 'loadServices()' risks causing data races between nonisolated and main actor-isolated uses
 88 |             device.servicesLoaded = true
 89 |             return device
[91/122] Compiling SwiftUPnP OpenHomeReceiver1Service.swift
[92/122] Compiling SwiftUPnP OpenHomeSender1Service.swift
[93/122] Compiling SwiftUPnP OpenHomeTime1Service.swift
[94/122] 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:101: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
 99 |         }
100 |
101 |         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
102 |             await startHTTPServerIfNotRunning()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
104 |             discoveryEngine.searchRequest()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:102:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
100 |
101 |         Task {
102 |             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
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
    |                 `- note: access can happen concurrently
104 |             discoveryEngine.searchRequest()
105 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:109: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
107 |
108 |     public func stopDiscovery() {
109 |         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
110 |             await stopHTTPServer()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
111 |             await MainActor.run {
112 |                 devices.removeAll(keepingCapacity: false)
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:110:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
108 |     public func stopDiscovery() {
109 |         Task {
110 |             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
111 |             await MainActor.run {
    |                                 `- note: access can happen concurrently
112 |                 devices.removeAll(keepingCapacity: false)
113 |             }
[95/122] 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:101: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
 99 |         }
100 |
101 |         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
102 |             await startHTTPServerIfNotRunning()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
104 |             discoveryEngine.searchRequest()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:102:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
100 |
101 |         Task {
102 |             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
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
    |                 `- note: access can happen concurrently
104 |             discoveryEngine.searchRequest()
105 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:109: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
107 |
108 |     public func stopDiscovery() {
109 |         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
110 |             await stopHTTPServer()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
111 |             await MainActor.run {
112 |                 devices.removeAll(keepingCapacity: false)
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:110:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
108 |     public func stopDiscovery() {
109 |         Task {
110 |             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
111 |             await MainActor.run {
    |                                 `- note: access can happen concurrently
112 |                 devices.removeAll(keepingCapacity: false)
113 |             }
[96/122] 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:101: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
 99 |         }
100 |
101 |         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
102 |             await startHTTPServerIfNotRunning()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
104 |             discoveryEngine.searchRequest()
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:102:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
100 |
101 |         Task {
102 |             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
103 |             try discoveryEngine.startDiscovery(forTypes: filteredTypes)
    |                 `- note: access can happen concurrently
104 |             discoveryEngine.searchRequest()
105 |         }
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:109: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
107 |
108 |     public func stopDiscovery() {
109 |         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
110 |             await stopHTTPServer()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
111 |             await MainActor.run {
112 |                 devices.removeAll(keepingCapacity: false)
/Users/admin/builder/spi-builder-workspace/Source/UPnP/UPnPRegistry.swift:110:19: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
108 |     public func stopDiscovery() {
109 |         Task {
110 |             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
111 |             await MainActor.run {
    |                                 `- note: access can happen concurrently
112 |                 devices.removeAll(keepingCapacity: false)
113 |             }
[97/122] Emitting module SwiftUPnP
/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
[98/122] 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
[99/122] 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
[100/122] 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
[101/122] 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 |         }
[102/122] 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 |         }
[103/122] 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 |         }
[104/122] Compiling SwiftUPnP OpenHomeTransport1Service.swift
[105/122] Compiling SwiftUPnP OpenHomeVolume1Service.swift
[106/122] Compiling SwiftUPnP OpenHomeVolume2Service.swift
[107/122] Compiling SwiftUPnP AVTransport1Service.swift
[108/122] Compiling SwiftUPnP ConnectionManager1Service.swift
[109/122] Compiling SwiftUPnP ContentDirectory1Service+DIDL.swift
[110/122] Compiling SwiftUPnP ContentDirectory1Service.swift
[111/122] Compiling SwiftUPnP OpenHomeOAuth1Service.swift
[112/122] Compiling SwiftUPnP OpenHomePins1Service.swift
[113/122] Compiling SwiftUPnP OpenHomePlaylist1Service+DIDL.swift
[114/122] Compiling SwiftUPnP OpenHomePlaylist1Service.swift
[115/122] Compiling SwiftUPnP RenderingControl1Service.swift
[116/122] Compiling SwiftUPnP OpenHomeConfig1Service.swift
[117/122] Compiling SwiftUPnP OpenHomeCredentials1Service.swift
[118/122] Compiling SwiftUPnP OpenHomeInfo1Service.swift
[119/122] Compiling SwiftUPnP OpenHomePlaylistManager1Service.swift
[120/122] Compiling SwiftUPnP OpenHomeProduct1Service.swift
[121/122] Compiling SwiftUPnP OpenHomeProduct2Service.swift
[122/122] Compiling SwiftUPnP OpenHomeRadio1Service.swift
Build complete! (16.71s)
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.