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 Dwifft, reference master (6fec2b), with Swift 6.0 for macOS (SPM) on 27 Nov 2024 11:12:18 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/jflinter/Dwifft.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jflinter/Dwifft
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 6fec2bc Merge pull request #100 from DenTelezhkin/swift-pm
Cloned https://github.com/jflinter/Dwifft.git
Revision (git rev-parse @):
6fec2bc0246091b3e17a9d42e722fb98e05ac3ff
SUCCESS checkout https://github.com/jflinter/Dwifft.git at master
========================================
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": "dwifft",
      "name": "Dwifft",
      "url": "https://github.com/jflinter/Dwifft.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Dwifft",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/jflinter/Dwifft.git
[16/1590] Fetching dwifft
Fetched https://github.com/jflinter/Dwifft.git from cache (1.24s)
Creating working copy for https://github.com/jflinter/Dwifft.git
Working copy of https://github.com/jflinter/Dwifft.git resolved at master (6fec2bc)
warning: '.resolve-product-dependencies': dependency 'dwifft' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/jflinter/Dwifft.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/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/8] Compiling Dwifft SectionedValues.swift
[4/8] Compiling Dwifft AbstractDiffCalculator.swift
[5/8] Compiling Dwifft Dwifft.swift
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft.swift:39:26: warning: enum case 'insert' has 2 associated values; matching them as a tuple is deprecated
 11 | public enum DiffStep<Value> : CustomDebugStringConvertible {
 12 |     /// An insertion.
 13 |     case insert(Int, Value)
    |          `- note: 'insert' declared here
 14 |     /// A deletion.
 15 |     case delete(Int, Value)
    :
 37 |     public var value: Value {
 38 |         switch(self) {
 39 |         case let .insert(j):
    |                          `- warning: enum case 'insert' has 2 associated values; matching them as a tuple is deprecated
 40 |             return j.1
 41 |         case let .delete(j):
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft.swift:41:26: warning: enum case 'delete' has 2 associated values; matching them as a tuple is deprecated
 13 |     case insert(Int, Value)
 14 |     /// A deletion.
 15 |     case delete(Int, Value)
    |          `- note: 'delete' declared here
 16 |
 17 |     public var debugDescription: String {
    :
 39 |         case let .insert(j):
 40 |             return j.1
 41 |         case let .delete(j):
    |                          `- warning: enum case 'delete' has 2 associated values; matching them as a tuple is deprecated
 42 |             return j.1
 43 |         }
[6/8] Emitting module Dwifft
[7/8] Compiling Dwifft Dwifft+UIKit.swift
[8/8] Compiling Dwifft Dwifft+AppKit.swift
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:54:19: warning: call to main actor-isolated instance method 'beginUpdates()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 52 |     override internal func processChanges(newState: SectionedValues<Int, Value>, diff: [SectionedDiffStep<Int, Value>]) {
 53 |         guard let tableView = self.tableView else { return }
 54 |         tableView.beginUpdates()
    |                   `- warning: call to main actor-isolated instance method 'beginUpdates()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 55 |         self._sectionedValues = newState
 56 |         for result in diff {
AppKit.NSTableView:173:26: note: calls to instance method 'beginUpdates()' from outside of its actor context are implicitly asynchronous
171 |     open var rowActionsVisible: Bool { get set }
172 |     @available(macOS 10.7, *)
173 |     @MainActor open func beginUpdates()
    |                          `- note: calls to instance method 'beginUpdates()' from outside of its actor context are implicitly asynchronous
