Build Information
Successful build of JSQCoreDataKit, reference 9.0.3 (de9737
), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 23:03:22 UTC.
Swift 6 data race errors: 3
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/jessesquires/JSQCoreDataKit.git
Reference: 9.0.3
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jessesquires/JSQCoreDataKit
* tag 9.0.3 -> FETCH_HEAD
HEAD is now at de97371 [9.0.3] gen docs
Cloned https://github.com/jessesquires/JSQCoreDataKit.git
Revision (git rev-parse @):
de9737128e0f8e1864963f7b867a696b723f1a9a
SUCCESS checkout https://github.com/jessesquires/JSQCoreDataKit.git at 9.0.3
========================================
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": "jsqcoredatakit",
"name": "JSQCoreDataKit",
"url": "https://github.com/jessesquires/JSQCoreDataKit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/JSQCoreDataKit",
"dependencies": [
]
}
]
}
Fetching https://github.com/jessesquires/JSQCoreDataKit.git
[1/5819] Fetching jsqcoredatakit
Fetched https://github.com/jessesquires/JSQCoreDataKit.git from cache (1.38s)
Creating working copy for https://github.com/jessesquires/JSQCoreDataKit.git
Working copy of https://github.com/jessesquires/JSQCoreDataKit.git resolved at 9.0.3 (de97371)
warning: '.resolve-product-dependencies': dependency 'jsqcoredatakit' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/jessesquires/JSQCoreDataKit.git
{
"dependencies" : [
],
"manifest_display_name" : "JSQCoreDataKit",
"name" : "JSQCoreDataKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "4.0"
},
{
"name" : "macos",
"version" : "10.12"
}
],
"products" : [
{
"name" : "JSQCoreDataKit",
"targets" : [
"JSQCoreDataKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "JSQCoreDataKit",
"module_type" : "SwiftTarget",
"name" : "JSQCoreDataKit",
"path" : "Sources",
"product_memberships" : [
"JSQCoreDataKit"
],
"sources" : [
"CoreDataEntityProtocol.swift",
"CoreDataModel.swift",
"CoreDataStack.swift",
"CoreDataStackProvider.swift",
"Migrate.swift",
"NSManagedObjectContext+Extensions.swift",
"StoreType.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/10] Compiling JSQCoreDataKit CoreDataStackProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStackProvider.swift:42:23: warning: static property 'defaultStoreOptions' is not concurrency-safe because non-'Sendable' type 'CoreDataStackProvider.PersistentStoreOptions' (aka 'Dictionary<AnyHashable, Any>') may have shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | /// Describes default persistent store options.
42 | public static let defaultStoreOptions: PersistentStoreOptions = [
| |- warning: static property 'defaultStoreOptions' is not concurrency-safe because non-'Sendable' type 'CoreDataStackProvider.PersistentStoreOptions' (aka 'Dictionary<AnyHashable, Any>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultStoreOptions' 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
43 | NSMigratePersistentStoresAutomaticallyOption: true,
44 | NSInferMappingModelAutomaticallyOption: true
Swift.Dictionary:1:23: note: generic struct 'Dictionary' does not conform to the 'Sendable' protocol
1 | @frozen public struct Dictionary<Key, Value> where Key : Hashable {
| `- note: generic struct 'Dictionary' does not conform to the 'Sendable' protocol
2 | public typealias Element = (key: Key, value: Value)
3 | @inlinable public init(_immutableCocoaDictionary: __owned AnyObject)
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStackProvider.swift:128:34: warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
126 |
127 | if let queue = queue {
128 | queue.async(execute: creationClosure)
| `- warning: converting non-sendable function value to '@Sendable @convention(block) () -> Void' may introduce data races
129 | } else {
130 | creationClosure()
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStackProvider.swift:120:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
118 | if isAsync {
119 | DispatchQueue.main.async {
120 | completion(.success(stack))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
121 | }
122 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStackProvider.swift:120:41: warning: sending 'stack' risks causing data races; this is an error in the Swift 6 language mode
118 | if isAsync {
119 | DispatchQueue.main.async {
120 | completion(.success(stack))
| |- warning: sending 'stack' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'stack' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
121 | }
122 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStackProvider.swift:99:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
97 | if isAsync {
98 | DispatchQueue.main.async {
99 | completion(.failure(error))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 | }
101 | } else {
[4/10] Compiling JSQCoreDataKit Migrate.swift
/Users/admin/builder/spi-builder-workspace/Sources/Migrate.swift:32:10: warning: associated value 'sourceModelNotFound(model:)' of 'Sendable'-conforming enum 'MigrationError' has non-sendable type 'CoreDataModel'; this is an error in the Swift 6 language mode
30 | - parameter model: The model that failed to be migrated.
31 | */
32 | case sourceModelNotFound(model: CoreDataModel)
| `- warning: associated value 'sourceModelNotFound(model:)' of 'Sendable'-conforming enum 'MigrationError' has non-sendable type 'CoreDataModel'; this is an error in the Swift 6 language mode
33 |
34 | /**
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataModel.swift:45:15: note: consider making struct 'CoreDataModel' conform to the 'Sendable' protocol
43 | It provides the model and store URLs as well as methods for interacting with the store.
44 | */
45 | public struct CoreDataModel {
| `- note: consider making struct 'CoreDataModel' conform to the 'Sendable' protocol
46 |
47 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/Migrate.swift:39:10: warning: associated value 'mappingModelNotFound(destinationModel:)' of 'Sendable'-conforming enum 'MigrationError' has non-sendable type 'NSManagedObjectModel'; this is an error in the Swift 6 language mode
37 | - parameter sourceModel: The destination managed object model for which a mapping model was not found.
38 | */
39 | case mappingModelNotFound(destinationModel: NSManagedObjectModel)
| `- warning: associated value 'mappingModelNotFound(destinationModel:)' of 'Sendable'-conforming enum 'MigrationError' has non-sendable type 'NSManagedObjectModel'; this is an error in the Swift 6 language mode
40 | }
41 |
CoreData.NSManagedObjectModel:2:12: note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.4, *)
2 | open class NSManagedObjectModel : NSObject, NSCoding, NSCopying, NSFastEnumeration {
| `- note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
3 | open class func mergedModel(from bundles: [Bundle]?) -> NSManagedObjectModel?
4 | @available(swift, obsoleted: 3, renamed: "mergedModel(from:)")
/Users/admin/builder/spi-builder-workspace/Sources/Migrate.swift:19:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
17 | //
18 |
19 | import CoreData
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
20 | import Foundation
21 |
[5/10] Compiling JSQCoreDataKit StoreType.swift
[6/10] Compiling JSQCoreDataKit CoreDataStack.swift
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStack.swift:162:36: warning: capture of 'self' with non-sendable type 'CoreDataStack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 | - warning: **You cannot create a `CoreDataStack` instance directly. Instead, use a `CoreDataStackProvider` for initialization.**
33 | */
34 | public final class CoreDataStack {
| `- note: class 'CoreDataStack' does not conform to the 'Sendable' protocol
35 |
36 | // MARK: Typealiases
:
160 | precondition(!Thread.isMainThread, "*** Error: cannot reset a stack on the main queue")
161 |
162 | let storeCoordinator = self.storeCoordinator
| `- warning: capture of 'self' with non-sendable type 'CoreDataStack' in a `@Sendable` closure; this is an error in the Swift 6 language mode
163 | let options = store.options
164 | let model = self.model
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStack.swift:163:27: warning: capture of 'store' with non-sendable type 'NSPersistentStore' in a `@Sendable` closure; this is an error in the Swift 6 language mode
161 |
162 | let storeCoordinator = self.storeCoordinator
163 | let options = store.options
| `- warning: capture of 'store' with non-sendable type 'NSPersistentStore' in a `@Sendable` closure; this is an error in the Swift 6 language mode
164 | let model = self.model
165 |
CoreData.NSPersistentStore:2:12: note: class 'NSPersistentStore' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.5, *)
2 | open class NSPersistentStore : NSObject {
| `- note: class 'NSPersistentStore' does not conform to the 'Sendable' protocol
3 | open class func metadataForPersistentStore(with url: URL) throws -> [String : Any]
4 | @available(swift, obsoleted: 3, renamed: "metadataForPersistentStore(with:)")
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStack.swift:19:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
17 | //
18 |
19 | import CoreData
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
20 | import Foundation
21 |
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStack.swift:180:25: warning: capture of 'completion' with non-sendable type '(CoreDataStack.StackResult) -> Void' (aka '(Result<CoreDataStack, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
178 | } catch {
179 | DispatchQueue.main.async {
180 | completion(.failure(error as NSError))
| |- warning: capture of 'completion' with non-sendable type '(CoreDataStack.StackResult) -> Void' (aka '(Result<CoreDataStack, any Error>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
181 | }
182 | return
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStack.swift:180:25: warning: capture of 'completion' with non-sendable type '(CoreDataStack.StackResult) -> Void' (aka '(Result<CoreDataStack, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
178 | } catch {
179 | DispatchQueue.main.async {
180 | completion(.failure(error as NSError))
| |- warning: capture of 'completion' with non-sendable type '(CoreDataStack.StackResult) -> Void' (aka '(Result<CoreDataStack, any Error>) -> ()') in an isolated closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
181 | }
182 | return
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStack.swift:185:41: warning: capture of 'self' with non-sendable type 'CoreDataStack' in an isolated closure; this is an error in the Swift 6 language mode
32 | - warning: **You cannot create a `CoreDataStack` instance directly. Instead, use a `CoreDataStackProvider` for initialization.**
33 | */
34 | public final class CoreDataStack {
| `- note: class 'CoreDataStack' does not conform to the 'Sendable' protocol
35 |
36 | // MARK: Typealiases
:
183 | }
184 | DispatchQueue.main.async {
185 | completion(.success(self))
| `- warning: capture of 'self' with non-sendable type 'CoreDataStack' in an isolated closure; this is an error in the Swift 6 language mode
186 | }
187 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStack.swift:154:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
152 | guard let store = storeCoordinator.persistentStores.first else {
153 | DispatchQueue.main.async {
154 | completion(.success(self))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
155 | }
156 | return
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStack.swift:154:37: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
152 | guard let store = storeCoordinator.persistentStores.first else {
153 | DispatchQueue.main.async {
154 | completion(.success(self))
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
155 | }
156 | return
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStack.swift:185:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
183 | }
184 | DispatchQueue.main.async {
185 | completion(.success(self))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
186 | }
187 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStack.swift:185:41: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
183 | }
184 | DispatchQueue.main.async {
185 | completion(.success(self))
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
186 | }
187 | }
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStack.swift:180:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
178 | } catch {
179 | DispatchQueue.main.async {
180 | completion(.failure(error as NSError))
| |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
181 | }
182 | return
[7/10] Compiling JSQCoreDataKit CoreDataModel.swift
[8/10] Compiling JSQCoreDataKit CoreDataEntityProtocol.swift
[9/10] Compiling JSQCoreDataKit NSManagedObjectContext+Extensions.swift
[10/10] Emitting module JSQCoreDataKit
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataStackProvider.swift:42:23: warning: static property 'defaultStoreOptions' is not concurrency-safe because non-'Sendable' type 'CoreDataStackProvider.PersistentStoreOptions' (aka 'Dictionary<AnyHashable, Any>') may have shared mutable state; this is an error in the Swift 6 language mode
40 |
41 | /// Describes default persistent store options.
42 | public static let defaultStoreOptions: PersistentStoreOptions = [
| |- warning: static property 'defaultStoreOptions' is not concurrency-safe because non-'Sendable' type 'CoreDataStackProvider.PersistentStoreOptions' (aka 'Dictionary<AnyHashable, Any>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'defaultStoreOptions' 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
43 | NSMigratePersistentStoresAutomaticallyOption: true,
44 | NSInferMappingModelAutomaticallyOption: true
Swift.Dictionary:1:23: note: generic struct 'Dictionary' does not conform to the 'Sendable' protocol
1 | @frozen public struct Dictionary<Key, Value> where Key : Hashable {
| `- note: generic struct 'Dictionary' does not conform to the 'Sendable' protocol
2 | public typealias Element = (key: Key, value: Value)
3 | @inlinable public init(_immutableCocoaDictionary: __owned AnyObject)
/Users/admin/builder/spi-builder-workspace/Sources/Migrate.swift:32:10: warning: associated value 'sourceModelNotFound(model:)' of 'Sendable'-conforming enum 'MigrationError' has non-sendable type 'CoreDataModel'; this is an error in the Swift 6 language mode
30 | - parameter model: The model that failed to be migrated.
31 | */
32 | case sourceModelNotFound(model: CoreDataModel)
| `- warning: associated value 'sourceModelNotFound(model:)' of 'Sendable'-conforming enum 'MigrationError' has non-sendable type 'CoreDataModel'; this is an error in the Swift 6 language mode
33 |
34 | /**
/Users/admin/builder/spi-builder-workspace/Sources/CoreDataModel.swift:45:15: note: consider making struct 'CoreDataModel' conform to the 'Sendable' protocol
43 | It provides the model and store URLs as well as methods for interacting with the store.
44 | */
45 | public struct CoreDataModel {
| `- note: consider making struct 'CoreDataModel' conform to the 'Sendable' protocol
46 |
47 | // MARK: Properties
/Users/admin/builder/spi-builder-workspace/Sources/Migrate.swift:39:10: warning: associated value 'mappingModelNotFound(destinationModel:)' of 'Sendable'-conforming enum 'MigrationError' has non-sendable type 'NSManagedObjectModel'; this is an error in the Swift 6 language mode
37 | - parameter sourceModel: The destination managed object model for which a mapping model was not found.
38 | */
39 | case mappingModelNotFound(destinationModel: NSManagedObjectModel)
| `- warning: associated value 'mappingModelNotFound(destinationModel:)' of 'Sendable'-conforming enum 'MigrationError' has non-sendable type 'NSManagedObjectModel'; this is an error in the Swift 6 language mode
40 | }
41 |
CoreData.NSManagedObjectModel:2:12: note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.4, *)
2 | open class NSManagedObjectModel : NSObject, NSCoding, NSCopying, NSFastEnumeration {
| `- note: class 'NSManagedObjectModel' does not conform to the 'Sendable' protocol
3 | open class func mergedModel(from bundles: [Bundle]?) -> NSManagedObjectModel?
4 | @available(swift, obsoleted: 3, renamed: "mergedModel(from:)")
/Users/admin/builder/spi-builder-workspace/Sources/Migrate.swift:19:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
17 | //
18 |
19 | import CoreData
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'CoreData'
20 | import Foundation
21 |
Build complete! (9.63s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "JSQCoreDataKit",
"name" : "JSQCoreDataKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "11.0"
},
{
"name" : "watchos",
"version" : "4.0"
},
{
"name" : "macos",
"version" : "10.12"
}
],
"products" : [
{
"name" : "JSQCoreDataKit",
"targets" : [
"JSQCoreDataKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"swift_languages_versions" : [
"5"
],
"targets" : [
{
"c99name" : "JSQCoreDataKit",
"module_type" : "SwiftTarget",
"name" : "JSQCoreDataKit",
"path" : "Sources",
"product_memberships" : [
"JSQCoreDataKit"
],
"sources" : [
"CoreDataEntityProtocol.swift",
"CoreDataModel.swift",
"CoreDataStack.swift",
"CoreDataStackProvider.swift",
"Migrate.swift",
"NSManagedObjectContext+Extensions.swift",
"StoreType.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
Done.