Build Information
Successful build of Seam3, reference 1.5.8 (a011ee
), with Swift 6.1 for macOS (SPM) on 26 Apr 2025 08:20:26 UTC.
Swift 6 data race errors: 9
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/paulw11/Seam3.git
Reference: 1.5.8
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/paulw11/Seam3
* tag 1.5.8 -> FETCH_HEAD
HEAD is now at a011ee3 Tag 1.5.8
Cloned https://github.com/paulw11/Seam3.git
Revision (git rev-parse @):
a011ee34d19c99e705f3721ac03dcf8577402a74
SUCCESS checkout https://github.com/paulw11/Seam3.git at 1.5.8
========================================
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": "seam3",
"name": "Seam3",
"url": "https://github.com/paulw11/Seam3.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Seam3",
"dependencies": [
]
}
]
}
Fetching https://github.com/paulw11/Seam3.git
[1/2051] Fetching seam3
Fetched https://github.com/paulw11/Seam3.git from cache (1.18s)
Creating working copy for https://github.com/paulw11/Seam3.git
Working copy of https://github.com/paulw11/Seam3.git resolved at 1.5.8 (a011ee3)
warning: '.resolve-product-dependencies': dependency 'seam3' 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/paulw11/Seam3.git
https://github.com/paulw11/Seam3.git
{
"dependencies" : [
],
"manifest_display_name" : "Seam3",
"name" : "Seam3",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.12"
},
{
"name" : "ios",
"version" : "10.0"
},
{
"name" : "watchos",
"version" : "4.0"
},
{
"name" : "tvos",
"version" : "10.0"
}
],
"products" : [
{
"name" : "Seam3",
"targets" : [
"Seam3"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Seam3",
"module_type" : "SwiftTarget",
"name" : "Seam3",
"path" : "Sources/Classes",
"product_memberships" : [
"Seam3"
],
"sources" : [
"CKRecord+NSManagedObject.swift",
"CKRecordZone+Helpers.swift",
"CKRecordZoneID+Helpers.swift",
"NSEntityDescription+Helpers.swift",
"NSManagedObject+CKRecord.swift",
"NSManagedObjectContext+Helpers.swift",
"SMBatchDeleteResult.swift",
"SMLogger.swift",
"SMObjectDependencyGraph.swift",
"SMServerStoreSetupOperation.swift",
"SMServerTokenHandler.swift",
"SMServerZoneLookupOperation.swift",
"SMStore.swift",
"SMStoreChangeSetHandler.swift",
"SMStoreSyncOperation.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
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/17] Compiling Seam3 SMStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:244:23: warning: static property 'syncAutomatically' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
242 | /// Default value of `syncAutomatically` assigned to new `SMStore` instances.
243 | /// Defaults to `true`
244 | public static var syncAutomatically: Bool = true
| |- warning: static property 'syncAutomatically' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'syncAutomatically' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'syncAutomatically' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
245 | weak public static var logger: SMLogDelegate? = SMLogger.sharedInstance
246 |
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:245:28: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
243 | /// Defaults to `true`
244 | public static var syncAutomatically: Bool = true
245 | weak public static var logger: SMLogDelegate? = SMLogger.sharedInstance
| |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
246 |
247 | /// If true, a sync is triggered automatically when a save operation is performed against the store. Defaults to `true`
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:311:27: warning: reference to var 'NSMergeByPropertyObjectTrumpMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
309 | moc.persistentStoreCoordinator = self.backingPersistentStoreCoordinator
310 | moc.retainsRegisteredObjects = true
311 | moc.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
| `- warning: reference to var 'NSMergeByPropertyObjectTrumpMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
312 | return moc
313 | }()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreData.framework/Headers/NSMergePolicy.h:25:20: note: var declared here
23 |
24 | // 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 in memory changes trump the external ones.
25 | COREDATA_EXTERN id NSMergeByPropertyObjectTrumpMergePolicy API_AVAILABLE(macosx(10.4),ios(3.0));
| `- note: var declared here
26 |
27 | // This singleton policy overwrites all state for the changed objects in conflict The current object's state is pushed upon the persistent store.
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:319:27: warning: reference to var 'NSMergeByPropertyObjectTrumpMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
317 | moc.persistentStoreCoordinator = self.persistentStoreCoordinator
318 | moc.retainsRegisteredObjects = true
319 | moc.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
| `- warning: reference to var 'NSMergeByPropertyObjectTrumpMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
320 | return moc
321 | }()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreData.framework/Headers/NSMergePolicy.h:25:20: note: var declared here
23 |
24 | // 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 in memory changes trump the external ones.
25 | COREDATA_EXTERN id NSMergeByPropertyObjectTrumpMergePolicy API_AVAILABLE(macosx(10.4),ios(3.0));
| `- note: var declared here
26 |
27 | // This singleton policy overwrites all state for the changed objects in conflict The current object's state is pushed upon the persistent store.
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:323:28: warning: static property 'storeRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
321 | }()
322 |
323 | fileprivate static var storeRegistered = false
| |- warning: static property 'storeRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'storeRegistered' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'storeRegistered' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
324 |
325 | // MARK:- Public methods
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:543:17: warning: capture of 'self' with non-sendable type 'SMStore' in a '@Sendable' closure
237 | */
238 |
239 | open class SMStore: NSIncrementalStore {
| `- note: class 'SMStore' does not conform to the 'Sendable' protocol
240 | // MARK:- Public properties
241 |
:
541 |
542 | if status == CKAccountStatus.available {
543 | self.cloudKitValid = true
| `- warning: capture of 'self' with non-sendable type 'SMStore' in a '@Sendable' closure
544 | } else {
545 | self.cloudKitValid = false
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:547:13: warning: capture of 'completionHandler' with non-sendable type '((CKAccountStatus, (any Error)?) -> Void)?' in a '@Sendable' closure
545 | self.cloudKitValid = false
546 | }
547 | completionHandler?(status, error)
| |- warning: capture of 'completionHandler' with non-sendable type '((CKAccountStatus, (any Error)?) -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
548 | }
549 | }
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:567:17: warning: capture of 'self' with non-sendable type 'SMStore' in a '@Sendable' closure
237 | */
238 |
239 | open class SMStore: NSIncrementalStore {
| `- note: class 'SMStore' does not conform to the 'Sendable' protocol
240 | // MARK:- Public properties
241 |
:
565 |
566 | if status == CKAccountStatus.available {
567 | self.cloudKitValid = true
| `- warning: capture of 'self' with non-sendable type 'SMStore' in a '@Sendable' closure
568 | } else {
569 | self.cloudKitValid = false
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:572:17: warning: capture of 'completionHandler' with non-sendable type '((CKAccountStatus, String?, (any Error)?) -> Void)?' in a '@Sendable' closure
570 | }
571 | if error != nil {
572 | completionHandler?(status, nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '((CKAccountStatus, String?, (any Error)?) -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
573 | } else {
574 | container.fetchUserRecordID { (recordid, error) in
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:575:21: warning: capture of 'completionHandler' with non-sendable type '((CKAccountStatus, String?, (any Error)?) -> Void)?' in a '@Sendable' closure
573 | } else {
574 | container.fetchUserRecordID { (recordid, error) in
575 | completionHandler?(status, recordid?.recordName, error)
| |- warning: capture of 'completionHandler' with non-sendable type '((CKAccountStatus, String?, (any Error)?) -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
576 | }
577 | }
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:619:85: warning: capture of 'self' with non-sendable type 'SMStore' in a '@Sendable' closure
237 | */
238 |
239 | open class SMStore: NSIncrementalStore {
| `- note: class 'SMStore' does not conform to the 'Sendable' protocol
240 | // MARK:- Public properties
241 |
:
617 | SMStore.logger?.error("Unable to start sync operation \(error)")
618 | OperationQueue.main.addOperation {
619 | NotificationCenter.default.post(name: .smSyncDidFinish, object: self, userInfo: [SMStore.SMStoreErrorDomain:error])
| `- warning: capture of 'self' with non-sendable type 'SMStore' in a '@Sendable' closure
620 | }
621 | completion?(.failed, error)
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:632:93: warning: capture of 'self' with non-sendable type 'SMStore' in a '@Sendable' closure
237 | */
238 |
239 | open class SMStore: NSIncrementalStore {
| `- note: class 'SMStore' does not conform to the 'Sendable' protocol
240 | // MARK:- Public properties
241 |
:
630 | SMStore.logger?.error("Sync operation failure notice \(error)")
631 | OperationQueue.main.addOperation {
632 | NotificationCenter.default.post(name: .smSyncDidFinish, object: self, userInfo: [SMStore.SMStoreErrorDomain:error])
| `- warning: capture of 'self' with non-sendable type 'SMStore' in a '@Sendable' closure
633 | }
634 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:637:93: warning: capture of 'self' with non-sendable type 'SMStore' in a '@Sendable' closure
237 | */
238 |
239 | open class SMStore: NSIncrementalStore {
| `- note: class 'SMStore' does not conform to the 'Sendable' protocol
240 | // MARK:- Public properties
241 |
:
635 | SMStore.logger?.info("Sync completed successfully")
636 | OperationQueue.main.addOperation {
637 | NotificationCenter.default.post(name: .smSyncDidFinish, object: self)
| `- warning: capture of 'self' with non-sendable type 'SMStore' in a '@Sendable' closure
638 | }
639 | }
[4/18] Compiling Seam3 SMBatchDeleteResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMLogger.swift:20:32: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
18 | }
19 |
20 | public protocol SMLogDelegate: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
21 | func log(_ message: @autoclosure() -> String, type: SMLogType)
22 | func info(_ message: @autoclosure() -> String)
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMLogger.swift:44:14: warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'SMLogger' may have shared mutable state; this is an error in the Swift 6 language mode
41 | }
42 |
43 | class SMLogger: SMLogDelegate {
| `- note: class 'SMLogger' does not conform to the 'Sendable' protocol
44 | static let sharedInstance = SMLogger()
| |- warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'SMLogger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 | func log(_ message: @autoclosure() -> String, type: SMLogType = .defaultType) {
46 | let messageTemplate: StaticString = "%{private}@"
[5/18] Compiling Seam3 SMLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMLogger.swift:20:32: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
18 | }
19 |
20 | public protocol SMLogDelegate: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
21 | func log(_ message: @autoclosure() -> String, type: SMLogType)
22 | func info(_ message: @autoclosure() -> String)
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMLogger.swift:44:14: warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'SMLogger' may have shared mutable state; this is an error in the Swift 6 language mode
41 | }
42 |
43 | class SMLogger: SMLogDelegate {
| `- note: class 'SMLogger' does not conform to the 'Sendable' protocol
44 | static let sharedInstance = SMLogger()
| |- warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'SMLogger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 | func log(_ message: @autoclosure() -> String, type: SMLogType = .defaultType) {
46 | let messageTemplate: StaticString = "%{private}@"
[6/18] Compiling Seam3 SMStoreChangeSetHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStoreChangeSetHandler.swift:48:16: warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'SMStoreChangeSetHandler' may have shared mutable state; this is an error in the Swift 6 language mode
40 | }
41 |
42 | class SMStoreChangeSetHandler {
| `- note: class 'SMStoreChangeSetHandler' does not conform to the 'Sendable' protocol
43 |
44 | static let SMLocalStoreEntityNameAttributeName = "sm_LocalStore_EntityName"
:
46 | static let SMLocalStoreChangeQueuedAttributeName = "sm_LocalStore_Queued"
47 |
48 | static let defaultHandler = SMStoreChangeSetHandler()
| |- warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'SMStoreChangeSetHandler' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaultHandler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | func changedPropertyKeys(_ keys: [String], entity: NSEntityDescription) -> [String] {
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStoreChangeSetHandler.swift:95:31: warning: 'isIndexed' was deprecated in macOS 10.13: Use NSEntityDescription.indexes instead
93 | if #available(iOS 11.0, macOS 10.14, tvOS 11.0, *) {
94 | } else {
95 | recordIDAttribute.isIndexed = true
| `- warning: 'isIndexed' was deprecated in macOS 10.13: Use NSEntityDescription.indexes instead
96 | }
97 | changeSetEntity.properties.append(recordIDAttribute)
[7/18] Compiling Seam3 SMServerZoneLookupOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMServerZoneLookupOperation.swift:34:7: warning: class 'SMServerZoneLookupOperation' must restate inherited '@unchecked Sendable' conformance
32 | import CloudKit
33 |
34 | class SMServerZoneLookupOperation:Operation {
| `- warning: class 'SMServerZoneLookupOperation' must restate inherited '@unchecked Sendable' conformance
35 |
36 | var database:CKDatabase?
[8/18] Compiling Seam3 SMServerTokenHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMServerTokenHandler.swift:38:16: warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'SMServerTokenHandler' may have shared mutable state; this is an error in the Swift 6 language mode
33 |
34 |
35 | class SMServerTokenHandler {
| `- note: class 'SMServerTokenHandler' does not conform to the 'Sendable' protocol
36 |
37 | static let SMStoreSyncOperationServerTokenKey = "SMStoreSyncOperationServerTokenKey"
38 | static let defaultHandler = SMServerTokenHandler()
| |- warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'SMServerTokenHandler' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaultHandler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 | fileprivate var newToken: CKServerChangeToken?
40 |
[9/18] Compiling Seam3 CKRecordZoneID+Helpers.swift
[10/18] Compiling Seam3 NSEntityDescription+Helpers.swift
[11/18] Emitting module Seam3
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMLogger.swift:20:32: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
18 | }
19 |
20 | public protocol SMLogDelegate: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
21 | func log(_ message: @autoclosure() -> String, type: SMLogType)
22 | func info(_ message: @autoclosure() -> String)
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMLogger.swift:44:14: warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'SMLogger' may have shared mutable state; this is an error in the Swift 6 language mode
41 | }
42 |
43 | class SMLogger: SMLogDelegate {
| `- note: class 'SMLogger' does not conform to the 'Sendable' protocol
44 | static let sharedInstance = SMLogger()
| |- warning: static property 'sharedInstance' is not concurrency-safe because non-'Sendable' type 'SMLogger' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
45 | func log(_ message: @autoclosure() -> String, type: SMLogType = .defaultType) {
46 | let messageTemplate: StaticString = "%{private}@"
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMServerStoreSetupOperation.swift:33:7: warning: class 'SMServerStoreSetupOperation' must restate inherited '@unchecked Sendable' conformance
31 | import CloudKit
32 |
33 | class SMServerStoreSetupOperation:Operation {
| `- warning: class 'SMServerStoreSetupOperation' must restate inherited '@unchecked Sendable' conformance
34 |
35 | var database:CKDatabase?
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMServerTokenHandler.swift:38:16: warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'SMServerTokenHandler' may have shared mutable state; this is an error in the Swift 6 language mode
33 |
34 |
35 | class SMServerTokenHandler {
| `- note: class 'SMServerTokenHandler' does not conform to the 'Sendable' protocol
36 |
37 | static let SMStoreSyncOperationServerTokenKey = "SMStoreSyncOperationServerTokenKey"
38 | static let defaultHandler = SMServerTokenHandler()
| |- warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'SMServerTokenHandler' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaultHandler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 | fileprivate var newToken: CKServerChangeToken?
40 |
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMServerZoneLookupOperation.swift:34:7: warning: class 'SMServerZoneLookupOperation' must restate inherited '@unchecked Sendable' conformance
32 | import CloudKit
33 |
34 | class SMServerZoneLookupOperation:Operation {
| `- warning: class 'SMServerZoneLookupOperation' must restate inherited '@unchecked Sendable' conformance
35 |
36 | var database:CKDatabase?
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:244:23: warning: static property 'syncAutomatically' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
242 | /// Default value of `syncAutomatically` assigned to new `SMStore` instances.
243 | /// Defaults to `true`
244 | public static var syncAutomatically: Bool = true
| |- warning: static property 'syncAutomatically' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'syncAutomatically' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'syncAutomatically' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
245 | weak public static var logger: SMLogDelegate? = SMLogger.sharedInstance
246 |
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:245:28: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
243 | /// Defaults to `true`
244 | public static var syncAutomatically: Bool = true
245 | weak public static var logger: SMLogDelegate? = SMLogger.sharedInstance
| |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
246 |
247 | /// If true, a sync is triggered automatically when a save operation is performed against the store. Defaults to `true`
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:311:27: warning: reference to var 'NSMergeByPropertyObjectTrumpMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
309 | moc.persistentStoreCoordinator = self.backingPersistentStoreCoordinator
310 | moc.retainsRegisteredObjects = true
311 | moc.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
| `- warning: reference to var 'NSMergeByPropertyObjectTrumpMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
312 | return moc
313 | }()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreData.framework/Headers/NSMergePolicy.h:25:20: note: var declared here
23 |
24 | // 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 in memory changes trump the external ones.
25 | COREDATA_EXTERN id NSMergeByPropertyObjectTrumpMergePolicy API_AVAILABLE(macosx(10.4),ios(3.0));
| `- note: var declared here
26 |
27 | // This singleton policy overwrites all state for the changed objects in conflict The current object's state is pushed upon the persistent store.
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:319:27: warning: reference to var 'NSMergeByPropertyObjectTrumpMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
317 | moc.persistentStoreCoordinator = self.persistentStoreCoordinator
318 | moc.retainsRegisteredObjects = true
319 | moc.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
| `- warning: reference to var 'NSMergeByPropertyObjectTrumpMergePolicy' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
320 | return moc
321 | }()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/CoreData.framework/Headers/NSMergePolicy.h:25:20: note: var declared here
23 |
24 | // 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 in memory changes trump the external ones.
25 | COREDATA_EXTERN id NSMergeByPropertyObjectTrumpMergePolicy API_AVAILABLE(macosx(10.4),ios(3.0));
| `- note: var declared here
26 |
27 | // This singleton policy overwrites all state for the changed objects in conflict The current object's state is pushed upon the persistent store.
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStore.swift:323:28: warning: static property 'storeRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
321 | }()
322 |
323 | fileprivate static var storeRegistered = false
| |- warning: static property 'storeRegistered' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'storeRegistered' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'storeRegistered' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
324 |
325 | // MARK:- Public methods
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStoreChangeSetHandler.swift:48:16: warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'SMStoreChangeSetHandler' may have shared mutable state; this is an error in the Swift 6 language mode
40 | }
41 |
42 | class SMStoreChangeSetHandler {
| `- note: class 'SMStoreChangeSetHandler' does not conform to the 'Sendable' protocol
43 |
44 | static let SMLocalStoreEntityNameAttributeName = "sm_LocalStore_EntityName"
:
46 | static let SMLocalStoreChangeQueuedAttributeName = "sm_LocalStore_Queued"
47 |
48 | static let defaultHandler = SMStoreChangeSetHandler()
| |- warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'SMStoreChangeSetHandler' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaultHandler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
49 |
50 | func changedPropertyKeys(_ keys: [String], entity: NSEntityDescription) -> [String] {
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStoreSyncOperation.swift:38:10: warning: associated value 'conflictsDetected(conflictedRecords:)' of 'Sendable'-conforming enum 'SMSyncOperationError' has non-sendable type 'SeamConflictedRecord'; this is an error in the Swift 6 language mode
36 | enum SMSyncOperationError: Error {
37 | case localChangesFetchError
38 | case conflictsDetected(conflictedRecords: [SeamConflictedRecord])
| `- warning: associated value 'conflictsDetected(conflictedRecords:)' of 'Sendable'-conforming enum 'SMSyncOperationError' has non-sendable type 'SeamConflictedRecord'; this is an error in the Swift 6 language mode
39 | case missingReferences(referringRcords: [CKRecord])
40 | case shouldRetryError
:
59 | }
60 |
61 | public struct SeamConflictedRecord {
| `- note: consider making struct 'SeamConflictedRecord' conform to the 'Sendable' protocol
62 | var serverRecord: CKRecord
63 | var clientRecord: CKRecord
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStoreSyncOperation.swift:68:7: warning: class 'SMStoreSyncOperation' must restate inherited '@unchecked Sendable' conformance
66 |
67 |
68 | class SMStoreSyncOperation: Operation {
| `- warning: class 'SMStoreSyncOperation' must restate inherited '@unchecked Sendable' conformance
69 |
70 | static let SMStoreSyncOperationErrorDomain = "SMStoreSyncOperationDomain"
[12/18] Compiling Seam3 SMObjectDependencyGraph.swift
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMServerStoreSetupOperation.swift:57:19: warning: unnecessary check for 'macOS'; enclosing scope ensures guard will always be true
51 |
52 | let fetchRecordZonesOperation = CKFetchRecordZonesOperation(recordZoneIDs: [zone.zoneID])
53 | if #available(iOS 11.0, tvOS 11.0, OSX 10.13, *) {
| `- note: enclosing scope here
54 | let config = CKOperation.Configuration()
55 | config.timeoutIntervalForResource = 10.0
56 | fetchRecordZonesOperation.configuration = config
57 | } else if #available(iOS 10.0, tvOS 11.0, OSX 10.12, *) {
| `- warning: unnecessary check for 'macOS'; enclosing scope ensures guard will always be true
58 | fetchRecordZonesOperation.timeoutIntervalForResource = 10.0
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMServerStoreSetupOperation.swift:33:7: warning: class 'SMServerStoreSetupOperation' must restate inherited '@unchecked Sendable' conformance
31 | import CloudKit
32 |
33 | class SMServerStoreSetupOperation:Operation {
| `- warning: class 'SMServerStoreSetupOperation' must restate inherited '@unchecked Sendable' conformance
34 |
35 | var database:CKDatabase?
[13/18] Compiling Seam3 SMServerStoreSetupOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMServerStoreSetupOperation.swift:57:19: warning: unnecessary check for 'macOS'; enclosing scope ensures guard will always be true
51 |
52 | let fetchRecordZonesOperation = CKFetchRecordZonesOperation(recordZoneIDs: [zone.zoneID])
53 | if #available(iOS 11.0, tvOS 11.0, OSX 10.13, *) {
| `- note: enclosing scope here
54 | let config = CKOperation.Configuration()
55 | config.timeoutIntervalForResource = 10.0
56 | fetchRecordZonesOperation.configuration = config
57 | } else if #available(iOS 10.0, tvOS 11.0, OSX 10.12, *) {
| `- warning: unnecessary check for 'macOS'; enclosing scope ensures guard will always be true
58 | fetchRecordZonesOperation.timeoutIntervalForResource = 10.0
59 | }
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMServerStoreSetupOperation.swift:33:7: warning: class 'SMServerStoreSetupOperation' must restate inherited '@unchecked Sendable' conformance
31 | import CloudKit
32 |
33 | class SMServerStoreSetupOperation:Operation {
| `- warning: class 'SMServerStoreSetupOperation' must restate inherited '@unchecked Sendable' conformance
34 |
35 | var database:CKDatabase?
[14/18] Compiling Seam3 NSManagedObject+CKRecord.swift
/Users/admin/builder/spi-builder-workspace/Sources/Classes/NSManagedObject+CKRecord.swift:133:103: warning: 'Action' is deprecated in macOS: renamed to CKRecord.ReferenceAction
131 | let ckRecordZoneID: CKRecordZone.ID = CKRecordZone.ID.smCloudStoreCustomZoneID()
132 | let ckRecordID: CKRecord.ID = CKRecord.ID(recordName: recordIDString, zoneID: ckRecordZoneID)
133 | ckReference = CKRecord.Reference(recordID: ckRecordID, action: CKRecord.Reference.Action.deleteSelf)
| `- warning: 'Action' is deprecated in macOS: renamed to CKRecord.ReferenceAction
134 | }
135 | }
[15/18] Compiling Seam3 NSManagedObjectContext+Helpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/Classes/NSManagedObject+CKRecord.swift:133:103: warning: 'Action' is deprecated in macOS: renamed to CKRecord.ReferenceAction
131 | let ckRecordZoneID: CKRecordZone.ID = CKRecordZone.ID.smCloudStoreCustomZoneID()
132 | let ckRecordID: CKRecord.ID = CKRecord.ID(recordName: recordIDString, zoneID: ckRecordZoneID)
133 | ckReference = CKRecord.Reference(recordID: ckRecordID, action: CKRecord.Reference.Action.deleteSelf)
| `- warning: 'Action' is deprecated in macOS: renamed to CKRecord.ReferenceAction
134 | }
135 | }
[16/18] Compiling Seam3 CKRecord+NSManagedObject.swift
[17/18] Compiling Seam3 CKRecordZone+Helpers.swift
[18/18] Compiling Seam3 SMStoreSyncOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStoreSyncOperation.swift:38:10: warning: associated value 'conflictsDetected(conflictedRecords:)' of 'Sendable'-conforming enum 'SMSyncOperationError' has non-sendable type 'SeamConflictedRecord'; this is an error in the Swift 6 language mode
36 | enum SMSyncOperationError: Error {
37 | case localChangesFetchError
38 | case conflictsDetected(conflictedRecords: [SeamConflictedRecord])
| `- warning: associated value 'conflictsDetected(conflictedRecords:)' of 'Sendable'-conforming enum 'SMSyncOperationError' has non-sendable type 'SeamConflictedRecord'; this is an error in the Swift 6 language mode
39 | case missingReferences(referringRcords: [CKRecord])
40 | case shouldRetryError
:
59 | }
60 |
61 | public struct SeamConflictedRecord {
| `- note: consider making struct 'SeamConflictedRecord' conform to the 'Sendable' protocol
62 | var serverRecord: CKRecord
63 | var clientRecord: CKRecord
/Users/admin/builder/spi-builder-workspace/Sources/Classes/SMStoreSyncOperation.swift:68:7: warning: class 'SMStoreSyncOperation' must restate inherited '@unchecked Sendable' conformance
66 |
67 |
68 | class SMStoreSyncOperation: Operation {
| `- warning: class 'SMStoreSyncOperation' must restate inherited '@unchecked Sendable' conformance
69 |
70 | static let SMStoreSyncOperationErrorDomain = "SMStoreSyncOperationDomain"
Build complete! (5.71s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Seam3",
"name" : "Seam3",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.12"
},
{
"name" : "ios",
"version" : "10.0"
},
{
"name" : "watchos",
"version" : "4.0"
},
{
"name" : "tvos",
"version" : "10.0"
}
],
"products" : [
{
"name" : "Seam3",
"targets" : [
"Seam3"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Seam3",
"module_type" : "SwiftTarget",
"name" : "Seam3",
"path" : "Sources/Classes",
"product_memberships" : [
"Seam3"
],
"sources" : [
"CKRecord+NSManagedObject.swift",
"CKRecordZone+Helpers.swift",
"CKRecordZoneID+Helpers.swift",
"NSEntityDescription+Helpers.swift",
"NSManagedObject+CKRecord.swift",
"NSManagedObjectContext+Helpers.swift",
"SMBatchDeleteResult.swift",
"SMLogger.swift",
"SMObjectDependencyGraph.swift",
"SMServerStoreSetupOperation.swift",
"SMServerTokenHandler.swift",
"SMServerZoneLookupOperation.swift",
"SMStore.swift",
"SMStoreChangeSetHandler.swift",
"SMStoreSyncOperation.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Done.