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 swift-package-directory, reference master (cdc4af), with Swift 6.1 for macOS (SPM) on 26 Apr 2025 08:07:02 UTC.

Swift 6 data race errors: 1

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.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bitwit/swift-package-directory.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/bitwit/swift-package-directory
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at cdc4af4 Update README.md
Cloned https://github.com/bitwit/swift-package-directory.git
Revision (git rev-parse @):
cdc4af47a55d992cfed378d88fac6d3416f2b332
SUCCESS checkout https://github.com/bitwit/swift-package-directory.git at master
Fetching https://github.com/mxcl/PromiseKit.git
[1/17186] Fetching promisekit
Fetched https://github.com/mxcl/PromiseKit.git from cache (1.53s)
Computing version for https://github.com/mxcl/PromiseKit.git
Computed https://github.com/mxcl/PromiseKit.git at 6.22.1 (2.25s)
Creating working copy for https://github.com/mxcl/PromiseKit.git
Working copy of https://github.com/mxcl/PromiseKit.git resolved at 6.22.1
========================================
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-package-directory",
      "name": "swift-package-directory",
      "url": "https://github.com/bitwit/swift-package-directory.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-package-directory",
      "dependencies": [
        {
          "identity": "promisekit",
          "name": "PromiseKit",
          "url": "https://github.com/mxcl/PromiseKit.git",
          "version": "6.22.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PromiseKit",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/bitwit/swift-package-directory.git
[1/1000] Fetching swift-package-directory
Fetched https://github.com/bitwit/swift-package-directory.git from cache (1.19s)
Fetching https://github.com/mxcl/PromiseKit.git from cache
Fetched https://github.com/mxcl/PromiseKit.git from cache (0.49s)
Computing version for https://github.com/mxcl/PromiseKit.git
Computed https://github.com/mxcl/PromiseKit.git at 6.22.1 (0.56s)
Creating working copy for https://github.com/bitwit/swift-package-directory.git
Working copy of https://github.com/bitwit/swift-package-directory.git resolved at master (cdc4af4)
Creating working copy for https://github.com/mxcl/PromiseKit.git
Working copy of https://github.com/mxcl/PromiseKit.git resolved at 6.22.1
warning: '.resolve-product-dependencies': dependency 'swift-package-directory' is not used by any target
Found 1 product dependencies
  - PromiseKit
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/bitwit/swift-package-directory.git
https://github.com/bitwit/swift-package-directory.git
{
  "dependencies" : [
    {
      "identity" : "promisekit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "6.3.1",
            "upper_bound" : "7.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mxcl/PromiseKit.git"
    }
  ],
  "manifest_display_name" : "swift-package-directory",
  "name" : "swift-package-directory",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SPDCore",
      "targets" : [
        "SPDCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SPDCorePlayground",
      "targets" : [
        "SPDCorePlayground"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SPDCorePlayground",
      "module_type" : "SwiftTarget",
      "name" : "SPDCorePlayground",
      "path" : "Sources/SPDCorePlayground",
      "product_memberships" : [
        "SPDCorePlayground"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SPDCore"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "SPDCore",
      "module_type" : "SwiftTarget",
      "name" : "SPDCore",
      "path" : "Sources/SPDCore",
      "product_dependencies" : [
        "PromiseKit"
      ],
      "product_memberships" : [
        "SPDCore",
        "SPDCorePlayground"
      ],
      "sources" : [
        "Data Structures/DataStructures.swift",
        "Data Structures/Package.swift",
        "Functions/URLRequest+Curl.swift",
        "Functions/WhiskWrap.swift",
        "Functions/performRequest.swift",
        "Services/Cloudant.swift",
        "Services/GitHub.swift",
        "Services/PackageCrawler.swift",
        "Services/PackageManager.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
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/8] Write sources
[2/8] Write SPDCorePlayground-entitlement.plist
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/25] Compiling PromiseKit Async.swift
[7/25] Compiling PromiseKit Box.swift
[8/25] Compiling PromiseKit Catchable.swift
[9/25] Compiling PromiseKit Combine.swift
[10/26] Emitting module PromiseKit
[11/26] Compiling PromiseKit race.swift
[12/26] Compiling PromiseKit after.swift
[13/26] Compiling PromiseKit firstly.swift
[14/26] Compiling PromiseKit Resolver.swift
[15/26] Compiling PromiseKit Thenable.swift
[16/26] Compiling PromiseKit hang.swift
[17/26] Compiling PromiseKit Error.swift
[18/26] Compiling PromiseKit Guarantee.swift
[19/26] Compiling PromiseKit Configuration.swift
[20/26] Compiling PromiseKit CustomStringConvertible.swift
[21/26] Compiling PromiseKit LogEvent.swift
[22/26] Compiling PromiseKit Promise.swift
[23/26] Compiling PromiseKit when.swift
[24/36] Compiling SPDCore DataStructures.swift
[25/36] Emitting module SPDCore
/Users/admin/builder/spi-builder-workspace/Sources/SPDCore/Functions/URLRequest+Curl.swift:12:5: warning: 'public' modifier is redundant for property declared in a public extension
10 |     /// Returns a cURL command for a request
11 |     /// - return A String object that contains cURL command or "" if an URL is not properly initalized.
12 |     public var cURL: String {
   |     `- warning: 'public' modifier is redundant for property declared in a public extension
13 |
14 |         guard
/Users/admin/builder/spi-builder-workspace/Sources/SPDCore/Functions/performRequest.swift:6:23: warning: static property 'callCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 | public class Networking {
 5 |
 6 |     public static var callCount = [String: Int]()
   |                       |- warning: static property 'callCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'callCount' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'callCount' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     public static func reportCallCount() {
[26/36] Compiling SPDCore WhiskWrap.swift
[27/36] Compiling SPDCore PackageCrawler.swift
[28/36] Compiling SPDCore performRequest.swift
/Users/admin/builder/spi-builder-workspace/Sources/SPDCore/Functions/performRequest.swift:6:23: warning: static property 'callCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 | public class Networking {
 5 |
 6 |     public static var callCount = [String: Int]()
   |                       |- warning: static property 'callCount' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'callCount' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: add '@MainActor' to make static property 'callCount' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     public static func reportCallCount() {
/Users/admin/builder/spi-builder-workspace/Sources/SPDCore/Functions/performRequest.swift:21:21: warning: capture of 'resolver' with non-sendable type 'Resolver<T>' in a '@Sendable' closure
19 |
20 |                 if let err = error {
21 |                     resolver.reject(err)
   |                     `- warning: capture of 'resolver' with non-sendable type 'Resolver<T>' in a '@Sendable' closure
22 |                     return
23 |                 }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/PromiseKit/Sources/Resolver.swift:2:20: note: generic class 'Resolver' does not conform to the 'Sendable' protocol
  1 | /// An object for resolving promises
  2 | public final class Resolver<T> {
    |                    `- note: generic class 'Resolver' does not conform to the 'Sendable' protocol
  3 |     let box: Box<Result<T>>
  4 |
/Users/admin/builder/spi-builder-workspace/Sources/SPDCore/Functions/performRequest.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PromiseKit'
 1 | import Foundation
 2 | import PromiseKit
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'PromiseKit'
 3 |
 4 | public class Networking {
[29/36] Compiling SPDCore PackageManager.swift
[30/36] Compiling SPDCore Package.swift
[31/36] Compiling SPDCore GitHub.swift
[32/36] Compiling SPDCore URLRequest+Curl.swift
/Users/admin/builder/spi-builder-workspace/Sources/SPDCore/Functions/URLRequest+Curl.swift:12:5: warning: 'public' modifier is redundant for property declared in a public extension
10 |     /// Returns a cURL command for a request
11 |     /// - return A String object that contains cURL command or "" if an URL is not properly initalized.
12 |     public var cURL: String {
   |     `- warning: 'public' modifier is redundant for property declared in a public extension
13 |
14 |         guard
[33/36] Compiling SPDCore Cloudant.swift
/Users/admin/builder/spi-builder-workspace/Sources/SPDCore/Services/Cloudant.swift:10:9: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
  8 |
  9 | struct PopularSearch: Codable {
 10 |     let limit: Int = 10
    |         |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |         |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'limit' case to silence this warning
    |         `- note: make the property mutable instead
 11 |     let sort = [["stargazers_count": "desc"]]
 12 |     let selector = ["stargazers_count": ["$gte": 100]]
/Users/admin/builder/spi-builder-workspace/Sources/SPDCore/Services/Cloudant.swift:11:9: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
  9 | struct PopularSearch: Codable {
 10 |     let limit: Int = 10
 11 |     let sort = [["stargazers_count": "desc"]]
    |         |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |         |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'sort' case to silence this warning
    |         `- note: make the property mutable instead
 12 |     let selector = ["stargazers_count": ["$gte": 100]]
 13 |     let use_index: String
/Users/admin/builder/spi-builder-workspace/Sources/SPDCore/Services/Cloudant.swift:12:9: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 10 |     let limit: Int = 10
 11 |     let sort = [["stargazers_count": "desc"]]
 12 |     let selector = ["stargazers_count": ["$gte": 100]]
    |         |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |         |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'selector' case to silence this warning
    |         `- note: make the property mutable instead
 13 |     let use_index: String
 14 | }
[34/38] Emitting module SPDCorePlayground
[35/38] Compiling SPDCorePlayground main.swift
/Users/admin/builder/spi-builder-workspace/Sources/SPDCorePlayground/main.swift:58:15: warning: expression implicitly coerced from 'AnyOutput<[Package]>?' to 'Any'
56 | //    let task = packageCrawler.execute()
57 |     whiskWrap(task, outputType: AnyOutput<[Package]>.self) { o, e in
58 |         print(o, e)
   |               |- warning: expression implicitly coerced from 'AnyOutput<[Package]>?' to 'Any'
   |               |- note: provide a default value to avoid this warning
   |               |- note: force-unwrap the value to avoid this warning
   |               `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
59 |     }
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/SPDCorePlayground/main.swift:58:18: warning: expression implicitly coerced from '(any Error)?' to 'Any'
56 | //    let task = packageCrawler.execute()
57 |     whiskWrap(task, outputType: AnyOutput<[Package]>.self) { o, e in
58 |         print(o, e)
   |                  |- warning: expression implicitly coerced from '(any Error)?' to 'Any'
   |                  |- note: provide a default value to avoid this warning
   |                  |- note: force-unwrap the value to avoid this warning
   |                  `- note: explicitly cast to 'Any' with 'as Any' to silence this warning
59 |     }
60 | }
/Users/admin/builder/spi-builder-workspace/Sources/SPDCorePlayground/main.swift:36:9: warning: initialization of immutable value 'startTime' was never used; consider replacing with assignment to '_' or removing it
34 | func main () {
35 |
36 |     let startTime = Date()
   |         `- warning: initialization of immutable value 'startTime' was never used; consider replacing with assignment to '_' or removing it
37 |     print("starting SPDCore playground")
38 |     let cloudant = Cloudant(baseUrl: urlString)
/Users/admin/builder/spi-builder-workspace/Sources/SPDCorePlayground/main.swift:42:9: warning: initialization of immutable value 'packageCrawler' was never used; consider replacing with assignment to '_' or removing it
40 |     let github = GitHub(username: githubUsername, accessToken: githubAccessToken)
41 |     let packageManager = PackageManager(cloudant: cloudant, github: github)
42 |     let packageCrawler = PackageCrawler(packageManager: packageManager)
   |         `- warning: initialization of immutable value 'packageCrawler' was never used; consider replacing with assignment to '_' or removing it
43 | //
44 | //    github.getRateLimit()
[35/38] Write Objects.LinkFileList
[36/38] Linking SPDCorePlayground
[37/38] Applying SPDCorePlayground
Build complete! (9.10s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "promisekit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "6.3.1",
            "upper_bound" : "7.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mxcl/PromiseKit.git"
    }
  ],
  "manifest_display_name" : "swift-package-directory",
  "name" : "swift-package-directory",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SPDCore",
      "targets" : [
        "SPDCore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SPDCorePlayground",
      "targets" : [
        "SPDCorePlayground"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SPDCorePlayground",
      "module_type" : "SwiftTarget",
      "name" : "SPDCorePlayground",
      "path" : "Sources/SPDCorePlayground",
      "product_memberships" : [
        "SPDCorePlayground"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SPDCore"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "SPDCore",
      "module_type" : "SwiftTarget",
      "name" : "SPDCore",
      "path" : "Sources/SPDCore",
      "product_dependencies" : [
        "PromiseKit"
      ],
      "product_memberships" : [
        "SPDCore",
        "SPDCorePlayground"
      ],
      "sources" : [
        "Data Structures/DataStructures.swift",
        "Data Structures/Package.swift",
        "Functions/URLRequest+Curl.swift",
        "Functions/WhiskWrap.swift",
        "Functions/performRequest.swift",
        "Services/Cloudant.swift",
        "Services/GitHub.swift",
        "Services/PackageCrawler.swift",
        "Services/PackageManager.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.