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, reference 2.1.0 (e1d07b), with Swift 6.0 for macOS (SPM) on 3 Nov 2024 02:19:15 UTC.

Swift 6 data race errors: 2

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/caiyue1993/IceCream.git
Reference: 2.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/caiyue1993/IceCream
 * tag               2.1.0      -> FETCH_HEAD
HEAD is now at e1d07b3 include CreamLocation file to pbxproj
Cloned https://github.com/caiyue1993/IceCream.git
Revision (git rev-parse @):
e1d07b31bd0e1a65b89ac72f629f4df6f6707fd3
SUCCESS checkout https://github.com/caiyue1993/IceCream.git at 2.1.0
Fetching https://github.com/realm/realm-cocoa
Fetching https://github.com/realm/realm-core
[1/131076] Fetching realm-cocoa
[15031/383333] Fetching realm-cocoa, realm-core
Fetched https://github.com/realm/realm-core from cache (69.01s)
Fetched https://github.com/realm/realm-cocoa from cache (69.01s)
Computing version for https://github.com/realm/realm-cocoa
Computed https://github.com/realm/realm-cocoa at 4.1.1 (0.97s)
Computing version for https://github.com/realm/realm-core
Computed https://github.com/realm/realm-core at 5.23.6 (0.64s)
Creating working copy for https://github.com/realm/realm-core
Working copy of https://github.com/realm/realm-core resolved at 5.23.6
Creating working copy for https://github.com/realm/realm-cocoa
Working copy of https://github.com/realm/realm-cocoa resolved at 4.1.1
========================================
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": "icecream",
      "name": "IceCream",
      "url": "https://github.com/caiyue1993/IceCream.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/IceCream",
      "dependencies": [
        {
          "identity": "realm-cocoa",
          "name": "Realm",
          "url": "https://github.com/realm/realm-cocoa",
          "version": "4.4.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/realm-cocoa",
          "dependencies": [
            {
              "identity": "realm-core",
              "name": "RealmCore",
              "url": "https://github.com/realm/realm-core",
              "version": "5.23.8",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/realm-core",
              "dependencies": [
              ]
            }
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/caiyue1993/IceCream.git
[1/4461] Fetching icecream
Fetched https://github.com/caiyue1993/IceCream.git from cache (1.12s)
Fetching https://github.com/realm/realm-cocoa from cache
Fetched https://github.com/realm/realm-cocoa from cache (0.87s)
Computing version for https://github.com/realm/realm-cocoa
Computed https://github.com/realm/realm-cocoa at 4.4.1 (0.65s)
Fetching https://github.com/realm/realm-core from cache
Fetched https://github.com/realm/realm-core from cache (1.01s)
Computing version for https://github.com/realm/realm-core
Computed https://github.com/realm/realm-core at 5.23.8 (0.62s)
Creating working copy for https://github.com/realm/realm-core
Working copy of https://github.com/realm/realm-core resolved at 5.23.8
Creating working copy for https://github.com/caiyue1993/IceCream.git
Working copy of https://github.com/caiyue1993/IceCream.git resolved at 2.1.0 (e1d07b3)
Creating working copy for https://github.com/realm/realm-cocoa
Working copy of https://github.com/realm/realm-cocoa resolved at 4.4.1
warning: '.resolve-product-dependencies': dependency 'icecream' is not used by any target
Found 1 product dependencies
  - Realm
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/caiyue1993/IceCream.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/55] Write sources
[1/55] Write swift-version--7754E27361AE5C74.txt
[2/55] Compiling placeholder.cpp
[3/55] Compiling schema.cpp
[4/55] Compiling RLMUpdateChecker.mm
[5/55] Compiling object_schema.cpp
[6/55] Compiling RLMThreadSafeReference.mm
[7/55] Compiling object.cpp
[8/55] Compiling RLMUtil.mm
[9/55] Compiling object_store.cpp
[10/55] Compiling list.cpp
[11/55] Compiling shared_realm.cpp
[12/55] Compiling results.cpp
[13/55] Compiling RLMRealmConfiguration.mm
[14/55] Compiling RLMSchema.mm
[15/55] Compiling RLMPredicateUtil.mm
[16/55] Compiling RLMRealmUtil.mm
[17/55] Compiling RLMProperty.mm
[18/55] Compiling RLMSwiftSupport.m
[19/55] Compiling RLMResults.mm
[20/55] Compiling RLMRealm.mm
[21/55] Compiling RLMOptionalBase.mm
[22/55] Compiling RLMConstants.m
[23/55] Compiling RLMObjectSchema.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 RLMListBase.mm
[30/55] Compiling RLMManagedArray.mm
[31/55] Compiling uuid.cpp
[32/55] Compiling event_loop_signal.cpp
[33/55] Compiling RLMQueryUtil.mm
[34/55] Compiling RLMClassInfo.mm
[35/55] Compiling RLMAnalytics.mm
[36/55] Compiling RLMCollection.mm
[37/55] Compiling index_set.cpp
[38/55] Compiling weak_realm_notifier.cpp
[39/55] Compiling RLMArray.mm
[40/55] Compiling RLMAccessor.mm
[41/55] Compiling thread_safe_reference.cpp
[42/55] Compiling primitive_list_notifier.cpp
[43/55] Compiling object_notifier.cpp
[44/55] Compiling results_notifier.cpp
[44/55] Write sources
[46/55] Compiling binding_callback_thread_observer.cpp
[47/55] Compiling keychain_helper.cpp
[48/55] Compiling list_notifier.cpp
[49/55] Compiling external_commit_helper.cpp
[50/55] Compiling transact_log_handler.cpp
[51/55] Compiling collection_change_builder.cpp
[52/55] Compiling collection_notifications.cpp
[53/55] Compiling realm_coordinator.cpp
[54/55] Compiling collection_notifier.cpp
[56/74] Compiling RealmSwift SortDescriptor.swift
[57/74] Compiling RealmSwift ThreadSafeReference.swift
[58/74] Compiling RealmSwift Results.swift
[59/74] Compiling RealmSwift Schema.swift
[60/75] Compiling RealmSwift Property.swift
[61/75] Compiling RealmSwift Realm.swift
[62/75] Compiling RealmSwift RealmCollection.swift
[63/75] Compiling RealmSwift RealmConfiguration.swift
[64/75] Compiling RealmSwift ObjectiveCSupport.swift
[65/75] Compiling RealmSwift Optional.swift
[66/75] Compiling RealmSwift Object.swift
[67/75] Compiling RealmSwift ObjectSchema.swift
[68/75] Compiling RealmSwift Migration.swift
[69/75] Compiling RealmSwift Nonsync.swift
[70/75] Compiling RealmSwift LinkingObjects.swift
[71/75] Compiling RealmSwift List.swift
[72/75] Compiling RealmSwift Aliases.swift
[73/75] Compiling RealmSwift Error.swift
[74/75] Emitting module RealmSwift
[75/75] Compiling RealmSwift Util.swift
[76/90] 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?
[77/90] 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?
[78/90] 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 |
[79/90] 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 |
[80/90] 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, _):
[81/90] 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, _):
[82/90] Compiling IceCream CKRecordRecoverable.swift
[83/90] Compiling IceCream CreamAsset.swift
[84/90] 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 |         }
[85/90] 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
[86/90] 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
[87/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:
[88/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, _):
[89/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?
[90/90] 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
[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! (27.02s)
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.