Build Information
Successful build of FlexibleDiff, reference master (a51327
), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 13:11:39 UTC.
Swift 6 data race errors: 2
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
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/RACCommunity/FlexibleDiff.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/RACCommunity/FlexibleDiff
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at a513271 Bumping minimum deployment target to iOS 9.0 (#18)
Submodule path 'Carthage/Checkouts/Nimble': checked out '43304bf2b1579fd555f2fdd51742771c1e4f2b98'
Submodule path 'Carthage/Checkouts/Quick': checked out '94df9b449508344667e5afc7e80f8bcbff1e4c37'
Submodule path 'Carthage/Checkouts/Quick/Externals/Nimble': checked out '43304bf2b1579fd555f2fdd51742771c1e4f2b98'
Submodule path 'Carthage/Checkouts/xcconfigs': checked out 'd0f8992afad45262cfe3a3cf512e7127fdcf296c'
Submodule 'Carthage/Checkouts/Nimble' (https://github.com/Quick/Nimble.git) registered for path 'Carthage/Checkouts/Nimble'
Submodule 'Carthage/Checkouts/Quick' (https://github.com/Quick/Quick.git) registered for path 'Carthage/Checkouts/Quick'
Submodule 'Carthage/Checkouts/xcconfigs' (https://github.com/jspahrsummers/xcconfigs.git) registered for path 'Carthage/Checkouts/xcconfigs'
Cloning into '/Users/admin/builder/spi-builder-workspace/Carthage/Checkouts/Nimble'...
Cloning into '/Users/admin/builder/spi-builder-workspace/Carthage/Checkouts/Quick'...
Cloning into '/Users/admin/builder/spi-builder-workspace/Carthage/Checkouts/xcconfigs'...
Submodule 'Externals/Nimble' (https://github.com/Quick/Nimble.git) registered for path 'Carthage/Checkouts/Quick/Externals/Nimble'
Cloning into '/Users/admin/builder/spi-builder-workspace/Carthage/Checkouts/Quick/Externals/Nimble'...
Cloned https://github.com/RACCommunity/FlexibleDiff.git
Revision (git rev-parse @):
a5132719a812111ef7eaea647a659a351b15abf4
SUCCESS checkout https://github.com/RACCommunity/FlexibleDiff.git at master
Fetching https://github.com/Quick/Quick.git
Fetching https://github.com/Quick/Nimble.git
[1/14723] Fetching quick
[11633/33941] Fetching quick, nimble
Fetched https://github.com/Quick/Nimble.git from cache (4.41s)
Fetched https://github.com/Quick/Quick.git from cache (4.41s)
Computing version for https://github.com/Quick/Quick.git
Computed https://github.com/Quick/Quick.git at 2.2.1 (0.74s)
Computing version for https://github.com/Quick/Nimble.git
Computed https://github.com/Quick/Nimble.git at 8.1.2 (0.67s)
Creating working copy for https://github.com/Quick/Quick.git
Working copy of https://github.com/Quick/Quick.git resolved at 2.2.1
Creating working copy for https://github.com/Quick/Nimble.git
Working copy of https://github.com/Quick/Nimble.git resolved at 8.1.2
========================================
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": "flexiblediff",
"name": "FlexibleDiff",
"url": "https://github.com/RACCommunity/FlexibleDiff.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/FlexibleDiff",
"dependencies": [
{
"identity": "quick",
"name": "Quick",
"url": "https://github.com/Quick/Quick.git",
"version": "2.2.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Quick",
"dependencies": [
{
"identity": "nimble",
"name": "Nimble",
"url": "https://github.com/Quick/Nimble.git",
"version": "8.1.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Nimble",
"dependencies": [
]
}
]
},
{
"identity": "nimble",
"name": "Nimble",
"url": "https://github.com/Quick/Nimble.git",
"version": "8.1.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Nimble",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/RACCommunity/FlexibleDiff.git
[1/327] Fetching flexiblediff
Fetched https://github.com/RACCommunity/FlexibleDiff.git from cache (0.83s)
Fetching https://github.com/Quick/Quick.git from cache
Fetching https://github.com/Quick/Nimble.git from cache
Fetched https://github.com/Quick/Nimble.git from cache (0.62s)
Fetched https://github.com/Quick/Quick.git from cache (0.62s)
Computing version for https://github.com/Quick/Quick.git
Computed https://github.com/Quick/Quick.git at 2.2.1 (0.04s)
Computing version for https://github.com/Quick/Nimble.git
Computed https://github.com/Quick/Nimble.git at 8.1.2 (0.04s)
Creating working copy for https://github.com/Quick/Quick.git
Working copy of https://github.com/Quick/Quick.git resolved at 2.2.1
Creating working copy for https://github.com/Quick/Nimble.git
Working copy of https://github.com/Quick/Nimble.git resolved at 8.1.2
Creating working copy for https://github.com/RACCommunity/FlexibleDiff.git
Working copy of https://github.com/RACCommunity/FlexibleDiff.git resolved at master (a513271)
warning: '.resolve-product-dependencies': dependency 'flexiblediff' is not used by any target
Found 2 product dependencies
- Quick
- Nimble
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/RACCommunity/FlexibleDiff.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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/6] Compiling FlexibleDiff Snapshot.swift
[4/6] Compiling FlexibleDiff SectionedChangeset.swift
[5/6] Emitting module FlexibleDiff
/Users/admin/builder/spi-builder-workspace/FlexibleDiff/Changeset.swift:440:21: warning: static property 'value' is not concurrency-safe because non-'Sendable' type 'Changeset.ObjectDiffStrategy' may have shared mutable state; this is an error in the Swift 6 language mode
428 | /// The comparison strategies used by the collection diffing operators on collections
429 | /// that contain `Hashable` objects.
430 | public struct ObjectDiffStrategy {
| `- note: consider making struct 'ObjectDiffStrategy' conform to the 'Sendable' protocol
431 | fileprivate enum Kind {
432 | case identity
:
438 |
439 | /// Compare the elements by their value equality.
440 | public static let value = ObjectDiffStrategy(kind: .value)
| |- warning: static property 'value' is not concurrency-safe because non-'Sendable' type 'Changeset.ObjectDiffStrategy' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'value' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
441 |
442 | fileprivate let kind: Kind
/Users/admin/builder/spi-builder-workspace/FlexibleDiff/Changeset.swift:437:21: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Changeset.ObjectDiffStrategy' may have shared mutable state; this is an error in the Swift 6 language mode
428 | /// The comparison strategies used by the collection diffing operators on collections
429 | /// that contain `Hashable` objects.
430 | public struct ObjectDiffStrategy {
| `- note: consider making struct 'ObjectDiffStrategy' conform to the 'Sendable' protocol
431 | fileprivate enum Kind {
432 | case identity
:
435 |
436 | /// Compare the elements by their object identity.
437 | public static let identity = ObjectDiffStrategy(kind: .identity)
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Changeset.ObjectDiffStrategy' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
438 |
439 | /// Compare the elements by their value equality.
[6/6] Compiling FlexibleDiff Changeset.swift
/Users/admin/builder/spi-builder-workspace/FlexibleDiff/Changeset.swift:440:21: warning: static property 'value' is not concurrency-safe because non-'Sendable' type 'Changeset.ObjectDiffStrategy' may have shared mutable state; this is an error in the Swift 6 language mode
428 | /// The comparison strategies used by the collection diffing operators on collections
429 | /// that contain `Hashable` objects.
430 | public struct ObjectDiffStrategy {
| `- note: consider making struct 'ObjectDiffStrategy' conform to the 'Sendable' protocol
431 | fileprivate enum Kind {
432 | case identity
:
438 |
439 | /// Compare the elements by their value equality.
440 | public static let value = ObjectDiffStrategy(kind: .value)
| |- warning: static property 'value' is not concurrency-safe because non-'Sendable' type 'Changeset.ObjectDiffStrategy' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'value' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
441 |
442 | fileprivate let kind: Kind
/Users/admin/builder/spi-builder-workspace/FlexibleDiff/Changeset.swift:437:21: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Changeset.ObjectDiffStrategy' may have shared mutable state; this is an error in the Swift 6 language mode
428 | /// The comparison strategies used by the collection diffing operators on collections
429 | /// that contain `Hashable` objects.
430 | public struct ObjectDiffStrategy {
| `- note: consider making struct 'ObjectDiffStrategy' conform to the 'Sendable' protocol
431 | fileprivate enum Kind {
432 | case identity
:
435 |
436 | /// Compare the elements by their object identity.
437 | public static let identity = ObjectDiffStrategy(kind: .identity)
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Changeset.ObjectDiffStrategy' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'identity' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
438 |
439 | /// Compare the elements by their value equality.
/Users/admin/builder/spi-builder-workspace/FlexibleDiff/Changeset.swift:145:7: warning: variable 'oldIdentifiers' was never mutated; consider changing to 'let' constant
143 | var table: [Identifier: DiffEntry] = Dictionary(minimumCapacity: Int(current.count))
144 |
145 | var oldIdentifiers = ContiguousArray(previous.map(identifier))
| `- warning: variable 'oldIdentifiers' was never mutated; consider changing to 'let' constant
146 | var newIdentifiers = ContiguousArray(current.map(identifier))
147 |
/Users/admin/builder/spi-builder-workspace/FlexibleDiff/Changeset.swift:146:7: warning: variable 'newIdentifiers' was never mutated; consider changing to 'let' constant
144 |
145 | var oldIdentifiers = ContiguousArray(previous.map(identifier))
146 | var newIdentifiers = ContiguousArray(current.map(identifier))
| `- warning: variable 'newIdentifiers' was never mutated; consider changing to 'let' constant
147 |
148 | var oldReferences: [DiffReference] = []
Build complete! (7.68s)
Build complete.
{
"dependencies" : [
{
"identity" : "quick",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Quick.git"
},
{
"identity" : "nimble",
"requirement" : {
"range" : [
{
"lower_bound" : "8.0.0",
"upper_bound" : "9.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Nimble.git"
}
],
"manifest_display_name" : "FlexibleDiff",
"name" : "FlexibleDiff",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "FlexibleDiff",
"targets" : [
"FlexibleDiff"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "FlexibleDiffTests",
"module_type" : "SwiftTarget",
"name" : "FlexibleDiffTests",
"path" : "FlexibleDiffTests",
"product_dependencies" : [
"Quick",
"Nimble"
],
"sources" : [
"ChangesetSpec.swift",
"Delta+NimbleMatcher.swift",
"ReproducibilityTest.swift",
"SectionedChangesetSpec.swift"
],
"target_dependencies" : [
"FlexibleDiff"
],
"type" : "test"
},
{
"c99name" : "FlexibleDiff",
"module_type" : "SwiftTarget",
"name" : "FlexibleDiff",
"path" : "FlexibleDiff",
"product_memberships" : [
"FlexibleDiff"
],
"sources" : [
"Changeset.swift",
"SectionedChangeset.swift",
"Snapshot.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.