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.0 for macOS (SPM) on 28 Nov 2024 21:35:43 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.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.45s)
Computing version for https://github.com/ra1028/DifferenceKit.git
Computed https://github.com/ra1028/DifferenceKit.git at 1.2.0 (0.57s)
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.22s)
Fetching https://github.com/ra1028/DifferenceKit.git from cache
Fetched https://github.com/ra1028/DifferenceKit.git from cache (0.47s)
Computing version for https://github.com/ra1028/DifferenceKit.git
Computed https://github.com/ra1028/DifferenceKit.git at 1.2.0 (0.03s)
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.0
Building package at path:  $PWD
https://github.com/ra1028/DiffableDataSources.git
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/15] Compiling DifferenceKit UIKitExtension.swift
[5/16] Compiling DifferenceKit ElementPath.swift
[6/16] Compiling DifferenceKit Algorithm.swift
[7/16] Compiling DifferenceKit AnyDifferentiable.swift
[8/16] Compiling DifferenceKit StagedChangeset.swift
[9/16] Compiling DifferenceKit DifferentiableSection.swift
[10/16] Compiling DifferenceKit Differentiable.swift
[11/16] Compiling DifferenceKit ContentIdentifiable.swift
[12/16] Compiling DifferenceKit ContentEquatable.swift
[13/16] Compiling DifferenceKit ArraySection.swift
[14/16] Compiling DifferenceKit Changeset.swift
[15/16] Emitting module DifferenceKit
[16/16] Compiling DifferenceKit AppKitExtension.swift
[17/26] Compiling DiffableDataSources TableViewDiffableDataSource.swift
[18/26] Compiling DiffableDataSources CollectionViewDiffableDataSource.swift
[19/26] Compiling DiffableDataSources UniversalError.swift
[20/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 |             }
[21/26] Compiling DiffableDataSources DiffableDataSourceSnapshot.swift
[22/26] Compiling DiffableDataSources HashableExtension.swift
[23/26] Compiling DiffableDataSources DiffableDataSourceCore.swift
[24/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 |
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 '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
[25/26] Compiling DiffableDataSources SnapshotStructure.swift
[26/26] Emitting module DiffableDataSources
Build complete! (16.24s)
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.