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 0.2.0 (e42b59), with Swift 6.0 for macOS (SPM) on 14 Sep 2024 23:03:56 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: 0.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sqrt0b1000/WledLib
 * tag               0.2.0      -> FETCH_HEAD
HEAD is now at e42b59b Add minimum iOS version
Cloned https://github.com/sqrt0b1000/WledLib.git
Revision (git rev-parse @):
e42b59bac33cef222b44e56671bd9b9bf8fcde66
SUCCESS checkout https://github.com/sqrt0b1000/WledLib.git at 0.2.0
========================================
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 MetadataProvider.swift
[5/8] Compiling Logging Logging.swift
[6/8] Compiling Logging Locks.swift
[7/8] Emitting module Logging
[8/8] Compiling Logging LogHandler.swift
[9/32] Compiling WledLib PresetsExtension.swift
[10/32] Compiling WledLib SuccessMessageExtension.swift
[11/32] Compiling WledLib WledStateExtension.swift
[12/32] Compiling WledLib SuccessMessage.swift
[13/32] Compiling WledLib Wifi.swift
[14/32] Compiling WledLib DeviceExtension.swift
[15/32] Compiling WledLib Connection.swift
[16/32] Compiling WledLib ConnectionSheme.swift
[17/32] Compiling WledLib WledHTTPGet.swift
[18/32] Compiling WledLib WledHTTPPost.swift
[19/34] Compiling WledLib Device.swift
[20/34] Compiling WledLib FileSystem.swift
[21/34] Compiling WledLib Info.swift
[22/34] Emitting module WledLib
[23/34] Compiling WledLib Presets.swift
[24/34] Compiling WledLib Segment.swift
[25/34] Compiling WledLib State.swift
[26/34] Compiling WledLib WledHTTPResponse.swift
[27/34] Compiling WledLib WledWebSocketData.swift
[28/34] Compiling WledLib Leds.swift
[29/34] Compiling WledLib Nightlight.swift
[30/34] Compiling WledLib Preset.swift
[31/34] 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 |
[32/34] 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 |
[33/34] Compiling WledLib WledHost.swift
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:60: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
 58 |         let task = URLSession.shared.dataTask(with: request) { data, response, error in
 59 |             if let error = error {
 60 |                 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'
 61 |                 return
 62 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:63:28: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 61 |                 return
 62 |             }
 63 |             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
 64 |                 handleError(error)
 65 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:74: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
 72 |             do {
 73 |                 let data = try JSONDecoder().decode(G.self, from: data)
 74 |                 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'
 75 |             } catch {
 76 |                 handleError(error)
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:105: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
103 |
104 |             if let error = error {
105 |                 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'
106 |                 return
107 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:108:28: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |                 return
107 |             }
108 |             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
109 |                 handleError(error)
110 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:118: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
116 |             do {
117 |                 let data = try JSONDecoder().decode(R.self, from: data)
118 |                 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'
119 |             } catch {
120 |                 handleError(error)
[34/34] Compiling WledLib WledHostHTTP.swift
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:60: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
 58 |         let task = URLSession.shared.dataTask(with: request) { data, response, error in
 59 |             if let error = error {
 60 |                 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'
 61 |                 return
 62 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:63:28: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 61 |                 return
 62 |             }
 63 |             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
 64 |                 handleError(error)
 65 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:74: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
 72 |             do {
 73 |                 let data = try JSONDecoder().decode(G.self, from: data)
 74 |                 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'
 75 |             } catch {
 76 |                 handleError(error)
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:105: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
103 |
104 |             if let error = error {
105 |                 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'
106 |                 return
107 |             }
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:108:28: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
106 |                 return
107 |             }
108 |             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
109 |                 handleError(error)
110 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/WledLib/WledHost/WledHostHTTP.swift:118: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
116 |             do {
117 |                 let data = try JSONDecoder().decode(R.self, from: data)
118 |                 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'
119 |             } catch {
120 |                 handleError(error)
Build complete! (12.43s)
Fetching https://github.com/apple/swift-log.git
[1/3586] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (1.09s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.1 (0.50s)
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",
        "ProtocolExtensions/DeviceExtension.swift",
        "ProtocolExtensions/PresetsExtension.swift",
        "ProtocolExtensions/SuccessMessageExtension.swift",
        "ProtocolExtensions/WledStateExtension.swift",
        "Protocols/WledHTTPGet.swift",
        "Protocols/WledHTTPPost.swift",
        "Protocols/WledHTTPResponse.swift",
        "Protocols/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.