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 Resyncer, reference master (b23e81), with Swift 6.0 for macOS (SPM) on 23 Sep 2024 16:53:50 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.0.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.54.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/danielepantaleone/Resyncer.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/danielepantaleone/Resyncer
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at b23e817 Fix homepage url in podspec
Cloned https://github.com/danielepantaleone/Resyncer.git
Revision (git rev-parse @):
b23e817a56e1f87f67036f4a03f287d9e20fc364
SUCCESS checkout https://github.com/danielepantaleone/Resyncer.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/danielepantaleone/Resyncer.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.0.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin SwiftLintBuildToolPlugin
[3/3] Compiling plugin SwiftLintCommandPlugin
Building for debugging...
[3/5] Write sources
[4/5] Write swift-version--4A847ED0836F2485.txt
[6/10] Compiling Resyncer ResyncerError.swift
[7/10] Emitting module Resyncer
[8/10] Compiling Resyncer Resyncer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Resyncer/Resyncer.swift:83:13: warning: capture of 'work' with non-sendable type '(@escaping (Result<T, any Error>) -> Void) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 81 |         var result: Result<T, Error>?
 82 |         let operation: BlockOperation = .init {
 83 |             work {
    |             |- warning: capture of 'work' with non-sendable type '(@escaping (Result<T, any Error>) -> Void) -> 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'
 84 |                 defer {
 85 |                     condition.lock()
/Users/admin/builder/spi-builder-workspace/Sources/Resyncer/Resyncer.swift:85:21: warning: capture of 'condition' with non-sendable type 'ResyncerCondition' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 83 |             work {
 84 |                 defer {
 85 |                     condition.lock()
    |                     `- warning: capture of 'condition' with non-sendable type 'ResyncerCondition' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 |                     condition.signal()
 87 |                     condition.unlock()
/Users/admin/builder/spi-builder-workspace/Sources/Resyncer/ResyncerCondition.swift:14:7: note: class 'ResyncerCondition' does not conform to the 'Sendable' protocol
12 | import Foundation
13 |
14 | class ResyncerCondition {
   |       `- note: class 'ResyncerCondition' does not conform to the 'Sendable' protocol
15 |
16 |     // MARK: - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Resyncer/Resyncer.swift:89:17: warning: capture of 'result' with non-sendable type 'Result<T, any Error>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 72 |     ///
 73 |     /// - Returns: The result of type `T` from the asynchronous operation if it completes successfully.
 74 |     public func synchronize<T>(timeout: TimeInterval = 10.0, work: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) throws -> T {
    |                             `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 75 |
 76 |         guard !raiseErrorIfOnMainThread || !Thread.isMainThread else {
    :
 87 |                     condition.unlock()
 88 |                 }
 89 |                 result = $0
    |                 `- warning: capture of 'result' with non-sendable type 'Result<T, any Error>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |             }
 91 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Resyncer/Resyncer.swift:85:21: warning: capture of 'condition' with non-sendable type 'ResyncerCondition' in an isolated closure; this is an error in the Swift 6 language mode
 83 |             work {
 84 |                 defer {
 85 |                     condition.lock()
    |                     `- warning: capture of 'condition' with non-sendable type 'ResyncerCondition' in an isolated closure; this is an error in the Swift 6 language mode
 86 |                     condition.signal()
 87 |                     condition.unlock()
/Users/admin/builder/spi-builder-workspace/Sources/Resyncer/ResyncerCondition.swift:14:7: note: class 'ResyncerCondition' does not conform to the 'Sendable' protocol
12 | import Foundation
13 |
14 | class ResyncerCondition {
   |       `- note: class 'ResyncerCondition' does not conform to the 'Sendable' protocol
15 |
16 |     // MARK: - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Resyncer/Resyncer.swift:89:17: warning: capture of 'result' with non-sendable type 'Result<T, any Error>?' in an isolated closure; this is an error in the Swift 6 language mode
 72 |     ///
 73 |     /// - Returns: The result of type `T` from the asynchronous operation if it completes successfully.
 74 |     public func synchronize<T>(timeout: TimeInterval = 10.0, work: @escaping (@escaping (Result<T, Error>) -> Void) -> Void) throws -> T {
    |                             `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
 75 |
 76 |         guard !raiseErrorIfOnMainThread || !Thread.isMainThread else {
    :
 87 |                     condition.unlock()
 88 |                 }
 89 |                 result = $0
    |                 `- warning: capture of 'result' with non-sendable type 'Result<T, any Error>?' in an isolated closure; this is an error in the Swift 6 language mode
 90 |             }
 91 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Resyncer/Resyncer.swift:85:21: warning: capture of 'condition' with non-sendable type 'ResyncerCondition' in an isolated local function; this is an error in the Swift 6 language mode
 83 |             work {
 84 |                 defer {
 85 |                     condition.lock()
    |                     `- warning: capture of 'condition' with non-sendable type 'ResyncerCondition' in an isolated local function; this is an error in the Swift 6 language mode
 86 |                     condition.signal()
 87 |                     condition.unlock()
/Users/admin/builder/spi-builder-workspace/Sources/Resyncer/ResyncerCondition.swift:14:7: note: class 'ResyncerCondition' does not conform to the 'Sendable' protocol
12 | import Foundation
13 |
14 | class ResyncerCondition {
   |       `- note: class 'ResyncerCondition' does not conform to the 'Sendable' protocol
15 |
16 |     // MARK: - Properties
/Users/admin/builder/spi-builder-workspace/Sources/Resyncer/Resyncer.swift:89:17: warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
 87 |                     condition.unlock()
 88 |                 }
 89 |                 result = $0
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
 90 |             }
 91 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Resyncer/Resyncer.swift:148:9: warning: task-isolated value of type '() async -> ()' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
146 |         let wrapper: ResyncerWrapper<T> = .init()
147 |
148 |         Task {
    |         `- warning: task-isolated value of type '() async -> ()' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
149 |             defer {
150 |                 condition.lock()
[9/10] Compiling Resyncer ResyncerCondition.swift
[10/10] Compiling Resyncer ResyncerWrapper.swift
Build complete! (197.35s)
Fetching https://github.com/jpsim/Yams.git
Fetching https://github.com/swiftlang/swift-syntax.git
Fetching https://github.com/scottrhoyt/SwiftyTextTable.git
Fetching https://github.com/JohnSundell/CollectionConcurrencyKit.git
Fetching https://github.com/krzyzanowskim/CryptoSwift.git
Fetching https://github.com/realm/SwiftLint.git
Fetching https://github.com/apple/swift-argument-parser.git
[1/83] Fetching collectionconcurrencykit
[84/1012] Fetching collectionconcurrencykit, swiftytexttable
[140/13715] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift
[141/23540] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, yams
[474/35750] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, yams, swift-argument-parser
[15522/100979] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, yams, swift-argument-parser, swift-syntax
[15650/241313] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, yams, swift-argument-parser, swift-syntax, swiftlint
Fetched https://github.com/swiftlang/swift-syntax.git from cache (3.40s)
Fetching https://github.com/drmohundro/SWXMLHash.git
[47061/176084] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, yams, swift-argument-parser, swiftlint
[47994/178922] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, yams, swift-argument-parser, swiftlint, swxmlhash
Fetched https://github.com/drmohundro/SWXMLHash.git from cache (1.53s)
Fetching https://github.com/jpsim/SourceKitten.git
[50005/176084] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, yams, swift-argument-parser, swiftlint
[50452/192085] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, yams, swift-argument-parser, swiftlint, sourcekitten
Fetched https://github.com/jpsim/SourceKitten.git from cache (1.70s)
[51248/176084] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, yams, swift-argument-parser, swiftlint
Fetched https://github.com/jpsim/Yams.git from cache (14.97s)
[48628/166259] Fetching collectionconcurrencykit, swiftytexttable, cryptoswift, swift-argument-parser, swiftlint
Fetched https://github.com/JohnSundell/CollectionConcurrencyKit.git from cache (169.64s)
Fetched https://github.com/apple/swift-argument-parser.git from cache (169.64s)
Fetched https://github.com/scottrhoyt/SwiftyTextTable.git from cache (169.64s)
Fetched https://github.com/realm/SwiftLint.git from cache (169.64s)
Computing version for https://github.com/realm/SwiftLint.git
Fetched https://github.com/krzyzanowskim/CryptoSwift.git from cache (169.64s)
Computed https://github.com/realm/SwiftLint.git at 0.57.0 (0.85s)
Computing version for https://github.com/krzyzanowskim/CryptoSwift.git
Computed https://github.com/krzyzanowskim/CryptoSwift.git at 1.8.3 (0.66s)
Computing version for https://github.com/JohnSundell/CollectionConcurrencyKit.git
Computed https://github.com/JohnSundell/CollectionConcurrencyKit.git at 0.2.0 (0.65s)
Computing version for https://github.com/scottrhoyt/SwiftyTextTable.git
Computed https://github.com/scottrhoyt/SwiftyTextTable.git at 0.9.0 (2.60s)
Computing version for https://github.com/jpsim/Yams.git
Computed https://github.com/jpsim/Yams.git at 5.1.3 (0.65s)
Computing version for https://github.com/jpsim/SourceKitten.git
Computed https://github.com/jpsim/SourceKitten.git at 0.35.0 (0.66s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.5.0 (0.53s)
Computing version for https://github.com/drmohundro/SWXMLHash.git
Computed https://github.com/drmohundro/SWXMLHash.git at 7.0.2 (0.66s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 600.0.0-prerelease-2024-08-14 (0.78s)
Creating working copy for https://github.com/realm/SwiftLint.git
Working copy of https://github.com/realm/SwiftLint.git resolved at 0.57.0
Creating working copy for https://github.com/scottrhoyt/SwiftyTextTable.git
Working copy of https://github.com/scottrhoyt/SwiftyTextTable.git resolved at 0.9.0
Creating working copy for https://github.com/JohnSundell/CollectionConcurrencyKit.git
Working copy of https://github.com/JohnSundell/CollectionConcurrencyKit.git resolved at 0.2.0
Creating working copy for https://github.com/krzyzanowskim/CryptoSwift.git
Working copy of https://github.com/krzyzanowskim/CryptoSwift.git resolved at 1.8.3
Creating working copy for https://github.com/drmohundro/SWXMLHash.git
Working copy of https://github.com/drmohundro/SWXMLHash.git resolved at 7.0.2
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 600.0.0-prerelease-2024-08-14
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.5.0
Creating working copy for https://github.com/jpsim/SourceKitten.git
Working copy of https://github.com/jpsim/SourceKitten.git resolved at 0.35.0
Creating working copy for https://github.com/jpsim/Yams.git
Working copy of https://github.com/jpsim/Yams.git resolved at 5.1.3
[32750/11453398] Downloading https://github.com/realm/SwiftLint/releases/download/0.57.0/SwiftLintBinary-macos.artifactbundle.zip
Downloading binary artifact https://github.com/realm/SwiftLint/releases/download/0.57.0/SwiftLintBinary-macos.artifactbundle.zip
Downloaded https://github.com/realm/SwiftLint/releases/download/0.57.0/SwiftLintBinary-macos.artifactbundle.zip (1.64s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swiftlint",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.57.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/realm/SwiftLint.git"
    }
  ],
  "manifest_display_name" : "Resyncer",
  "name" : "Resyncer",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "Resyncer",
      "targets" : [
        "Resyncer"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ResyncerTests",
      "module_type" : "SwiftTarget",
      "name" : "ResyncerTests",
      "path" : "Tests/ResyncerTests",
      "sources" : [
        "ResyncerTests.swift"
      ],
      "target_dependencies" : [
        "Resyncer"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Resyncer",
      "module_type" : "SwiftTarget",
      "name" : "Resyncer",
      "path" : "Sources/Resyncer",
      "product_dependencies" : [
        "SwiftLintBuildToolPlugin"
      ],
      "product_memberships" : [
        "Resyncer"
      ],
      "sources" : [
        "Resyncer.swift",
        "ResyncerCondition.swift",
        "ResyncerError.swift",
        "ResyncerWrapper.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.