Build Information
Successful build of YPersistence, reference 1.1.0 (7de3f7
), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 22:08:01 UTC.
Swift 6 data race errors: 1
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.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.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/codeandtheory/ypersistence-ios.git
Reference: 1.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/codeandtheory/ypersistence-ios
* tag 1.1.0 -> FETCH_HEAD
HEAD is now at 7de3f7c [1346] Mark functionality for records (#14)
Cloned https://github.com/codeandtheory/ypersistence-ios.git
Revision (git rev-parse @):
7de3f7c4ef82dabd8db12406cfb5b7c004caef45
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/codeandtheory/ypersistence-ios.git at 1.1.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": "ypersistence-ios",
"name": "YPersistence",
"url": "https://github.com/codeandtheory/ypersistence-ios.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ypersistence-ios",
"dependencies": [
]
}
]
}
Fetching https://github.com/codeandtheory/ypersistence-ios.git
[9/432] Fetching ypersistence-ios
Fetched https://github.com/codeandtheory/ypersistence-ios.git from cache (1.22s)
Creating working copy for https://github.com/codeandtheory/ypersistence-ios.git
Working copy of https://github.com/codeandtheory/ypersistence-ios.git resolved at 1.1.0 (7de3f7c)
warning: '.resolve-product-dependencies': dependency 'ypersistence-ios' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/codeandtheory/ypersistence-ios.git
https://github.com/codeandtheory/ypersistence-ios.git
{
"dependencies" : [
],
"manifest_display_name" : "YPersistence",
"name" : "YPersistence",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "YPersistence",
"targets" : [
"YPersistence"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "YPersistenceTests",
"module_type" : "SwiftTarget",
"name" : "YPersistenceTests",
"path" : "Tests/YPersistenceTests",
"sources" : [
"DataModel/Human/ManagedFruit.swift",
"DataModel/Human/ManagedGroceryProduct.swift",
"DataModel/Machine/_ManagedFruit.swift",
"DataModel/Machine/_ManagedGroceryProduct.swift",
"DataModel/Mocks/Fruit.swift",
"DataModel/Mocks/GroceryProduct.swift",
"Extensions/DispatchQueue+executeOnMainTests.swift",
"Extensions/NSManagedObjectContext+SaveChangesTests.swift",
"Extensions/NSManagedObjectModel+initTests.swift",
"Manager/PersistenceManager+BulkDeleteTests.swift",
"Manager/PersistenceManager+ClearTests.swift",
"Manager/PersistenceManager+DeleteTests.swift",
"Manager/PersistenceManager+FetchTests.swift",
"Manager/PersistenceManager+SaveTests.swift",
"Manager/PersistenceManager+SyncTests.swift",
"Manager/PersistenceManagerBaseTests.swift",
"Manager/PersistenceManagerTests.swift",
"Protocols/DataRecordTests.swift",
"Protocols/SyncRecordTests.swift",
"SortColumnTests.swift",
"SortInfoTests.swift"
],
"target_dependencies" : [
"YPersistence"
],
"type" : "test"
},
{
"c99name" : "YPersistence",
"module_type" : "SwiftTarget",
"name" : "YPersistence",
"path" : "Sources/YPersistence",
"product_memberships" : [
"YPersistence"
],
"sources" : [
"Extensions/DispatchQueue+executeOnMain.swift",
"Extensions/NSManagedObjectContext+SaveChanges.swift",
"Extensions/NSManagedObjectModel+init.swift",
"Manager/PersistenceManager+BulkDelete.swift",
"Manager/PersistenceManager+Clear.swift",
"Manager/PersistenceManager+Delete.swift",
"Manager/PersistenceManager+Fetch.swift",
"Manager/PersistenceManager+Save.swift",
"Manager/PersistenceManager+Sync.swift",
"Manager/PersistenceManager.swift",
"Protocols/CoreModel.swift",
"Protocols/DataRecord.swift",
"Protocols/ModelRepresentable.swift",
"Protocols/RecordFromModel.swift",
"Protocols/RecordToModel.swift",
"Protocols/SyncRecord.swift",
"SortColumn.swift",
"SortInfo.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.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-2F0A5646E1D333AE.txt
[3/20] Compiling YPersistence ModelRepresentable.swift
[4/20] Compiling YPersistence RecordFromModel.swift
[5/21] Compiling YPersistence SortColumn.swift
[6/21] Compiling YPersistence PersistenceManager+Sync.swift
/Users/admin/builder/spi-builder-workspace/Sources/YPersistence/Manager/PersistenceManager.swift:25:61: warning: reference to var 'NSErrorMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
23 | /// - mergePolicy: The merge policy to use for each context. Default = `NSErrorMergePolicy`.
24 | /// It is the only policy that requires action to correct any potential conflicts.
25 | public init(modelName: String, mergePolicy: AnyObject = NSErrorMergePolicy, bundle: Bundle = .main) {
| `- warning: reference to var 'NSErrorMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
26 | guard let model = NSManagedObjectModel(from: modelName, in: bundle) else {
27 | preconditionFailure("There must be a valid Core Data model.")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreData.framework/Headers/NSMergePolicy.h:19:20: note: var declared here
17 |
18 | // Default policy for all managed object contexts - save returns with an error that contains the object IDs of the objects that had conflicts(NSInsertedObjectsKey, NSUpdatedObjectsKey).
19 | COREDATA_EXTERN id NSErrorMergePolicy API_AVAILABLE(macosx(10.4),ios(3.0));
| `- note: var declared here
20 |
21 | // This singleton policy merges conflicts between the persistent store's version of the object and the current in memory version. The merge occurs by individual property. For properties which have been changed in both the external source and in memory, the external changes trump the in memory ones.
[7/21] Compiling YPersistence PersistenceManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/YPersistence/Manager/PersistenceManager.swift:25:61: warning: reference to var 'NSErrorMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
23 | /// - mergePolicy: The merge policy to use for each context. Default = `NSErrorMergePolicy`.
24 | /// It is the only policy that requires action to correct any potential conflicts.
25 | public init(modelName: String, mergePolicy: AnyObject = NSErrorMergePolicy, bundle: Bundle = .main) {
| `- warning: reference to var 'NSErrorMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
26 | guard let model = NSManagedObjectModel(from: modelName, in: bundle) else {
27 | preconditionFailure("There must be a valid Core Data model.")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreData.framework/Headers/NSMergePolicy.h:19:20: note: var declared here
17 |
18 | // Default policy for all managed object contexts - save returns with an error that contains the object IDs of the objects that had conflicts(NSInsertedObjectsKey, NSUpdatedObjectsKey).
19 | COREDATA_EXTERN id NSErrorMergePolicy API_AVAILABLE(macosx(10.4),ios(3.0));
| `- note: var declared here
20 |
21 | // This singleton policy merges conflicts between the persistent store's version of the object and the current in memory version. The merge occurs by individual property. For properties which have been changed in both the external source and in memory, the external changes trump the in memory ones.
[8/21] Compiling YPersistence RecordToModel.swift
[9/21] Compiling YPersistence SyncRecord.swift
[10/21] Compiling YPersistence CoreModel.swift
[11/21] Compiling YPersistence DataRecord.swift
[12/21] Compiling YPersistence PersistenceManager+Fetch.swift
[13/21] Compiling YPersistence PersistenceManager+Save.swift
[14/21] Emitting module YPersistence
/Users/admin/builder/spi-builder-workspace/Sources/YPersistence/Manager/PersistenceManager.swift:25:61: warning: reference to var 'NSErrorMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
23 | /// - mergePolicy: The merge policy to use for each context. Default = `NSErrorMergePolicy`.
24 | /// It is the only policy that requires action to correct any potential conflicts.
25 | public init(modelName: String, mergePolicy: AnyObject = NSErrorMergePolicy, bundle: Bundle = .main) {
| `- warning: reference to var 'NSErrorMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
26 | guard let model = NSManagedObjectModel(from: modelName, in: bundle) else {
27 | preconditionFailure("There must be a valid Core Data model.")
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreData.framework/Headers/NSMergePolicy.h:19:20: note: var declared here
17 |
18 | // Default policy for all managed object contexts - save returns with an error that contains the object IDs of the objects that had conflicts(NSInsertedObjectsKey, NSUpdatedObjectsKey).
19 | COREDATA_EXTERN id NSErrorMergePolicy API_AVAILABLE(macosx(10.4),ios(3.0));
| `- note: var declared here
20 |
21 | // This singleton policy merges conflicts between the persistent store's version of the object and the current in memory version. The merge occurs by individual property. For properties which have been changed in both the external source and in memory, the external changes trump the in memory ones.
[15/21] Compiling YPersistence NSManagedObjectModel+init.swift
[16/21] Compiling YPersistence PersistenceManager+BulkDelete.swift
[17/21] Compiling YPersistence DispatchQueue+executeOnMain.swift
/Users/admin/builder/spi-builder-workspace/Sources/YPersistence/Extensions/DispatchQueue+executeOnMain.swift:24:40: warning: sending 'work' risks causing data races; this is an error in the Swift 6 language mode
22 | } else {
23 | // If we're not on main, then run it asynchronously on main
24 | DispatchQueue.main.async { work() }
| |- warning: sending 'work' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'work' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
25 | }
26 | }
[18/21] Compiling YPersistence NSManagedObjectContext+SaveChanges.swift
/Users/admin/builder/spi-builder-workspace/Sources/YPersistence/Extensions/DispatchQueue+executeOnMain.swift:24:40: warning: sending 'work' risks causing data races; this is an error in the Swift 6 language mode
22 | } else {
23 | // If we're not on main, then run it asynchronously on main
24 | DispatchQueue.main.async { work() }
| |- warning: sending 'work' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'work' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
25 | }
26 | }
[19/21] Compiling YPersistence PersistenceManager+Clear.swift
[20/21] Compiling YPersistence PersistenceManager+Delete.swift
[21/21] Compiling YPersistence SortInfo.swift
Build complete! (6.22s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "YPersistence",
"name" : "YPersistence",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "YPersistence",
"targets" : [
"YPersistence"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "YPersistenceTests",
"module_type" : "SwiftTarget",
"name" : "YPersistenceTests",
"path" : "Tests/YPersistenceTests",
"sources" : [
"DataModel/Human/ManagedFruit.swift",
"DataModel/Human/ManagedGroceryProduct.swift",
"DataModel/Machine/_ManagedFruit.swift",
"DataModel/Machine/_ManagedGroceryProduct.swift",
"DataModel/Mocks/Fruit.swift",
"DataModel/Mocks/GroceryProduct.swift",
"Extensions/DispatchQueue+executeOnMainTests.swift",
"Extensions/NSManagedObjectContext+SaveChangesTests.swift",
"Extensions/NSManagedObjectModel+initTests.swift",
"Manager/PersistenceManager+BulkDeleteTests.swift",
"Manager/PersistenceManager+ClearTests.swift",
"Manager/PersistenceManager+DeleteTests.swift",
"Manager/PersistenceManager+FetchTests.swift",
"Manager/PersistenceManager+SaveTests.swift",
"Manager/PersistenceManager+SyncTests.swift",
"Manager/PersistenceManagerBaseTests.swift",
"Manager/PersistenceManagerTests.swift",
"Protocols/DataRecordTests.swift",
"Protocols/SyncRecordTests.swift",
"SortColumnTests.swift",
"SortInfoTests.swift"
],
"target_dependencies" : [
"YPersistence"
],
"type" : "test"
},
{
"c99name" : "YPersistence",
"module_type" : "SwiftTarget",
"name" : "YPersistence",
"path" : "Sources/YPersistence",
"product_memberships" : [
"YPersistence"
],
"sources" : [
"Extensions/DispatchQueue+executeOnMain.swift",
"Extensions/NSManagedObjectContext+SaveChanges.swift",
"Extensions/NSManagedObjectModel+init.swift",
"Manager/PersistenceManager+BulkDelete.swift",
"Manager/PersistenceManager+Clear.swift",
"Manager/PersistenceManager+Delete.swift",
"Manager/PersistenceManager+Fetch.swift",
"Manager/PersistenceManager+Save.swift",
"Manager/PersistenceManager+Sync.swift",
"Manager/PersistenceManager.swift",
"Protocols/CoreModel.swift",
"Protocols/DataRecord.swift",
"Protocols/ModelRepresentable.swift",
"Protocols/RecordFromModel.swift",
"Protocols/RecordToModel.swift",
"Protocols/SyncRecord.swift",
"SortColumn.swift",
"SortInfo.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.