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 Pocket, reference 1.1.0 (c19cac), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 07:11:05 UTC.

Swift 6 data race errors: 1

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/sgade/swift-pocket.git
Reference: 1.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/sgade/swift-pocket
 * tag               1.1.0      -> FETCH_HEAD
HEAD is now at c19cac4 Remove completion-block functions in favor of async/await.
Cloned https://github.com/sgade/swift-pocket.git
Revision (git rev-parse @):
c19cac468490129f8a7dbeceb278688ef0a64f33
SUCCESS checkout https://github.com/sgade/swift-pocket.git at 1.1.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": "swift-pocket",
      "name": "Pocket",
      "url": "https://github.com/sgade/swift-pocket.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-pocket",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/sgade/swift-pocket.git
[1/193] Fetching swift-pocket
Fetched https://github.com/sgade/swift-pocket.git from cache (0.64s)
Creating working copy for https://github.com/sgade/swift-pocket.git
Working copy of https://github.com/sgade/swift-pocket.git resolved at 1.1.0 (c19cac4)
warning: '.resolve-product-dependencies': dependency 'swift-pocket' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/sgade/swift-pocket.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/14] Compiling Pocket StringBool.swift
[4/15] Compiling Pocket ObjectList.swift
[5/15] Compiling Pocket Pocket.swift
[6/15] Compiling Pocket Pocket+Modify.swift
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:110:24: warning: capture of 'completion' with non-sendable type '(Result<Pocket.SendResponse, any Error>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |         let task = URLSession.shared.dataTask(with: request) { data, response, error in
109 |             guard error == nil else {
110 |                 return completion(.failure(error!))
    |                        |- warning: capture of 'completion' with non-sendable type '(Result<Pocket.SendResponse, 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'
111 |             }
112 |             guard let data = data else {
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:186:56: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
184 |     public func add(items: [AddItemParameters]) async throws -> ModifyItemsResults {
185 |         try await withCheckedThrowingContinuation { continuation in
186 |             add(items: items, completion: continuation.resume)
    |                                                        |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                        `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:202:64: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
200 |     public func archive(itemIds: [StringInt]) async throws -> ModifyItemsResults {
201 |         try await withCheckedThrowingContinuation { continuation in
202 |             archive(itemIds: itemIds, completion: continuation.resume(with:))
    |                                                                |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                                `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
203 |         }
204 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:219:62: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
217 |     public func readd(itemIds: [StringInt]) async throws -> ModifyItemsResults {
218 |         try await withCheckedThrowingContinuation { continuation in
219 |             readd(itemIds: itemIds, completion: continuation.resume)
    |                                                              |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                              `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
220 |         }
221 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:236:65: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
234 |     public func favorite(itemIds: [StringInt]) async throws -> ModifyItemsResults {
235 |         try await withCheckedThrowingContinuation { continuation in
236 |             favorite(itemIds: itemIds, completion: continuation.resume)
    |                                                                 |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                                 `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
237 |         }
238 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:253:67: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
251 |     public func unfavorite(itemIds: [StringInt]) async throws -> ModifyItemsResults {
252 |         try await withCheckedThrowingContinuation { continuation in
253 |             unfavorite(itemIds: itemIds, completion: continuation.resume)
    |                                                                   |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                                   `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
254 |         }
255 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:270:63: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
268 |     public func delete(itemIds: [StringInt]) async throws -> ModifyItemsResults {
269 |         try await withCheckedThrowingContinuation { continuation in
270 |             delete(itemIds: itemIds, completion: continuation.resume)
    |                                                               |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                               `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
271 |         }
272 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:323:67: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
321 |     public func add(tags: [String], to itemIds: [StringInt]) async throws -> ModifyItemsResults {
322 |         try await withCheckedThrowingContinuation { continuation in
323 |             add(tags: tags, to: itemIds, completion: continuation.resume)
    |                                                                   |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                                   `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
324 |         }
325 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:340:72: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
338 |     public func remove(tags: [String], from itemIds: [StringInt]) async throws -> ModifyItemsResults {
339 |         try await withCheckedThrowingContinuation { continuation in
340 |             remove(tags: tags, from: itemIds, completion: continuation.resume)
    |                                                                        |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                                        `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
341 |         }
342 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:357:71: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
355 |     public func replace(tags: [String], on itemIds: [StringInt]) async throws -> ModifyItemsResults {
356 |         try await withCheckedThrowingContinuation { continuation in
357 |             replace(tags: tags, on: itemIds, completion: continuation.resume)
    |                                                                       |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                                       `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
358 |         }
359 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:374:66: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
372 |     public func clearTags(itemIds: [StringInt]) async throws -> ModifyItemsResults {
373 |         try await withCheckedThrowingContinuation { continuation in
374 |             clearTags(itemIds: itemIds, completion: continuation.resume)
    |                                                                  |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                                  `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
375 |         }
376 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:417:74: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
415 |     public func renameTag(from oldTag: String, to newTag: String) async throws -> ModifyItemsResults {
416 |         try await withCheckedThrowingContinuation { continuation in
417 |             renameTag(from: oldTag, to: newTag, completion: continuation.resume)
    |                                                                          |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                                          `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
418 |         }
419 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Pocket+Modify.swift:448:55: warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
446 |     public func delete(tag: String) async throws -> ModifyItemsResults {
447 |         try await withCheckedThrowingContinuation { continuation in
448 |             delete(tag: tag, completion: continuation.resume)
    |                                                       |- warning: converting a value of type '(__shared sending Result<Pocket.ModifyItemsResults, any Error>) -> ()' (aka '(__shared sending Result<Array<Bool>, any Error>) -> ()') to type '(Result<Pocket.ModifyItemsResults, any Error>) -> Void' (aka '(Result<Array<Bool>, any Error>) -> ()') risks causing data races; this is an error in the Swift 6 language mode
    |                                                       `- note: converting a function typed value with a sending parameter to one without risks allowing actor-isolated values to escape their isolation domain as an argument to an invocation of value
449 |         }
450 |     }
[7/15] Compiling Pocket Pocket+Retrieve.swift
[8/15] Compiling Pocket Status.swift
[9/15] Compiling Pocket Pocket+Authentication.swift
[10/15] Compiling Pocket AddedItem.swift
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Errors.swift:16:14: warning: associated value 'invalid(value:parameter:)' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
14 |     public enum Errors: Error {
15 |
16 |         case invalid(value: Any, parameter: String)
   |              `- warning: associated value 'invalid(value:parameter:)' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
17 |         case notAuthenticated
18 |         case unsuccessfulResponse
[11/15] Compiling Pocket Errors.swift
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Errors.swift:16:14: warning: associated value 'invalid(value:parameter:)' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
14 |     public enum Errors: Error {
15 |
16 |         case invalid(value: Any, parameter: String)
   |              `- warning: associated value 'invalid(value:parameter:)' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
17 |         case notAuthenticated
18 |         case unsuccessfulResponse
[12/15] Emitting module Pocket
/Users/admin/builder/spi-builder-workspace/Sources/Pocket/Errors.swift:16:14: warning: associated value 'invalid(value:parameter:)' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
14 |     public enum Errors: Error {
15 |
16 |         case invalid(value: Any, parameter: String)
   |              `- warning: associated value 'invalid(value:parameter:)' of 'Sendable'-conforming enum 'Errors' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
17 |         case notAuthenticated
18 |         case unsuccessfulResponse
[13/15] Compiling Pocket Item.swift
[14/15] Compiling Pocket Pocket+Add.swift
[15/15] Compiling Pocket StringInt.swift
Build complete! (17.39s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Pocket",
  "name" : "Pocket",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "15.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "15.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    }
  ],
  "products" : [
    {
      "name" : "Pocket",
      "targets" : [
        "Pocket"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PocketTests",
      "module_type" : "SwiftTarget",
      "name" : "PocketTests",
      "path" : "Tests/PocketTests",
      "sources" : [
        "PocketTests.swift"
      ],
      "target_dependencies" : [
        "Pocket"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Pocket",
      "module_type" : "SwiftTarget",
      "name" : "Pocket",
      "path" : "Sources/Pocket",
      "product_memberships" : [
        "Pocket"
      ],
      "sources" : [
        "AddedItem.swift",
        "Errors.swift",
        "Item.swift",
        "Pocket+Add.swift",
        "Pocket+Authentication.swift",
        "Pocket+Modify.swift",
        "Pocket+Retrieve.swift",
        "Pocket.swift",
        "Types/ObjectList.swift",
        "Types/Status.swift",
        "Types/StringBool.swift",
        "Types/StringInt.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.