The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of WledLib, reference main (35dffc), with Swift 6.0 for macOS (SPM) on 14 Sep 2024 23:04:17 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.53.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sqrt0b1000/WledLib.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sqrt0b1000/WledLib
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 35dffc2 Add ip-address frield to info struct
Cloned https://github.com/sqrt0b1000/WledLib.git
Revision (git rev-parse @):
35dffc22f913f4341a83f9dd76de650813d93316
SUCCESS checkout https://github.com/sqrt0b1000/WledLib.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/sqrt0b1000/WledLib.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-117DEE11B69C53C9.txt
[4/8] Compiling Logging LogHandler.swift
[5/8] Compiling Logging Locks.swift
[6/8] Compiling Logging Logging.swift
[7/8] Emitting module Logging
[8/8] Compiling Logging MetadataProvider.swift
[9/33] Compiling WledLib Connection.swift
[10/33] Compiling WledLib ConnectionSheme.swift
[11/35] Compiling WledLib Device.swift
[12/35] Compiling WledLib FileSystem.swift
[13/35] Compiling WledLib Info.swift
[14/35] Emitting module WledLib
[15/35] Compiling WledLib Leds.swift
[16/35] Compiling WledLib Nightlight.swift
[17/35] Compiling WledLib Preset.swift
[18/35] Compiling WledLib WledStateExtension.swift
[19/35] Compiling WledLib WledHTTPGet.swift
[20/35] Compiling WledLib WledHTTPPost.swift
[21/35] Compiling WledLib WledHTTPResponse.swift
[22/35] Compiling WledLib WledWebSocketData.swift
[23/35] Compiling WledLib WledHost.swift
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:71:17: warning: capture of 'handleError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 69 |         let task = URLSession.shared.dataTask(with: request) { data, response, error in
 70 |             if let error = error {
 71 |                 handleError(error)
    |                 |- warning: capture of 'handleError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 72 |                 return
 73 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:74:28: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 72 |                 return
 73 |             }
 74 |             if let error = validateResponse(response: response) {
    |                            `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 75 |                 handleError(error)
 76 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:88:17: warning: capture of 'handleData' with non-sendable type '(G) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 |                 WledHostConstants.LOGGER.debug("Data got: \(String(reflecting: data))")
 87 |                 #endif
 88 |                 handleData(data)
    |                 |- warning: capture of 'handleData' with non-sendable type '(G) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 89 |                 #if DEBUG
 90 |                 WledHostConstants.LOGGER.debug("Handle data successful")
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:129:17: warning: capture of 'handleError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
127 |
128 |             if let error = error {
129 |                 handleError(error)
    |                 |- warning: capture of 'handleError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
130 |                 return
131 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:132:28: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 return
131 |             }
132 |             if let error = validateResponse(response: response) {
    |                            `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |                 handleError(error)
134 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:145:17: warning: capture of 'handleData' with non-sendable type '(R) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |                 WledHostConstants.LOGGER.debug("Respond received: \(String(reflecting: data))")
144 |                 #endif
145 |                 handleData(data)
    |                 |- warning: capture of 'handleData' with non-sendable type '(R) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
146 |                 #if DEBUG
147 |                 WledHostConstants.LOGGER.debug("Response successful handled")
[24/35] Compiling WledLib WledHostHTTP.swift
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:71:17: warning: capture of 'handleError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 69 |         let task = URLSession.shared.dataTask(with: request) { data, response, error in
 70 |             if let error = error {
 71 |                 handleError(error)
    |                 |- warning: capture of 'handleError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 72 |                 return
 73 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:74:28: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 72 |                 return
 73 |             }
 74 |             if let error = validateResponse(response: response) {
    |                            `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 75 |                 handleError(error)
 76 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:88:17: warning: capture of 'handleData' with non-sendable type '(G) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 |                 WledHostConstants.LOGGER.debug("Data got: \(String(reflecting: data))")
 87 |                 #endif
 88 |                 handleData(data)
    |                 |- warning: capture of 'handleData' with non-sendable type '(G) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 89 |                 #if DEBUG
 90 |                 WledHostConstants.LOGGER.debug("Handle data successful")
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:129:17: warning: capture of 'handleError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
127 |
128 |             if let error = error {
129 |                 handleError(error)
    |                 |- warning: capture of 'handleError' with non-sendable type '(any Error) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
130 |                 return
131 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:132:28: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |                 return
131 |             }
132 |             if let error = validateResponse(response: response) {
    |                            `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |                 handleError(error)
134 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:145:17: warning: capture of 'handleData' with non-sendable type '(R) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
143 |                 WledHostConstants.LOGGER.debug("Respond received: \(String(reflecting: data))")
144 |                 #endif
145 |                 handleData(data)
    |                 |- warning: capture of 'handleData' with non-sendable type '(R) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
146 |                 #if DEBUG
147 |                 WledHostConstants.LOGGER.debug("Response successful handled")
[25/35] Compiling WledLib WledHostURL.swift
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostWebSocket.swift:30:41: warning: converting non-sendable function value to '@Sendable (Result<URLSessionWebSocketTask.Message, any Error>) -> Void' may introduce data races
28 |         }
29 |
30 |         task.receive(completionHandler: handler)
   |                                         `- warning: converting non-sendable function value to '@Sendable (Result<URLSessionWebSocketTask.Message, any Error>) -> Void' may introduce data races
31 |         task.resume()
32 |
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostWebSocket.swift:71:45: warning: converting non-sendable function value to '@Sendable (Result<URLSessionWebSocketTask.Message, any Error>) -> Void' may introduce data races
69 |                 )
70 |             }
71 |             task.receive(completionHandler: handler)
   |                                             `- warning: converting non-sendable function value to '@Sendable (Result<URLSessionWebSocketTask.Message, any Error>) -> Void' may introduce data races
72 |         }
73 |
[26/35] Compiling WledLib WledHostWebSocket.swift
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostWebSocket.swift:30:41: warning: converting non-sendable function value to '@Sendable (Result<URLSessionWebSocketTask.Message, any Error>) -> Void' may introduce data races
28 |         }
29 |
30 |         task.receive(completionHandler: handler)
   |                                         `- warning: converting non-sendable function value to '@Sendable (Result<URLSessionWebSocketTask.Message, any Error>) -> Void' may introduce data races
31 |         task.resume()
32 |
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostWebSocket.swift:71:45: warning: converting non-sendable function value to '@Sendable (Result<URLSessionWebSocketTask.Message, any Error>) -> Void' may introduce data races
69 |                 )
70 |             }
71 |             task.receive(completionHandler: handler)
   |                                             `- warning: converting non-sendable function value to '@Sendable (Result<URLSessionWebSocketTask.Message, any Error>) -> Void' may introduce data races