174 |     @available(macOS 10.7, *)
175 |     @MainActor open func endUpdates()
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:58:52: warning: call to main actor-isolated instance method 'removeRows(at:withAnimation:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 56 |         for result in diff {
 57 |             switch result {
 58 |             case let .delete(_, row, _): tableView.removeRows(at: [row], withAnimation: self.deletionAnimation)
    |                                                    `- warning: call to main actor-isolated instance method 'removeRows(at:withAnimation:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 59 |             case let .insert(_, row, _): tableView.insertRows(at: [row], withAnimation: self.insertionAnimation)
 60 |             default: fatalError("NSTableViews do not have sections")
AppKit.NSTableView:182:26: note: calls to instance method 'removeRows(at:withAnimation:)' from outside of its actor context are implicitly asynchronous
180 |     open func insertRowsAtIndexes(_ indexes: IndexSet, withAnimation animationOptions: NSTableView.AnimationOptions = [])
181 |     @available(macOS 10.7, *)
182 |     @MainActor open func removeRows(at indexes: IndexSet, withAnimation animationOptions: NSTableView.AnimationOptions = [])
    |                          `- note: calls to instance method 'removeRows(at:withAnimation:)' from outside of its actor context are implicitly asynchronous
183 |     @available(macOS 10.7, *)
184 |     @available(swift, obsoleted: 3, renamed: "removeRows(at:withAnimation:)")
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:59:52: warning: call to main actor-isolated instance method 'insertRows(at:withAnimation:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 57 |             switch result {
 58 |             case let .delete(_, row, _): tableView.removeRows(at: [row], withAnimation: self.deletionAnimation)
 59 |             case let .insert(_, row, _): tableView.insertRows(at: [row], withAnimation: self.insertionAnimation)
    |                                                    `- warning: call to main actor-isolated instance method 'insertRows(at:withAnimation:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 60 |             default: fatalError("NSTableViews do not have sections")
 61 |             }
AppKit.NSTableView:177:26: note: calls to instance method 'insertRows(at:withAnimation:)' from outside of its actor context are implicitly asynchronous
175 |     @MainActor open func endUpdates()
176 |     @available(macOS 10.7, *)
177 |     @MainActor open func insertRows(at indexes: IndexSet, withAnimation animationOptions: NSTableView.AnimationOptions = [])
    |                          `- note: calls to instance method 'insertRows(at:withAnimation:)' from outside of its actor context are implicitly asynchronous
178 |     @available(macOS 10.7, *)
179 |     @available(swift, obsoleted: 3, renamed: "insertRows(at:withAnimation:)")
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:63:19: warning: call to main actor-isolated instance method 'endUpdates()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 61 |             }
 62 |         }
 63 |         tableView.endUpdates()
    |                   `- warning: call to main actor-isolated instance method 'endUpdates()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 64 |     }
 65 |
AppKit.NSTableView:175:26: note: calls to instance method 'endUpdates()' from outside of its actor context are implicitly asynchronous
173 |     @MainActor open func beginUpdates()
174 |     @available(macOS 10.7, *)
175 |     @MainActor open func endUpdates()
    |                          `- note: calls to instance method 'endUpdates()' from outside of its actor context are implicitly asynchronous
