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 IceCream with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 2

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/caiyue1993/IceCream.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/caiyue1993/IceCream
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at e6a89be use Music Mate as the updated live demo
Cloned https://github.com/caiyue1993/IceCream.git
Revision (git rev-parse @):
e6a89be5c7dfa3b42e58bfe5422d57c19c4d9e4d
SUCCESS checkout https://github.com/caiyue1993/IceCream.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/caiyue1993/IceCream.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/55] Write sources
[1/55] Write swift-version-6F35C1178C84523A.txt
[2/55] Compiling collection_notifications.cpp
[3/55] Compiling external_commit_helper.cpp
[4/55] Compiling keychain_helper.cpp
[5/55] Compiling RLMUpdateChecker.mm
[6/55] Compiling collection_change_builder.cpp
[7/55] Compiling primitive_list_notifier.cpp
[8/55] Compiling list_notifier.cpp
[9/55] Compiling object_notifier.cpp
[10/55] Compiling RLMUtil.mm
[11/55] Compiling collection_notifier.cpp
[12/55] Compiling RLMSwiftSupport.m
[13/55] Compiling RLMThreadSafeReference.mm
[14/55] Compiling RLMSchema.mm
[15/55] Compiling RLMRealmConfiguration.mm
[16/55] Compiling RLMRealmUtil.mm
[17/55] Compiling RLMPredicateUtil.mm
[18/55] Compiling RLMResults.mm
[19/55] Compiling RLMProperty.mm
[20/55] Compiling RLMRealm.mm
[21/55] Compiling RLMObjectSchema.mm
[22/55] Compiling RLMConstants.m
[23/55] Compiling RLMOptionalBase.mm
[24/55] Compiling RLMObjectStore.mm
[25/55] Compiling RLMObservation.mm
[26/55] Compiling RLMObject.mm
[27/55] Compiling RLMObjectBase.mm
[28/55] Compiling RLMMigration.mm
[29/55] Compiling RLMManagedArray.mm
[30/55] Compiling uuid.cpp
[31/55] Compiling event_loop_signal.cpp
[32/55] Compiling RLMListBase.mm
[33/55] Compiling RLMAnalytics.mm
[34/55] Compiling placeholder.cpp
[35/55] Compiling RLMClassInfo.mm
[36/55] Compiling RLMCollection.mm
[37/55] Compiling RLMQueryUtil.mm
[38/55] Compiling RLMArray.mm
[39/55] Compiling schema.cpp
[40/55] Compiling RLMAccessor.mm
[41/55] Compiling thread_safe_reference.cpp
[42/55] Compiling index_set.cpp
[43/55] Compiling object_schema.cpp
[44/55] Compiling weak_realm_notifier.cpp
[44/55] Write sources
[46/55] Compiling binding_callback_thread_observer.cpp
[47/55] Compiling object_store.cpp
[48/55] Compiling object.cpp
[49/55] Compiling shared_realm.cpp
[50/55] Compiling results.cpp
[51/55] Compiling list.cpp
[52/55] Compiling results_notifier.cpp
[53/55] Compiling transact_log_handler.cpp
[54/55] Compiling realm_coordinator.cpp
[56/74] Compiling RealmSwift ObjectiveCSupport.swift
[57/74] Compiling RealmSwift Optional.swift
[58/74] Compiling RealmSwift RealmCollection.swift
[59/74] Compiling RealmSwift RealmConfiguration.swift
[60/74] Compiling RealmSwift Property.swift
[61/74] Compiling RealmSwift Realm.swift
[62/74] Compiling RealmSwift Results.swift
[63/74] Compiling RealmSwift Schema.swift
[64/74] Compiling RealmSwift SortDescriptor.swift
[65/74] Compiling RealmSwift ThreadSafeReference.swift
[66/75] Compiling RealmSwift Object.swift
[67/75] Compiling RealmSwift ObjectSchema.swift
[68/75] Compiling RealmSwift LinkingObjects.swift
[69/75] Compiling RealmSwift List.swift
[70/75] Compiling RealmSwift Migration.swift
[71/75] Compiling RealmSwift Nonsync.swift
[72/75] Emitting module RealmSwift
[73/75] Compiling RealmSwift Aliases.swift
[74/75] Compiling RealmSwift Error.swift
[75/75] Compiling RealmSwift Util.swift
[76/90] Compiling IceCream SyncEngine.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/SyncEngine.swift:42:13: warning: switch must be exhaustive; this is an error in the Swift 6 language mode
 40 |         databaseManager.container.accountStatus { [weak self] (status, error) in
 41 |             guard let self = self else { return }
 42 |             switch status {
    |             |- warning: switch must be exhaustive; this is an error in the Swift 6 language mode
    |             `- note: add missing case: '.temporarilyUnavailable'
 43 |             case .available:
 44 |                 self.databaseManager.registerLocalDatabase()
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/SyncEngine.swift:41:30: warning: capture of 'self' with non-sendable type 'SyncEngine?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 14 | /// 3. it hands over CKRecordZone stuffs to SyncObject so that it can have an effect on local Realm Database
 15 |
 16 | public final class SyncEngine {
    |                    `- note: class 'SyncEngine' does not conform to the 'Sendable' protocol
 17 |
 18 |     private let databaseManager: DatabaseManager
    :
 39 |         databaseManager.prepare()
 40 |         databaseManager.container.accountStatus { [weak self] (status, error) in
 41 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'SyncEngine?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |             switch status {
 43 |             case .available:
[77/90] Compiling IceCream PublicDatabaseManager.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/PublicDatabaseManager.swift:61:17: warning: capture of 'object' with non-sendable type 'any Syncable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 59 |         syncObjects.forEach { object in
 60 |             DispatchQueue.main.async {
 61 |                 object.registerLocalDatabase()
    |                 `- warning: capture of 'object' with non-sendable type 'any Syncable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 62 |             }
 63 |         }
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/Syncable.swift:14:17: note: protocol 'Syncable' does not conform to the 'Sendable' protocol
12 | /// Since `sync` is an informal version of `synchronize`, so we choose the `syncable` word for
13 | /// the ability of synchronization.
14 | public protocol Syncable: class {
   |                 `- note: protocol 'Syncable' does not conform to the 'Sendable' protocol
15 |
16 |     /// CKRecordZone related
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/PublicDatabaseManager.swift:82:21: warning: capture of 'callback' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 80 |             case .success:
 81 |                 DispatchQueue.main.async {
 82 |                     callback?(nil)
    |                     |- warning: capture of 'callback' with non-sendable type '(((any Error)?) -> Void)?' 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'
 83 |                 }
 84 |             case .retry(let timeToWait, _):
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/PublicDatabaseManager.swift:61:17: warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
 59 |         syncObjects.forEach { object in
 60 |             DispatchQueue.main.async {
 61 |                 object.registerLocalDatabase()
    |                 |- warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'object' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 62 |             }
 63 |         }
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/PublicDatabaseManager.swift:82:21: warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
 80 |             case .success:
 81 |                 DispatchQueue.main.async {
 82 |                     callback?(nil)
    |                     |- warning: sending 'callback' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'callback' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 83 |                 }
 84 |             case .retry(let timeToWait, _):
[78/90] Compiling IceCream SyncObject.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/BackgroundWorker.swift:16:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
12 | // Tweaked a little by Yue Cai
13 |
14 | class BackgroundWorker: NSObject {
   |       `- note: class 'BackgroundWorker' does not conform to the 'Sendable' protocol
15 |
16 |     static let shared = BackgroundWorker()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' 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
17 |
18 |     private var thread: Thread?
[79/91] Compiling IceCream PrivateDatabaseManager.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/PrivateDatabaseManager.swift:82:25: warning: capture of 'object' with non-sendable type 'any Syncable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 80 |                     // have not been caught to CloudKit to make data in sync
 81 |                     DispatchQueue.main.async {
 82 |                         object.pushLocalObjectsToCloudKit()
    |                         `- warning: capture of 'object' with non-sendable type 'any Syncable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 83 |                     }
 84 |                 }
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/Syncable.swift:14:17: note: protocol 'Syncable' does not conform to the 'Sendable' protocol
12 | /// Since `sync` is an informal version of `synchronize`, so we choose the `syncable` word for
13 | /// the ability of synchronization.
14 | public protocol Syncable: class {
   |                 `- note: protocol 'Syncable' does not conform to the 'Sendable' protocol
15 |
16 |     /// CKRecordZone related
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/PrivateDatabaseManager.swift:132:17: warning: capture of 'object' with non-sendable type 'any Syncable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |         self.syncObjects.forEach { object in
131 |             DispatchQueue.main.async {
132 |                 object.registerLocalDatabase()
    |                 `- warning: capture of 'object' with non-sendable type 'any Syncable' in a `@Sendable` closure; this is an error in the Swift 6 language mode
133 |             }
134 |         }
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/Syncable.swift:14:17: note: protocol 'Syncable' does not conform to the 'Sendable' protocol
12 | /// Since `sync` is an informal version of `synchronize`, so we choose the `syncable` word for
13 | /// the ability of synchronization.
14 | public protocol Syncable: class {
   |                 `- note: protocol 'Syncable' does not conform to the 'Sendable' protocol
15 |
16 |     /// CKRecordZone related
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/PrivateDatabaseManager.swift:82:25: warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
 80 |                     // have not been caught to CloudKit to make data in sync
 81 |                     DispatchQueue.main.async {
 82 |                         object.pushLocalObjectsToCloudKit()
    |                         |- warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'object' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 83 |                     }
 84 |                 }
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/PrivateDatabaseManager.swift:132:17: warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
130 |         self.syncObjects.forEach { object in
131 |             DispatchQueue.main.async {
132 |                 object.registerLocalDatabase()
    |                 |- warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'object' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
133 |             }
134 |         }
[80/91] Compiling IceCream Notification+Name.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/BackgroundWorker.swift:16:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
12 | // Tweaked a little by Yue Cai
13 |
14 | class BackgroundWorker: NSObject {
   |       `- note: class 'BackgroundWorker' does not conform to the 'Sendable' protocol
15 |
16 |     static let shared = BackgroundWorker()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' 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
17 |
18 |     private var thread: Thread?
[81/91] Compiling IceCream PendingRelationshipsWorker.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/BackgroundWorker.swift:16:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
12 | // Tweaked a little by Yue Cai
13 |
14 | class BackgroundWorker: NSObject {
   |       `- note: class 'BackgroundWorker' does not conform to the 'Sendable' protocol
15 |
16 |     static let shared = BackgroundWorker()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' 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
17 |
18 |     private var thread: Thread?
[82/91] Compiling IceCream CKRecordRecoverable.swift
[83/91] Compiling IceCream CreamAsset.swift
[84/91] Compiling IceCream BackgroundWorker.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/BackgroundWorker.swift:16:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
12 | // Tweaked a little by Yue Cai
13 |
14 | class BackgroundWorker: NSObject {
   |       `- note: class 'BackgroundWorker' does not conform to the 'Sendable' protocol
15 |
16 |     static let shared = BackgroundWorker()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' 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
17 |
18 |     private var thread: Thread?
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/BackgroundWorker.swift:26:34: warning: capture of 'self' with non-sendable type 'BackgroundWorker?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | // Tweaked a little by Yue Cai
13 |
14 | class BackgroundWorker: NSObject {
   |       `- note: class 'BackgroundWorker' does not conform to the 'Sendable' protocol
15 |
16 |     static let shared = BackgroundWorker()
   :
24 |         if thread == nil {
25 |             thread = Thread { [weak self] in
26 |                 guard let self = self, let th = self.thread else {
   |                                  `- warning: capture of 'self' with non-sendable type 'BackgroundWorker?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |                     Thread.exit()
28 |                     return
[85/91] Compiling IceCream CKRecordConvertible.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/BackgroundWorker.swift:16:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
12 | // Tweaked a little by Yue Cai
13 |
14 | class BackgroundWorker: NSObject {
   |       `- note: class 'BackgroundWorker' does not conform to the 'Sendable' protocol
15 |
16 |     static let shared = BackgroundWorker()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' 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
17 |
18 |     private var thread: Thread?
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/BackgroundWorker.swift:26:34: warning: capture of 'self' with non-sendable type 'BackgroundWorker?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 | // Tweaked a little by Yue Cai
13 |
14 | class BackgroundWorker: NSObject {
   |       `- note: class 'BackgroundWorker' does not conform to the 'Sendable' protocol
15 |
16 |     static let shared = BackgroundWorker()
   :
24 |         if thread == nil {
25 |             thread = Thread { [weak self] in
26 |                 guard let self = self, let th = self.thread else {
   |                                  `- warning: capture of 'self' with non-sendable type 'BackgroundWorker?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
27 |                     Thread.exit()
28 |                     return
[86/91] Compiling IceCream ErrorHandler.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/ErrorHandler.swift:113:13: warning: capture of 'block' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |         let delayTime = DispatchTime.now() + retryAfter
112 |         DispatchQueue.main.asyncAfter(deadline: delayTime, execute: {
113 |             block()
    |             |- warning: capture of 'block' with non-sendable type '() -> ()' 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'
114 |         })
115 |
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/Manifest.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'IceCream' may have shared mutable state; this is an error in the Swift 6 language mode
10 | /// This file is for setting some develop configs for IceCream framework.
11 |
12 | public class IceCream {
   |              `- note: class 'IceCream' does not conform to the 'Sendable' protocol
13 |
14 |     public static let shared = IceCream()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'IceCream' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'shared' 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
15 |
16 |     /// There are quite a lot `print`s in the IceCream source files.
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/ErrorHandler.swift:113:13: warning: sending 'block' risks causing data races; this is an error in the Swift 6 language mode
111 |         let delayTime = DispatchTime.now() + retryAfter
112 |         DispatchQueue.main.asyncAfter(deadline: delayTime, execute: {
113 |             block()
    |             |- warning: sending 'block' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'block' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
114 |         })
115 |
[87/91] Compiling IceCream Manifest.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/ErrorHandler.swift:113:13: warning: capture of 'block' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |         let delayTime = DispatchTime.now() + retryAfter
112 |         DispatchQueue.main.asyncAfter(deadline: delayTime, execute: {
113 |             block()
    |             |- warning: capture of 'block' with non-sendable type '() -> ()' 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'
114 |         })
115 |
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/Manifest.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'IceCream' may have shared mutable state; this is an error in the Swift 6 language mode
10 | /// This file is for setting some develop configs for IceCream framework.
11 |
12 | public class IceCream {
   |              `- note: class 'IceCream' does not conform to the 'Sendable' protocol
13 |
14 |     public static let shared = IceCream()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'IceCream' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'shared' 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
15 |
16 |     /// There are quite a lot `print`s in the IceCream source files.
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/ErrorHandler.swift:113:13: warning: sending 'block' risks causing data races; this is an error in the Swift 6 language mode
111 |         let delayTime = DispatchTime.now() + retryAfter
112 |         DispatchQueue.main.asyncAfter(deadline: delayTime, execute: {
113 |             block()
    |             |- warning: sending 'block' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'block' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
114 |         })
115 |
[88/91] Emitting module IceCream
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/BackgroundWorker.swift:16:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
12 | // Tweaked a little by Yue Cai
13 |
14 | class BackgroundWorker: NSObject {
   |       `- note: class 'BackgroundWorker' does not conform to the 'Sendable' protocol
15 |
16 |     static let shared = BackgroundWorker()
   |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'BackgroundWorker' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'shared' 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
17 |
18 |     private var thread: Thread?
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:10:27: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
  8 | import CloudKit
  9 |
 10 | protocol DatabaseManager: class {
    |                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
 11 |
 12 |     /// A conduit for accessing and performing operations on the data of an app container.
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/Manifest.swift:14:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'IceCream' may have shared mutable state; this is an error in the Swift 6 language mode
10 | /// This file is for setting some develop configs for IceCream framework.
11 |
12 | public class IceCream {
   |              `- note: class 'IceCream' does not conform to the 'Sendable' protocol
13 |
14 |     public static let shared = IceCream()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'IceCream' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'shared' 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
15 |
16 |     /// There are quite a lot `print`s in the IceCream source files.
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/Syncable.swift:14:27: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
12 | /// Since `sync` is an informal version of `synchronize`, so we choose the `syncable` word for
13 | /// the ability of synchronization.
14 | public protocol Syncable: class {
   |                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
15 |
16 |     /// CKRecordZone related
[89/91] Compiling IceCream CreamLocation.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:10:27: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
  8 | import CloudKit
  9 |
 10 | protocol DatabaseManager: class {
    |                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
 11 |
 12 |     /// A conduit for accessing and performing operations on the data of an app container.
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:57:30: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 55 |     func resumeLongLivedOperationIfPossible() {
 56 |         container.fetchAllLongLivedOperationIDs { [weak self]( opeIDs, error) in
 57 |             guard let self = self, error == nil, let ids = opeIDs else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |             for id in ids {
 59 |                 self.container.fetchLongLivedOperation(withID: id, completionHandler: { [weak self](ope, error) in
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:60:38: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |             for id in ids {
 59 |                 self.container.fetchLongLivedOperation(withID: id, completionHandler: { [weak self](ope, error) in
 60 |                     guard let self = self, error == nil else { return }
    |                                      `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 61 |                     if let modifyOp = ope as? CKModifyRecordsOperation {
 62 |                         modifyOp.modifyRecordsCompletionBlock = { (_,_,_) in
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:82:30: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 80 |     func startObservingRemoteChanges() {
 81 |         NotificationCenter.default.addObserver(forName: Notifications.cloudKitDataDidChangeRemotely.name, object: nil, queue: nil, using: { [weak self](_) in
 82 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 83 |             DispatchQueue.global(qos: .utility).async {
 84 |                 self.fetchChangesInDatabase(nil)
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:84:17: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |             guard let self = self else { return }
 83 |             DispatchQueue.global(qos: .utility).async {
 84 |                 self.fetchChangesInDatabase(nil)
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 85 |             }
 86 |         })
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:121:21: warning: capture of 'completion' with non-sendable type '(((any Error)?) -> ())?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
119 |             case .success:
120 |                 DispatchQueue.main.async {
121 |                     completion?(nil)
    |                     |- warning: capture of 'completion' with non-sendable type '(((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'
122 |                 }
123 |             case .retry(let timeToWait, _):
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:121:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
119 |             case .success:
120 |                 DispatchQueue.main.async {
121 |                     completion?(nil)
    |                     |- 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
122 |                 }
123 |             case .retry(let timeToWait, _):
[90/91] Compiling IceCream DatabaseManagerProtocol.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:10:27: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
  8 | import CloudKit
  9 |
 10 | protocol DatabaseManager: class {
    |                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
 11 |
 12 |     /// A conduit for accessing and performing operations on the data of an app container.
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:57:30: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 55 |     func resumeLongLivedOperationIfPossible() {
 56 |         container.fetchAllLongLivedOperationIDs { [weak self]( opeIDs, error) in
 57 |             guard let self = self, error == nil, let ids = opeIDs else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |             for id in ids {
 59 |                 self.container.fetchLongLivedOperation(withID: id, completionHandler: { [weak self](ope, error) in
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:60:38: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 58 |             for id in ids {
 59 |                 self.container.fetchLongLivedOperation(withID: id, completionHandler: { [weak self](ope, error) in
 60 |                     guard let self = self, error == nil else { return }
    |                                      `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 61 |                     if let modifyOp = ope as? CKModifyRecordsOperation {
 62 |                         modifyOp.modifyRecordsCompletionBlock = { (_,_,_) in
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:82:30: warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 80 |     func startObservingRemoteChanges() {
 81 |         NotificationCenter.default.addObserver(forName: Notifications.cloudKitDataDidChangeRemotely.name, object: nil, queue: nil, using: { [weak self](_) in
 82 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 83 |             DispatchQueue.global(qos: .utility).async {
 84 |                 self.fetchChangesInDatabase(nil)
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:84:17: warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |             guard let self = self else { return }
 83 |             DispatchQueue.global(qos: .utility).async {
 84 |                 self.fetchChangesInDatabase(nil)
    |                 `- warning: capture of 'self' with non-sendable type 'Self' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 85 |             }
 86 |         })
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:121:21: warning: capture of 'completion' with non-sendable type '(((any Error)?) -> ())?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
119 |             case .success:
120 |                 DispatchQueue.main.async {
121 |                     completion?(nil)
    |                     |- warning: capture of 'completion' with non-sendable type '(((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'
122 |                 }
123 |             case .retry(let timeToWait, _):
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/DatabaseManagerProtocol.swift:121:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
119 |             case .success:
120 |                 DispatchQueue.main.async {
121 |                     completion?(nil)
    |                     |- 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
122 |                 }
123 |             case .retry(let timeToWait, _):
[91/91] Compiling IceCream Syncable.swift
/Users/admin/builder/spi-builder-workspace/IceCream/Classes/Syncable.swift:14:27: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
12 | /// Since `sync` is an informal version of `synchronize`, so we choose the `syncable` word for
13 | /// the ability of synchronization.
14 | public protocol Syncable: class {
   |                           `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
15 |
16 |     /// CKRecordZone related
Build complete! (67.57s)
Fetching https://github.com/realm/realm-core
Fetching https://github.com/realm/realm-cocoa
[1/130549] Fetching realm-cocoa
[75720/377474] Fetching realm-cocoa, realm-core
Fetched https://github.com/realm/realm-core from cache (9.87s)
Fetched https://github.com/realm/realm-cocoa from cache (9.87s)
Computing version for https://github.com/realm/realm-cocoa
Computed https://github.com/realm/realm-cocoa at 4.1.1 (0.78s)
Computing version for https://github.com/realm/realm-core
Computed https://github.com/realm/realm-core at 5.23.6 (0.74s)
Creating working copy for https://github.com/realm/realm-cocoa
Working copy of https://github.com/realm/realm-cocoa resolved at 4.1.1
Creating working copy for https://github.com/realm/realm-core
Working copy of https://github.com/realm/realm-core resolved at 5.23.6
Build complete.
{
  "dependencies" : [
    {
      "identity" : "realm-cocoa",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.1.1",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/realm/realm-cocoa"
    }
  ],
  "manifest_display_name" : "IceCream",
  "name" : "IceCream",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.12"
    },
    {
      "name" : "ios",
      "version" : "10.0"
    },
    {
      "name" : "tvos",
      "version" : "10.0"
    },
    {
      "name" : "watchos",
      "version" : "3.0"
    }
  ],
  "products" : [
    {
      "name" : "IceCream",
      "targets" : [
        "IceCream"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "IceCream",
      "module_type" : "SwiftTarget",
      "name" : "IceCream",
      "path" : "IceCream",
      "product_dependencies" : [
        "RealmSwift",
        "Realm"
      ],
      "product_memberships" : [
        "IceCream"
      ],
      "sources" : [
        "Classes/BackgroundWorker.swift",
        "Classes/CKRecordConvertible.swift",
        "Classes/CKRecordRecoverable.swift",
        "Classes/CreamAsset.swift",
        "Classes/CreamLocation.swift",
        "Classes/DatabaseManagerProtocol.swift",
        "Classes/ErrorHandler.swift",
        "Classes/Manifest.swift",
        "Classes/Notification+Name.swift",
        "Classes/PendingRelationshipsWorker.swift",
        "Classes/PrivateDatabaseManager.swift",
        "Classes/PublicDatabaseManager.swift",
        "Classes/SyncEngine.swift",
        "Classes/SyncObject.swift",
        "Classes/Syncable.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.