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 Dwifft 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/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
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/jflinter/Dwifft.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/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/8] Compiling Dwifft SectionedValues.swift
[4/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 |         }
[5/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
 50 |     }
 51 |
 52 |     override internal func processChanges(newState: SectionedValues<Int, Value>, diff: [SectionedDiffStep<Int, Value>]) {
    |                            `- note: add '@MainActor' to make instance method 'processChanges(newState:diff:)' part of global actor 'MainActor'
 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
 50 |     }
 51 |
 52 |     override internal func processChanges(newState: SectionedValues<Int, Value>, diff: [SectionedDiffStep<Int, Value>]) {
    |                            `- note: add '@MainActor' to make instance method 'processChanges(newState:diff:)' part of global actor 'MainActor'
 53 |         guard let tableView = self.tableView else { return }
 54 |         tableView.beginUpdates()
    :
 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
 50 |     }
 51 |
 52 |     override internal func processChanges(newState: SectionedValues<Int, Value>, diff: [SectionedDiffStep<Int, Value>]) {
    |                            `- note: add '@MainActor' to make instance method 'processChanges(newState:diff:)' part of global actor 'MainActor'
 53 |         guard let tableView = self.tableView else { return }
 54 |         tableView.beginUpdates()
    :
 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
 50 |     }
 51 |
 52 |     override internal func processChanges(newState: SectionedValues<Int, Value>, diff: [SectionedDiffStep<Int, Value>]) {
    |                            `- note: add '@MainActor' to make instance method 'processChanges(newState:diff:)' part of global actor 'MainActor'
 53 |         guard let tableView = self.tableView else { return }
 54 |         tableView.beginUpdates()
    :
 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
125 |     }
126 |
127 |     override internal func processChanges(newState: SectionedValues<Section, Value>, diff: [SectionedDiffStep<Section, Value>]) {
    |                            `- note: add '@MainActor' to make instance method 'processChanges(newState:diff:)' part of global actor 'MainActor'
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
125 |     }
126 |
127 |     override internal func processChanges(newState: SectionedValues<Section, Value>, diff: [SectionedDiffStep<Section, Value>]) {
    |                            `- note: add '@MainActor' to make instance method 'processChanges(newState:diff:)' part of global actor 'MainActor'
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 non-isolated 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 non-isolated 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 non-isolated 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 non-isolated 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 {
[6/8] Compiling Dwifft Dwifft+UIKit.swift
[7/8] Emitting module Dwifft
[8/8] Compiling Dwifft AbstractDiffCalculator.swift
Build complete! (23.09s)
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.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.