176 |     @available(macOS 10.7, *)
177 |     @MainActor open func insertRows(at indexes: IndexSet, withAnimation animationOptions: NSTableView.AnimationOptions = [])
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:129:35: warning: call to main actor-isolated instance method 'performBatchUpdates(_:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 |     override internal func processChanges(newState: SectionedValues<Section, Value>, diff: [SectionedDiffStep<Section, Value>]) {
128 |         guard let collectionView = self.collectionView else { return }
129 |         collectionView.animator().performBatchUpdates({
    |                                   `- warning: call to main actor-isolated instance method 'performBatchUpdates(_:completionHandler:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
130 |             self._sectionedValues = newState
131 |             for result in diff {
AppKit.NSCollectionView:167:26: note: calls to instance method 'performBatchUpdates(_:completionHandler:)' from outside of its actor context are implicitly asynchronous
165 |     open func moveItemAtIndexPath(_ indexPath: IndexPath, toIndexPath newIndexPath: IndexPath)
166 |     @available(macOS 10.11, *)
167 |     @MainActor open func performBatchUpdates(_ updates: (() -> Void)?, completionHandler: ((Bool) -> Void)? = nil)
    |                          `- note: calls to instance method 'performBatchUpdates(_:completionHandler:)' from outside of its actor context are implicitly asynchronous
168 |     @available(macOS 10.11, *)
169 |     open func performBatchUpdates(_ updates: (() -> Void)?) async -> Bool
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:129:24: warning: call to main actor-isolated instance method 'animator()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 |     override internal func processChanges(newState: SectionedValues<Section, Value>, diff: [SectionedDiffStep<Section, Value>]) {
128 |         guard let collectionView = self.collectionView else { return }
129 |         collectionView.animator().performBatchUpdates({
    |                        `- warning: call to main actor-isolated instance method 'animator()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
130 |             self._sectionedValues = newState
131 |             for result in diff {
AppKit.NSView:363:26: note: calls to instance method 'animator()' from outside of its actor context are implicitly asynchronous
361 |     open var effectiveAppearance: NSAppearance { get }
362 |     @available(macOS 10.5, *)
363 |     @MainActor open func animator() -> Self
    |                          `- note: calls to instance method 'animator()' from outside of its actor context are implicitly asynchronous
364 |     @available(macOS 10.5, *)
365 |     open func animation(forKey key: NSAnimatablePropertyKey) -> Any?
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:133:68: warning: call to main actor-isolated instance method 'deleteItems(at:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
131 |             for result in diff {
132 |                 switch result {
133 |                 case let .delete(section, item, _): collectionView.deleteItems(at: [IndexPath(item: item, section: section)])
    |                                                                    `- warning: call to main actor-isolated instance method 'deleteItems(at:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
134 |                 case let .insert(section, item, _): collectionView.insertItems(at: [IndexPath(item: item, section: section)])
135 |                 case let .sectionDelete(section, _): collectionView.deleteSections(IndexSet(integer: section))
AppKit.NSCollectionView:152:26: note: calls to instance method 'deleteItems(at:)' from outside of its actor context are implicitly asynchronous
150 |     open func insertItemsAtIndexPaths(_ indexPaths: Set<IndexPath>)
151 |     @available(macOS 10.11, *)
152 |     @MainActor open func deleteItems(at indexPaths: Set<IndexPath>)
    |                          `- note: calls to instance method 'deleteItems(at:)' from outside of its actor context are implicitly asynchronous
153 |     @available(macOS 10.11, *)
154 |     @available(swift, obsoleted: 3, renamed: "deleteItems(at:)")
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:134:68: warning: call to main actor-isolated instance method 'insertItems(at:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
132 |                 switch result {
133 |                 case let .delete(section, item, _): collectionView.deleteItems(at: [IndexPath(item: item, section: section)])
134 |                 case let .insert(section, item, _): collectionView.insertItems(at: [IndexPath(item: item, section: section)])
    |                                                                    `- warning: call to main actor-isolated instance method 'insertItems(at:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
135 |                 case let .sectionDelete(section, _): collectionView.deleteSections(IndexSet(integer: section))
136 |                 case let .sectionInsert(section, _):
AppKit.NSCollectionView:147:26: note: calls to instance method 'insertItems(at:)' from outside of its actor context are implicitly asynchronous
145 |     open func moveSection(_ section: Int, toSection newSection: Int)
146 |     @available(macOS 10.11, *)
147 |     @MainActor open func insertItems(at indexPaths: Set<IndexPath>)
    |                          `- note: calls to instance method 'insertItems(at:)' from outside of its actor context are implicitly asynchronous
148 |     @available(macOS 10.11, *)
149 |     @available(swift, obsoleted: 3, renamed: "insertItems(at:)")
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:135:69: warning: call to main actor-isolated instance method 'deleteSections' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
133 |                 case let .delete(section, item, _): collectionView.deleteItems(at: [IndexPath(item: item, section: section)])
134 |                 case let .insert(section, item, _): collectionView.insertItems(at: [IndexPath(item: item, section: section)])
135 |                 case let .sectionDelete(section, _): collectionView.deleteSections(IndexSet(integer: section))
    |                                                                     `- warning: call to main actor-isolated instance method 'deleteSections' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
136 |                 case let .sectionInsert(section, _):
137 |                     // NSCollectionViews don't seem to like it when inserting sections beyond numberOfSections
AppKit.NSCollectionView:141:26: note: calls to instance method 'deleteSections' from outside of its actor context are implicitly asynchronous
139 |     @MainActor open func insertSections(_ sections: IndexSet)
140 |     @available(macOS 10.11, *)
141 |     @MainActor open func deleteSections(_ sections: IndexSet)
    |                          `- note: calls to instance method 'deleteSections' from outside of its actor context are implicitly asynchronous
142 |     @available(macOS 10.11, *)
143 |     open func reloadSections(_ sections: IndexSet)
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:139:49: warning: main actor-isolated property 'numberOfSections' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
137 |                     // NSCollectionViews don't seem to like it when inserting sections beyond numberOfSections
138 |                     // so adjust for that
139 |                     if section > collectionView.numberOfSections {
    |                                                 `- warning: main actor-isolated property 'numberOfSections' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
140 |                         collectionView.insertSections(IndexSet(integer: collectionView.numberOfSections))
141 |                     } else {
AppKit.NSCollectionView:39:14: note: property declared here
 37 |     open var backgroundColors: [NSColor]! { get set }
 38 |     @available(macOS 10.11, *)
 39 |     open var numberOfSections: Int { get }
    |              `- note: property declared here
 40 |     @available(macOS 10.11, *)
 41 |     open func numberOfItems(inSection section: Int) -> Int
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:140:40: warning: call to main actor-isolated instance method 'insertSections' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
138 |                     // so adjust for that
139 |                     if section > collectionView.numberOfSections {
140 |                         collectionView.insertSections(IndexSet(integer: collectionView.numberOfSections))
    |                                        `- warning: call to main actor-isolated instance method 'insertSections' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
141 |                     } else {
142 |                         collectionView.insertSections(IndexSet(integer: section))
AppKit.NSCollectionView:139:26: note: calls to instance method 'insertSections' from outside of its actor context are implicitly asynchronous
137 |     open func indexPathsForVisibleSupplementaryElementsOfKind(_ elementKind: NSCollectionView.SupplementaryElementKind) -> Set<IndexPath>
138 |     @available(macOS 10.11, *)
139 |     @MainActor open func insertSections(_ sections: IndexSet)
    |                          `- note: calls to instance method 'insertSections' from outside of its actor context are implicitly asynchronous
140 |     @available(macOS 10.11, *)
141 |     @MainActor open func deleteSections(_ sections: IndexSet)
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:140:88: warning: main actor-isolated property 'numberOfSections' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
138 |                     // so adjust for that
139 |                     if section > collectionView.numberOfSections {
140 |                         collectionView.insertSections(IndexSet(integer: collectionView.numberOfSections))
    |                                                                                        `- warning: main actor-isolated property 'numberOfSections' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
141 |                     } else {
142 |                         collectionView.insertSections(IndexSet(integer: section))
AppKit.NSCollectionView:39:14: note: property declared here
 37 |     open var backgroundColors: [NSColor]! { get set }
 38 |     @available(macOS 10.11, *)
 39 |     open var numberOfSections: Int { get }
    |              `- note: property declared here
 40 |     @available(macOS 10.11, *)
 41 |     open func numberOfItems(inSection section: Int) -> Int
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:142:40: warning: call to main actor-isolated instance method 'insertSections' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
140 |                         collectionView.insertSections(IndexSet(integer: collectionView.numberOfSections))
141 |                     } else {
142 |                         collectionView.insertSections(IndexSet(integer: section))
    |                                        `- warning: call to main actor-isolated instance method 'insertSections' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
143 |                     }
144 |                 }
AppKit.NSCollectionView:139:26: note: calls to instance method 'insertSections' from outside of its actor context are implicitly asynchronous
137 |     open func indexPathsForVisibleSupplementaryElementsOfKind(_ elementKind: NSCollectionView.SupplementaryElementKind) -> Set<IndexPath>
138 |     @available(macOS 10.11, *)
139 |     @MainActor open func insertSections(_ sections: IndexSet)
    |                          `- note: calls to instance method 'insertSections' from outside of its actor context are implicitly asynchronous
140 |     @available(macOS 10.11, *)
141 |     @MainActor open func deleteSections(_ sections: IndexSet)
/Users/admin/builder/spi-builder-workspace/Dwifft/Dwifft+AppKit.swift:129:35: warning: sending task-isolated value of type '() -> Void' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
127 |     override internal func processChanges(newState: SectionedValues<Section, Value>, diff: [SectionedDiffStep<Section, Value>]) {
128 |         guard let collectionView = self.collectionView else { return }
129 |         collectionView.animator().performBatchUpdates({
    |                                   `- warning: sending task-isolated value of type '() -> Void' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
130 |             self._sectionedValues = newState
131 |             for result in diff {
Build complete! (7.92s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Dwifft",
  "name" : "Dwifft",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "8.0"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    },
    {
      "name" : "macos",
      "version" : "10.11"
    }
  ],
  "products" : [
    {
      "name" : "Dwifft",
      "targets" : [
        "Dwifft"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "Dwifft",
      "module_type" : "SwiftTarget",
      "name" : "Dwifft",
      "path" : "Dwifft",
      "product_memberships" : [
        "Dwifft"
      ],
      "sources" : [
        "AbstractDiffCalculator.swift",
        "Dwifft+AppKit.swift",
        "Dwifft+UIKit.swift",
        "Dwifft.swift",
        "SectionedValues.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.