This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.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
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/ra1028/DiffableDataSources.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-6F35C1178C84523A.txt
[4/15] Compiling DifferenceKit UIKitExtension.swift
[5/16] Compiling DifferenceKit StagedChangeset.swift
[6/16] Compiling DifferenceKit ElementPath.swift
[7/16] Compiling DifferenceKit DifferentiableSection.swift
[8/16] Compiling DifferenceKit ArraySection.swift
[9/16] Compiling DifferenceKit Changeset.swift
[10/16] Compiling DifferenceKit Differentiable.swift
[11/16] Compiling DifferenceKit Algorithm.swift
[12/16] Compiling DifferenceKit AnyDifferentiable.swift
[13/16] Compiling DifferenceKit AppKitExtension.swift
[14/16] Compiling DifferenceKit ContentIdentifiable.swift
[15/16] Compiling DifferenceKit ContentEquatable.swift
[16/16] Emitting module DifferenceKit
[17/26] Compiling DiffableDataSources TableViewDiffableDataSource.swift
[18/26] Compiling DiffableDataSources CollectionViewDiffableDataSource.swift
[19/26] Compiling DiffableDataSources MainThreadSerialDispatcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MainThreadSerialDispatcher.swift:24:34: warning: capture of 'self' with non-sendable type 'MainThreadSerialDispatcher?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | final class MainThreadSerialDispatcher {
   |             `- note: class 'MainThreadSerialDispatcher' does not conform to the 'Sendable' protocol
 4 |     private let executingCount = UnsafeMutablePointer<Int32>.allocate(capacity: 1)
 5 |
   :
22 |         else {
23 |             DispatchQueue.main.async { [weak self] in
24 |                 guard let self = self else {
   |                                  `- warning: capture of 'self' with non-sendable type 'MainThreadSerialDispatcher?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
25 |                     return
26 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Internal/MainThreadSerialDispatcher.swift:28:17: warning: capture of 'action' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
26 |                 }
27 |
28 |                 action()
   |                 |- warning: capture of 'action' with non-sendable type '() -> 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'
29 |                 OSAtomicDecrement32(self.executingCount)
30 |             }
/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 |             }
[20/26] Compiling DiffableDataSources UniversalError.swift
[21/26] Emitting module DiffableDataSources
[22/26] Compiling DiffableDataSources DiffableDataSourceCore.swift
[23/26] Compiling DiffableDataSources SnapshotStructure.swift
[24/26] Compiling DiffableDataSources HashableExtension.swift
[25/26] Compiling DiffableDataSources DiffableDataSourceSnapshot.swift
[26/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 non-isolated 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 non-isolated context; this is an error in the Swift 6 language mode
 28 |     }
 29 |
AppKit.NSCollectionView:4:30: note: mutation of this property is only permitted within the actor
  2 | @MainActor open class NSCollectionView : NSView, NSDraggingSource, NSDraggingDestination {
  3 |     @available(macOS 10.11, *)
  4 |     @MainActor weak open var dataSource: (any NSCollectionViewDataSource)? { get set }
    |                              `- note: mutation of this property is only permitted within the actor
  5 |     @available(macOS 10.13, *)
  6 |     weak open var prefetchDataSource: (any NSCollectionViewPrefetching)? { get set }
/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 task-isolated value of type '([SnapshotStructure<SectionIdentifierType, ItemIdentifierType>.Section]) -> Void' with later accesses to main actor-isolated context 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 task-isolated value of type '([SnapshotStructure<SectionIdentifierType, ItemIdentifierType>.Section]) -> Void' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
 45 |         },
 46 |             completion: completion
Build complete! (31.14s)
Fetching https://github.com/ra1028/DifferenceKit.git
[1/2320] Fetching differencekit
Fetched https://github.com/ra1028/DifferenceKit.git from cache (1.53s)
Computing version for https://github.com/ra1028/DifferenceKit.git
Computed https://github.com/ra1028/DifferenceKit.git at 1.2.0 (0.70s)
Creating working copy for https://github.com/ra1028/DifferenceKit.git
Working copy of https://github.com/ra1028/DifferenceKit.git resolved at 1.2.0
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.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.