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 PersistentHistoryTrackingKit, reference main (5c457d), with Swift 6.0 for macOS (SPM) on 2 Dec 2024 07:45:59 UTC.

Swift 6 data race errors: 0

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 -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.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/fatbobman/PersistentHistoryTrackingKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/fatbobman/PersistentHistoryTrackingKit
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 5c457d9 Create FUNDING.yml
Cloned https://github.com/fatbobman/PersistentHistoryTrackingKit.git
Revision (git rev-parse @):
5c457d9ba01801a27b32b63c4dc11c56a9f3ac29
SUCCESS checkout https://github.com/fatbobman/PersistentHistoryTrackingKit.git at main
Fetching https://github.com/apple/swift-async-algorithms.git
[1/4557] Fetching swift-async-algorithms
Fetched https://github.com/apple/swift-async-algorithms.git from cache (1.20s)
Computing version for https://github.com/apple/swift-async-algorithms
Computed https://github.com/apple/swift-async-algorithms at 0.0.3 (0.60s)
Creating working copy for https://github.com/apple/swift-async-algorithms.git
Working copy of https://github.com/apple/swift-async-algorithms.git resolved at 0.0.3
========================================
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": "persistenthistorytrackingkit",
      "name": "PersistentHistoryTrackingKit",
      "url": "https://github.com/fatbobman/PersistentHistoryTrackingKit.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PersistentHistoryTrackingKit",
      "dependencies": [
        {
          "identity": "swift-async-algorithms",
          "name": "AsyncAlgorithms",
          "url": "https://github.com/apple/swift-async-algorithms",
          "version": "0.1.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-async-algorithms",
          "dependencies": [
            {
              "identity": "swift-collections",
              "name": "swift-collections",
              "url": "https://github.com/apple/swift-collections.git",
              "version": "1.1.4",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-collections",
              "dependencies": [
              ]
            }
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/fatbobman/PersistentHistoryTrackingKit.git
[1/501] Fetching persistenthistorytrackingkit
Fetched https://github.com/fatbobman/PersistentHistoryTrackingKit.git from cache (0.76s)
Fetching https://github.com/apple/swift-async-algorithms from cache
Fetched https://github.com/apple/swift-async-algorithms from cache (0.51s)
Computing version for https://github.com/apple/swift-async-algorithms
Computed https://github.com/apple/swift-async-algorithms at 0.1.0 (0.71s)
Fetching https://github.com/apple/swift-collections.git
[1/15603] Fetching swift-collections
Fetched https://github.com/apple/swift-collections.git from cache (2.08s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.4 (0.68s)
Creating working copy for https://github.com/fatbobman/PersistentHistoryTrackingKit.git
Working copy of https://github.com/fatbobman/PersistentHistoryTrackingKit.git resolved at main (5c457d9)
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.1.4
Creating working copy for https://github.com/apple/swift-async-algorithms
Working copy of https://github.com/apple/swift-async-algorithms resolved at 0.1.0
warning: '.resolve-product-dependencies': dependency 'persistenthistorytrackingkit' is not used by any target
Found 1 product dependencies
  - AsyncAlgorithms
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/fatbobman/PersistentHistoryTrackingKit.git
{
  "dependencies" : [
    {
      "identity" : "swift-async-algorithms",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.0.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-async-algorithms"
    }
  ],
  "manifest_display_name" : "PersistentHistoryTrackingKit",
  "name" : "PersistentHistoryTrackingKit",
  "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" : "PersistentHistoryTrackingKit",
      "targets" : [
        "PersistentHistoryTrackingKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PersistentHistoryTrackingKitTests",
      "module_type" : "SwiftTarget",
      "name" : "PersistentHistoryTrackingKitTests",
      "path" : "Tests/PersistentHistoryTrackingKitTests",
      "sources" : [
        "CleanStrategyTests.swift",
        "CleanerTests.swift",
        "FetcherTests.swift",
        "LoggerTests.swift",
        "MergerTests.swift",
        "PersistentHistoryTrackingKitTests.swift",
        "TestsHelper/CoreDataStackHelper.swift",
        "TestsHelper/Extension.swift",
        "TimestampManagerTests.swift"
      ],
      "target_dependencies" : [
        "PersistentHistoryTrackingKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PersistentHistoryTrackingKit",
      "module_type" : "SwiftTarget",
      "name" : "PersistentHistoryTrackingKit",
      "path" : "Sources/PersistentHistoryTrackingKit",
      "product_dependencies" : [
        "AsyncAlgorithms"
      ],
      "product_memberships" : [
        "PersistentHistoryTrackingKit"
      ],
      "sources" : [
        "CleanStrategy.swift",
        "Cleaner.swift",
        "DefaultLogger.swift",
        "Extensions.swift",
        "Fetcher.swift",
        "Merger.swift",
        "PersistentHistoryTrackingKit.swift",
        "Protocol/CleanerProtocol.swift",
        "Protocol/DeduplicatorProtocol.swift",
        "Protocol/FetcherProtocol.swift",
        "Protocol/LoggerProtocol.swift",
        "Protocol/MergerProtocol.swift",
        "Protocol/TransactionTimestampManagerProtocol.swift",
        "TransactionTimestampManager.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
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 -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/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/39] Emitting module AsyncAlgorithms
[5/42] Compiling AsyncAlgorithms AsyncChain3Sequence.swift
[6/42] Compiling AsyncAlgorithms AsyncChannel.swift
[7/42] Compiling AsyncAlgorithms AsyncChunkedByGroupSequence.swift
[8/42] Compiling AsyncAlgorithms AsyncChunkedOnProjectionSequence.swift
[9/42] Compiling AsyncAlgorithms AsyncThrowingChannel.swift
[10/42] Compiling AsyncAlgorithms AsyncThrowingExclusiveReductionsSequence.swift
[11/42] Compiling AsyncAlgorithms AsyncThrowingInclusiveReductionsSequence.swift
[12/42] Compiling AsyncAlgorithms AsyncTimerSequence.swift
[13/42] Compiling AsyncAlgorithms AsyncAdjacentPairsSequence.swift
[14/42] Compiling AsyncAlgorithms AsyncBufferSequence.swift
[15/42] Compiling AsyncAlgorithms AsyncBufferedByteIterator.swift
[16/42] Compiling AsyncAlgorithms AsyncChain2Sequence.swift
[17/42] Compiling AsyncAlgorithms SetAlgebra.swift
[18/42] Compiling AsyncAlgorithms TaskSelect.swift
[19/42] Compiling AsyncAlgorithms UnsafeResumption.swift
[20/42] Compiling AsyncAlgorithms AsyncZip2Sequence.swift
[21/42] Compiling AsyncAlgorithms AsyncZip3Sequence.swift
[22/42] Compiling AsyncAlgorithms Dictionary.swift
[23/42] Compiling AsyncAlgorithms Locking.swift
[24/42] Compiling AsyncAlgorithms AsyncInterspersedSequence.swift
[25/42] Compiling AsyncAlgorithms AsyncJoinedBySeparatorSequence.swift
[26/42] Compiling AsyncAlgorithms AsyncJoinedSequence.swift
[27/42] Compiling AsyncAlgorithms AsyncLazySequence.swift
[28/42] Compiling AsyncAlgorithms AsyncChunksOfCountOrSignalSequence.swift
[29/42] Compiling AsyncAlgorithms AsyncChunksOfCountSequence.swift
[30/42] Compiling AsyncAlgorithms AsyncCombineLatest2Sequence.swift
[31/42] Compiling AsyncAlgorithms AsyncCombineLatest3Sequence.swift
[32/42] Compiling AsyncAlgorithms PartialIteration.swift
[33/42] Compiling AsyncAlgorithms RangeReplaceableCollection.swift
[34/42] Compiling AsyncAlgorithms Rethrow.swift
[35/42] Compiling AsyncAlgorithms AsyncCompactedSequence.swift
[36/42] Compiling AsyncAlgorithms AsyncDebounceSequence.swift
[37/42] Compiling AsyncAlgorithms AsyncExclusiveReductionsSequence.swift
[38/42] Compiling AsyncAlgorithms AsyncInclusiveReductionsSequence.swift
[39/42] Compiling AsyncAlgorithms AsyncMerge2Sequence.swift
[40/42] Compiling AsyncAlgorithms AsyncMerge3Sequence.swift
[41/42] Compiling AsyncAlgorithms AsyncRemoveDuplicatesSequence.swift
[42/42] Compiling AsyncAlgorithms AsyncThrottleSequence.swift
[43/56] Compiling PersistentHistoryTrackingKit TransactionTimestampManagerProtocol.swift
[44/57] Compiling PersistentHistoryTrackingKit TransactionTimestampManager.swift
[45/57] Compiling PersistentHistoryTrackingKit MergerProtocol.swift
[46/57] Compiling PersistentHistoryTrackingKit LoggerProtocol.swift
[47/57] Compiling PersistentHistoryTrackingKit FetcherProtocol.swift
[48/57] Compiling PersistentHistoryTrackingKit DefaultLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/PersistentHistoryTrackingKit/Extensions.swift:63:34: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
61 |             subscription = upstream
62 |                 .sink(receiveValue: { value in
63 |                     continuation.yield(value)
   |                                  |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
64 |                 })
65 |         }
[49/57] Compiling PersistentHistoryTrackingKit Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/PersistentHistoryTrackingKit/Extensions.swift:63:34: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
61 |             subscription = upstream
62 |                 .sink(receiveValue: { value in
63 |                     continuation.yield(value)
   |                                  |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
64 |                 })
65 |         }
[50/57] Compiling PersistentHistoryTrackingKit Fetcher.swift
[51/57] Compiling PersistentHistoryTrackingKit Merger.swift
[52/57] Compiling PersistentHistoryTrackingKit PersistentHistoryTrackingKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/PersistentHistoryTrackingKit/PersistentHistoryTrackingKit.swift:382:1: warning: extension declares a conformance of imported type 'Notification' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
380 | }
381 |
382 | extension Notification:@unchecked Sendable {}
    | |- warning: extension declares a conformance of imported type 'Notification' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
383 |
/Users/admin/builder/spi-builder-workspace/Sources/PersistentHistoryTrackingKit/PersistentHistoryTrackingKit.swift:84:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 82 |     /// 通过将持久化历史跟踪记录的通知转换成异步序列,实现了逐个处理的机制。
 83 |     func createTransactionProcessingTask() -> Task<Void, Never> {
 84 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 85 |             sendMessage(type: .info, level: 1, message: "Persistent History Track Kit Start")
    |             `- note: closure captures 'self' which is accessible to code in the current task
 86 |             // 响应 notification
 87 |             let publisher = NotificationCenter.default.publisher(
[53/57] Compiling PersistentHistoryTrackingKit CleanerProtocol.swift
/Users/admin/builder/spi-builder-workspace/Sources/PersistentHistoryTrackingKit/PersistentHistoryTrackingKit.swift:382:1: warning: extension declares a conformance of imported type 'Notification' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
380 | }
381 |
382 | extension Notification:@unchecked Sendable {}
    | |- warning: extension declares a conformance of imported type 'Notification' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
383 |
/Users/admin/builder/spi-builder-workspace/Sources/PersistentHistoryTrackingKit/PersistentHistoryTrackingKit.swift:84:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 82 |     /// 通过将持久化历史跟踪记录的通知转换成异步序列,实现了逐个处理的机制。
 83 |     func createTransactionProcessingTask() -> Task<Void, Never> {
 84 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 85 |             sendMessage(type: .info, level: 1, message: "Persistent History Track Kit Start")
    |             `- note: closure captures 'self' which is accessible to code in the current task
 86 |             // 响应 notification
 87 |             let publisher = NotificationCenter.default.publisher(
[54/57] Compiling PersistentHistoryTrackingKit CleanStrategy.swift
[55/57] Compiling PersistentHistoryTrackingKit Cleaner.swift
[56/57] Emitting module PersistentHistoryTrackingKit
/Users/admin/builder/spi-builder-workspace/Sources/PersistentHistoryTrackingKit/PersistentHistoryTrackingKit.swift:382:1: warning: extension declares a conformance of imported type 'Notification' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
380 | }
381 |
382 | extension Notification:@unchecked Sendable {}
    | |- warning: extension declares a conformance of imported type 'Notification' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
383 |
[57/57] Compiling PersistentHistoryTrackingKit DeduplicatorProtocol.swift
Build complete! (16.65s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-async-algorithms",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.0.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-async-algorithms"
    }
  ],
  "manifest_display_name" : "PersistentHistoryTrackingKit",
  "name" : "PersistentHistoryTrackingKit",
  "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" : "PersistentHistoryTrackingKit",
      "targets" : [
        "PersistentHistoryTrackingKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "PersistentHistoryTrackingKitTests",
      "module_type" : "SwiftTarget",
      "name" : "PersistentHistoryTrackingKitTests",
      "path" : "Tests/PersistentHistoryTrackingKitTests",
      "sources" : [
        "CleanStrategyTests.swift",
        "CleanerTests.swift",
        "FetcherTests.swift",
        "LoggerTests.swift",
        "MergerTests.swift",
        "PersistentHistoryTrackingKitTests.swift",
        "TestsHelper/CoreDataStackHelper.swift",
        "TestsHelper/Extension.swift",
        "TimestampManagerTests.swift"
      ],
      "target_dependencies" : [
        "PersistentHistoryTrackingKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PersistentHistoryTrackingKit",
      "module_type" : "SwiftTarget",
      "name" : "PersistentHistoryTrackingKit",
      "path" : "Sources/PersistentHistoryTrackingKit",
      "product_dependencies" : [
        "AsyncAlgorithms"
      ],
      "product_memberships" : [
        "PersistentHistoryTrackingKit"
      ],
      "sources" : [
        "CleanStrategy.swift",
        "Cleaner.swift",
        "DefaultLogger.swift",
        "Extensions.swift",
        "Fetcher.swift",
        "Merger.swift",
        "PersistentHistoryTrackingKit.swift",
        "Protocol/CleanerProtocol.swift",
        "Protocol/DeduplicatorProtocol.swift",
        "Protocol/FetcherProtocol.swift",
        "Protocol/LoggerProtocol.swift",
        "Protocol/MergerProtocol.swift",
        "Protocol/TransactionTimestampManagerProtocol.swift",
        "TransactionTimestampManager.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.