72 |         }
73 |
[27/35] Compiling WledLib Presets.swift
[28/35] Compiling WledLib Segment.swift
[29/35] Compiling WledLib State.swift
[30/35] Compiling WledLib DeviceExtension.swift
[31/35] Compiling WledLib PresetsExtension.swift
[32/35] Compiling WledLib SuccessMessageExtension.swift
[33/35] Compiling WledLib SuccessMessage.swift
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/Discovery/DiscoveryService.swift:38:36: warning: converting non-sendable function value to '@Sendable (NWBrowser.State) -> Void' may introduce data races
 36 |
 37 |         browser = NWBrowser(for: bonjourTCP, using: bonjourParms)
 38 |         browser.stateUpdateHandler = self.hanlderUpdate(_:)
    |                                    `- warning: converting non-sendable function value to '@Sendable (NWBrowser.State) -> Void' may introduce data races
 39 |         browser.browseResultsChangedHandler = self.browserResultHandler(_:_:)
 40 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/Discovery/DiscoveryService.swift:39:45: warning: converting non-sendable function value to '@Sendable (Set<NWBrowser.Result>, Set<NWBrowser.Result.Change>) -> Void' may introduce data races
 37 |         browser = NWBrowser(for: bonjourTCP, using: bonjourParms)
 38 |         browser.stateUpdateHandler = self.hanlderUpdate(_:)
 39 |         browser.browseResultsChangedHandler = self.browserResultHandler(_:_:)
    |                                             `- warning: converting non-sendable function value to '@Sendable (Set<NWBrowser.Result>, Set<NWBrowser.Result.Change>) -> Void' may introduce data races
 40 |     }
 41 |
