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 DiffableDataSources, reference master (a457cf), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 02:23:29 UTC.

Swift 6 data race errors: 0

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/ra1028/DiffableDataSources.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ra1028/DiffableDataSources
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at a457cf6 Merge pull request #38 from ra1028/v0.5.0
Submodule path 'Carthage/Checkouts/DifferenceKit': checked out '62745d7780deef4a023a792a1f8f763ec7bf9705'
Submodule 'Carthage/Checkouts/DifferenceKit' (https://github.com/ra1028/DifferenceKit.git) registered for path 'Carthage/Checkouts/DifferenceKit'
Cloning into '/Users/admin/builder/spi-builder-workspace/Carthage/Checkouts/DifferenceKit'...
Cloned https://github.com/ra1028/DiffableDataSources.git
Revision (git rev-parse @):
a457cf63456b3aeec2a3626af0230c98b0733927
SUCCESS checkout https://github.com/ra1028/DiffableDataSources.git at master
Fetching https://github.com/ra1028/DifferenceKit.git
[1/2319] Fetching differencekit
Fetched https://github.com/ra1028/DifferenceKit.git from cache (1.26s)
Computing version for https://github.com/ra1028/DifferenceKit.git
Computed https://github.com/ra1028/DifferenceKit.git at 1.2.0 (1.87s)
Creating working copy for https://github.com/ra1028/DifferenceKit.git
Working copy of https://github.com/ra1028/DifferenceKit.git resolved at 1.2.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": "diffabledatasources",
      "name": "DiffableDataSources",
      "url": "https://github.com/ra1028/DiffableDataSources.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/DiffableDataSources",
      "dependencies": [
        {
          "identity": "differencekit",
          "name": "DifferenceKit",
          "url": "https://github.com/ra1028/DifferenceKit.git",
          "version": "1.2.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/DifferenceKit",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/ra1028/DiffableDataSources.git
[1/449] Fetching diffabledatasources
Fetched https://github.com/ra1028/DiffableDataSources.git from cache (1.17s)
Fetching https://github.com/ra1028/DifferenceKit.git from cache
Fetched https://github.com/ra1028/DifferenceKit.git from cache (0.40s)
Computing version for https://github.com/ra1028/DifferenceKit.git
Computed https://github.com/ra1028/DifferenceKit.git at 1.2.0 (0.47s)
Creating working copy for https://github.com/ra1028/DifferenceKit.git
Working copy of https://github.com/ra1028/DifferenceKit.git resolved at 1.2.0
Creating working copy for https://github.com/ra1028/DiffableDataSources.git
Working copy of https://github.com/ra1028/DiffableDataSources.git resolved at master (a457cf6)
warning: '.resolve-product-dependencies': dependency 'diffabledatasources' is not used by any target
Found 1 product dependencies
  - DifferenceKit
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/ra1028/DiffableDataSources.git
https://github.com/ra1028/DiffableDataSources.git
{
  "dependencies" : [
    {
      "identity" : "differencekit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "1.3.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ra1028/DifferenceKit.git"
    }
  ],
  "manifest_display_name" : "DiffableDataSources",
  "name" : "DiffableDataSources",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "9.0"
    },
    {
      "name" : "macos",
      "version" : "10.11"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "DiffableDataSources",
      "targets" : [
        "DiffableDataSources"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "DiffableDataSourcesTests",
      "module_type" : "SwiftTarget",
      "name" : "DiffableDataSourcesTests",
      "path" : "Tests",
      "sources" : [
        "CocoaCollectionViewDiffableDataSourceTests.swift",
        "CollectionViewDiffableDataSourceTests.swift",
        "DiffableDataSourceTests.swift",
        "MainThreadSerialDispatcherTests.swift",
        "TableViewDiffableDataSourceTests.swift"
      ],
      "target_dependencies" : [
        "DiffableDataSources"
      ],
      "type" : "test"
    },
    {
      "c99name" : "DiffableDataSources",
      "module_type" : "SwiftTarget",
      "name" : "DiffableDataSources",
      "path" : "Sources",
      "product_dependencies" : [
        "DifferenceKit"
      ],
      "product_memberships" : [
        "DiffableDataSources"
      ],
      "sources" : [
        "AppKit/CocoaCollectionViewDiffableDataSource.swift",
        "DiffableDataSourceSnapshot.swift",
        "Internal/DiffableDataSourceCore.swift",
        "Internal/HashableExtension.swift",
        "Internal/MainThreadSerialDispatcher.swift",
        "Internal/SnapshotStructure.swift",
        "Internal/UniversalError.swift",
        "UIKit/CollectionViewDiffableDataSource.swift",
        "UIKit/TableViewDiffableDataSource.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.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/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/15] Compiling DifferenceKit UIKitExtension.swift
[5/16] Compiling DifferenceKit StagedChangeset.swift
[6/16] Compiling DifferenceKit Differentiable.swift
[7/16] Compiling DifferenceKit ContentIdentifiable.swift
[8/16] Compiling DifferenceKit DifferentiableSection.swift
[9/16] Compiling DifferenceKit ArraySection.swift
[10/16] Compiling DifferenceKit Changeset.swift
[11/16] Compiling DifferenceKit ElementPath.swift
[12/16] Emitting module DifferenceKit
[13/16] Compiling DifferenceKit Algorithm.swift
[14/16] Compiling DifferenceKit AnyDifferentiable.swift
[15/16] Compiling DifferenceKit AppKitExtension.swift
[16/16] Compiling DifferenceKit ContentEquatable.swift
[17/26] Compiling DiffableDataSources TableViewDiffableDataSource.swift
[18/26] Compiling DiffableDataSources CollectionViewDiffableDataSource.swift
[19/26] Compiling DiffableDataSources UniversalError.swift
[20/26] Compiling DiffableDataSources HashableExtension.swift
[21/26] Compiling DiffableDataSources MainThreadSerialDispatcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MainThreadSerialDispatcher.swift:24:34: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
22 |         else {
23 |             DispatchQueue.main.async { [weak self] in
24 |                 guard let self = self else {
   |                                  |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
   |                                  `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
25 |                     return
26 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MainThreadSerialDispatcher.swift:28:17: warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
26 |                 }
27 |
28 |                 action()
   |                 |- warning: sending 'action' risks causing data races; this is an error in the Swift 6 language mode
   |                 `- note: task-isolated 'action' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
29 |                 OSAtomicDecrement32(self.executingCount)
30 |             }
[22/26] Compiling DiffableDataSources DiffableDataSourceCore.swift
[23/26] Compiling DiffableDataSources DiffableDataSourceSnapshot.swift
[24/26] Emitting module DiffableDataSources
[25/26] Compiling DiffableDataSources CocoaCollectionViewDiffableDataSource.swift
/Users/admin/builder/spi-builder-workspace/Sources/AppKit/CocoaCollectionViewDiffableDataSource.swift:27:24: warning: main actor-isolated property 'dataSource' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 25 |         super.init()
 26 |
 27 |         collectionView.dataSource = self
    |                        `- warning: main actor-isolated property 'dataSource' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
 28 |     }
 29 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSCollectionView.h:137:59: note: mutation of this property is only permitted within the actor
135 | To get the new capabilities and behaviors, and use the new NSCollectionView APIs added in OS X 10.11, you must specify a dataSource.  Setting dataSource != nil causes the CollectionView to empty its "content" array, and attempting to set "content" to a non-empty array while dataSource != nil is considered a programming error that will cause an exception to be raised.
136 | */
137 | @property (nullable, weak) id<NSCollectionViewDataSource> dataSource API_AVAILABLE(macos(10.11));
    |                                                           `- note: mutation of this property is only permitted within the actor
138 |
139 | /* An optional assistant to the CollectionView's 'dataSource' (potentially the same object), that receives notifications conducive to managing item data pre-fetching.
/Users/admin/builder/spi-builder-workspace/Sources/AppKit/CocoaCollectionViewDiffableDataSource.swift:44:32: warning: call to main actor-isolated instance method 'reload(using:interrupt:setData:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 42 |             animatingDifferences: animatingDifferences,
 43 |             performUpdates: { collectionView, changeset, setSections in
 44 |                 collectionView.reload(using: changeset, setData: setSections)
    |                                `- warning: call to main actor-isolated instance method 'reload(using:interrupt:setData:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 45 |         },
 46 |             completion: completion
/Users/admin/builder/spi-builder-workspace/.build/checkouts/DifferenceKit/Sources/Extensions/AppKitExtension.swift:107:10: note: calls to instance method 'reload(using:interrupt:setData:)' from outside of its actor context are implicitly asynchronous
105 |     ///   - setData: A closure that takes the collection as a parameter.
106 |     ///              The collection should be set to data-source of NSCollectionView.
107 |     func reload<C>(
    |          `- note: calls to instance method 'reload(using:interrupt:setData:)' from outside of its actor context are implicitly asynchronous
108 |         using stagedChangeset: StagedChangeset<C>,
109 |         interrupt: ((Changeset<C>) -> Bool)? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/AppKit/CocoaCollectionViewDiffableDataSource.swift:44:32: warning: sending 'changeset' risks causing data races; this is an error in the Swift 6 language mode
 42 |             animatingDifferences: animatingDifferences,
 43 |             performUpdates: { collectionView, changeset, setSections in
 44 |                 collectionView.reload(using: changeset, setData: setSections)
    |                                |- warning: sending 'changeset' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending task-isolated 'changeset' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 45 |         },
 46 |             completion: completion
/Users/admin/builder/spi-builder-workspace/Sources/AppKit/CocoaCollectionViewDiffableDataSource.swift:44:32: warning: sending 'setSections' risks causing data races; this is an error in the Swift 6 language mode
 42 |             animatingDifferences: animatingDifferences,
 43 |             performUpdates: { collectionView, changeset, setSections in
 44 |                 collectionView.reload(using: changeset, setData: setSections)
    |                                |- warning: sending 'setSections' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending task-isolated 'setSections' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
 45 |         },
 46 |             completion: completion
[26/26] Compiling DiffableDataSources SnapshotStructure.swift
Build complete! (9.05s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "differencekit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.0",
            "upper_bound" : "1.3.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ra1028/DifferenceKit.git"
    }
  ],
  "manifest_display_name" : "DiffableDataSources",
  "name" : "DiffableDataSources",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "9.0"
    },
    {
      "name" : "macos",
      "version" : "10.11"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "DiffableDataSources",
      "targets" : [
        "DiffableDataSources"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "DiffableDataSourcesTests",
      "module_type" : "SwiftTarget",
      "name" : "DiffableDataSourcesTests",
      "path" : "Tests",
      "sources" : [
        "CocoaCollectionViewDiffableDataSourceTests.swift",
        "CollectionViewDiffableDataSourceTests.swift",
        "DiffableDataSourceTests.swift",
        "MainThreadSerialDispatcherTests.swift",
        "TableViewDiffableDataSourceTests.swift"
      ],
      "target_dependencies" : [
        "DiffableDataSources"
      ],
      "type" : "test"
    },
    {
      "c99name" : "DiffableDataSources",
      "module_type" : "SwiftTarget",
      "name" : "DiffableDataSources",
      "path" : "Sources",
      "product_dependencies" : [
        "DifferenceKit"
      ],
      "product_memberships" : [
        "DiffableDataSources"
      ],
      "sources" : [
        "AppKit/CocoaCollectionViewDiffableDataSource.swift",
        "DiffableDataSourceSnapshot.swift",
        "Internal/DiffableDataSourceCore.swift",
        "Internal/HashableExtension.swift",
        "Internal/MainThreadSerialDispatcher.swift",
        "Internal/SnapshotStructure.swift",
        "Internal/UniversalError.swift",
        "UIKit/CollectionViewDiffableDataSource.swift",
        "UIKit/TableViewDiffableDataSource.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.