[34/35] Compiling WledLib Wifi.swift
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/Discovery/DiscoveryService.swift:38:36: warning: converting non-sendable function value to '@Sendable (NWBrowser.State) -> Void' may introduce data races
 36 |
 37 |         browser = NWBrowser(for: bonjourTCP, using: bonjourParms)
 38 |         browser.stateUpdateHandler = self.hanlderUpdate(_:)
    |                                    `- warning: converting non-sendable function value to '@Sendable (NWBrowser.State) -> Void' may introduce data races
 39 |         browser.browseResultsChangedHandler = self.browserResultHandler(_:_:)
 40 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/Discovery/DiscoveryService.swift:39:45: warning: converting non-sendable function value to '@Sendable (Set<NWBrowser.Result>, Set<NWBrowser.Result.Change>) -> Void' may introduce data races
 37 |         browser = NWBrowser(for: bonjourTCP, using: bonjourParms)
 38 |         browser.stateUpdateHandler = self.hanlderUpdate(_:)
 39 |         browser.browseResultsChangedHandler = self.browserResultHandler(_:_:)
    |                                             `- warning: converting non-sendable function value to '@Sendable (Set<NWBrowser.Result>, Set<NWBrowser.Result.Change>) -> Void' may introduce data races
 40 |     }
 41 |
[35/35] Compiling WledLib DiscoveryService.swift
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/Discovery/DiscoveryService.swift:38:36: warning: converting non-sendable function value to '@Sendable (NWBrowser.State) -> Void' may introduce data races
 36 |
 37 |         browser = NWBrowser(for: bonjourTCP, using: bonjourParms)
 38 |         browser.stateUpdateHandler = self.hanlderUpdate(_:)
    |                                    `- warning: converting non-sendable function value to '@Sendable (NWBrowser.State) -> Void' may introduce data races
 39 |         browser.browseResultsChangedHandler = self.browserResultHandler(_:_:)
 40 |     }
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/Discovery/DiscoveryService.swift:39:45: warning: converting non-sendable function value to '@Sendable (Set<NWBrowser.Result>, Set<NWBrowser.Result.Change>) -> Void' may introduce data races
 37 |         browser = NWBrowser(for: bonjourTCP, using: bonjourParms)
 38 |         browser.stateUpdateHandler = self.hanlderUpdate(_:)
 39 |         browser.browseResultsChangedHandler = self.browserResultHandler(_:_:)
    |                                             `- warning: converting non-sendable function value to '@Sendable (Set<NWBrowser.Result>, Set<NWBrowser.Result.Change>) -> Void' may introduce data races
 40 |     }
 41 |
Build complete! (11.81s)
Fetching https://github.com/apple/swift-log.git
[1/3586] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (1.14s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.1 (0.48s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.1
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log.git"
    }
  ],
  "manifest_display_name" : "WledLib",
  "name" : "WledLib",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "WledLib",
      "targets" : [
        "WledLib"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "WledLib",
      "module_type" : "SwiftTarget",
      "name" : "WledLib",
      "path" : "Sources/WledLib",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "WledLib"
      ],
      "sources" : [
        "DataStructs/Device.swift",
        "DataStructs/FileSystem.swift",
        "DataStructs/Info.swift",
        "DataStructs/Leds.swift",
        "DataStructs/Nightlight.swift",
        "DataStructs/Preset.swift",
        "DataStructs/Presets.swift",
        "DataStructs/Segment.swift",
        "DataStructs/State.swift",
        "DataStructs/SuccessMessage.swift",
        "DataStructs/Wifi.swift",
        "Discovery/DiscoveryService.swift",
        "ProtocolExtensions/DeviceExtension.swift",
        "ProtocolExtensions/PresetsExtension.swift",
        "ProtocolExtensions/SuccessMessageExtension.swift",
        "ProtocolExtensions/WledStateExtension.swift",
        "Protocols/WledHTTPGet.swift",
        "Protocols/WledHTTPPost.swift",
        "Protocols/WledHTTPResponse.swift",
        "UpdateProtocols/WledWebSocketData.swift",
        "WledHost/Connection.swift",
        "WledHost/ConnectionSheme.swift",
        "WledHost/WledHost.swift",
        "WledHost/WledHostHTTP.swift",
        "WledHost/WledHostURL.swift",
        "WledHost/WledHostWebSocket.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Done.