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 Cirrus, reference main (9f6138), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 17:50:38 UTC.

Swift 6 data race errors: 0

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/jayhickey/cirrus.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/jayhickey/cirrus
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 9f6138c format fix
Cloned https://github.com/jayhickey/cirrus.git
Revision (git rev-parse @):
9f6138ca74e5cbcae9b20996ea9f003f701416fc
SUCCESS checkout https://github.com/jayhickey/cirrus.git at main
========================================
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": "cirrus",
      "name": "Cirrus",
      "url": "https://github.com/jayhickey/cirrus.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/cirrus",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/jayhickey/cirrus.git
[1/198] Fetching cirrus
Fetched https://github.com/jayhickey/cirrus.git from cache (0.76s)
Creating working copy for https://github.com/jayhickey/cirrus.git
Working copy of https://github.com/jayhickey/cirrus.git resolved at main (9f6138c)
warning: '.resolve-product-dependencies': dependency 'cirrus' 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/jayhickey/cirrus.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/4] Write sources
[3/4] Write swift-version--7754E27361AE5C74.txt
[5/7] Compiling CloudKitCodable CloudKitCodable.swift
[6/7] Emitting module CloudKitCodable
[7/7] Compiling CloudKitCodable CloudKitCodable+LastModifiedDate.swift
[8/17] Compiling CKRecordCoder CloudKitCodable+RecordType.swift
[9/18] Compiling CKRecordCoder CloudKitSystemFieldsKeyName.swift
[10/18] Compiling CKRecordCoder URLTransformer.swift
[11/18] Compiling CKRecordCoder CKRecordKeyedEncodingContainer.swift
[12/18] Compiling CKRecordCoder CKRecordEncodingError.swift
[13/18] Compiling CKRecordCoder CKRecordSingleValueDecoder.swift
[14/18] Compiling CKRecordCoder CKRecordKeyedDecodingContainer.swift
[15/18] Compiling CKRecordCoder CKRecordSingleValueEncoder.swift
[16/18] Compiling CKRecordCoder CKRecordEncoder.swift
[17/18] Compiling CKRecordCoder CKRecordDecoder.swift
[18/18] Emitting module CKRecordCoder
[19/28] Compiling Cirrus SyncEngine+Zone.swift
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+Zone.swift:85:13: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 83 |
 84 |           self.workQueue.async {
 85 |             self.createdCustomZone = false
    |             `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 86 |             self.createCustomZoneIfNeeded()
 87 |           }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+Zone.swift:92:11: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |         self.logHandler("Custom zone reported as existing, but it doesn't exist. Creating.", .error)
 91 |         self.workQueue.async {
 92 |           self.createdCustomZone = false
    |           `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |           self.createCustomZoneIfNeeded()
 94 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
[20/29] Compiling Cirrus SyncEngine+Subscription.swift
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+Subscription.swift:91:13: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 89 |
 90 |           self.workQueue.async {
 91 |             self.createdPrivateSubscription = false
    |             `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 92 |             self.createPrivateSubscriptionsIfNeeded()
 93 |           }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+Subscription.swift:101:11: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 99 |
100 |         self.workQueue.async {
101 |           self.createdPrivateSubscription = false
    |           `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |           self.createPrivateSubscriptionsIfNeeded()
103 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
[21/29] Compiling Cirrus SyncEngine+RemoteChangeTracking.swift
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
  1 | @_implementationOnly import CKRecordCoder
    |                      `- warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
  2 | import CloudKit
  3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:42:9: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 40 |       // rest of the data.
 41 |       self.workQueue.async {
 42 |         self.logHandler("Commiting new change token and emitting changes", .debug)
    |         `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 43 |
 44 |         self.privateChangeToken = changeToken
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:45:38: warning: reference to captured var 'changedRecords' in concurrently-executing code; this is an error in the Swift 6 language mode
 43 |
 44 |         self.privateChangeToken = changeToken
 45 |         self.emitServerChanges(with: changedRecords, deletedRecordIDs: deletedRecordIDs)
    |                                      `- warning: reference to captured var 'changedRecords' in concurrently-executing code; this is an error in the Swift 6 language mode
 46 |         changedRecords = []
 47 |         deletedRecordIDs = []
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:45:72: warning: reference to captured var 'deletedRecordIDs' in concurrently-executing code; this is an error in the Swift 6 language mode
 43 |
 44 |         self.privateChangeToken = changeToken
 45 |         self.emitServerChanges(with: changedRecords, deletedRecordIDs: deletedRecordIDs)
    |                                                                        `- warning: reference to captured var 'deletedRecordIDs' in concurrently-executing code; this is an error in the Swift 6 language mode
 46 |         changedRecords = []
 47 |         deletedRecordIDs = []
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:46:9: warning: mutation of captured var 'changedRecords' in concurrently-executing code; this is an error in the Swift 6 language mode
 44 |         self.privateChangeToken = changeToken
 45 |         self.emitServerChanges(with: changedRecords, deletedRecordIDs: deletedRecordIDs)
 46 |         changedRecords = []
    |         `- warning: mutation of captured var 'changedRecords' in concurrently-executing code; this is an error in the Swift 6 language mode
 47 |         deletedRecordIDs = []
 48 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:47:9: warning: mutation of captured var 'deletedRecordIDs' in concurrently-executing code; this is an error in the Swift 6 language mode
 45 |         self.emitServerChanges(with: changedRecords, deletedRecordIDs: deletedRecordIDs)
 46 |         changedRecords = []
 47 |         deletedRecordIDs = []
    |         `- warning: mutation of captured var 'deletedRecordIDs' in concurrently-executing code; this is an error in the Swift 6 language mode
 48 |       }
 49 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:64:13: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 62 |
 63 |           self.workQueue.async {
 64 |             self.privateChangeToken = nil
    |             `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 65 |             self.fetchRemoteChanges()
 66 |           }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:76:11: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 74 |
 75 |         self.workQueue.async {
 76 |           self.privateChangeToken = token
    |           `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 77 |         }
 78 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:83:9: warning: mutation of captured var 'changedRecords' in concurrently-executing code; this is an error in the Swift 6 language mode
 81 |     operation.recordChangedBlock = { [weak self] record in
 82 |       self?.workQueue.async {
 83 |         changedRecords.append(record)
    |         `- warning: mutation of captured var 'changedRecords' in concurrently-executing code; this is an error in the Swift 6 language mode
 84 |       }
 85 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:89:38: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 87 |     operation.recordWithIDWasDeletedBlock = { [weak self] recordID, recordType in
 88 |       self?.workQueue.async {
 89 |         guard let engineRecordType = self?.recordType,
    |                                      `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 90 |           engineRecordType == recordType
 91 |         else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:89:38: warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
 87 |     operation.recordWithIDWasDeletedBlock = { [weak self] recordID, recordType in
 88 |       self?.workQueue.async {
 89 |         guard let engineRecordType = self?.recordType,
    |                                      `- warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
 90 |           engineRecordType == recordType
 91 |         else { return }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:92:9: warning: mutation of captured var 'deletedRecordIDs' in concurrently-executing code; this is an error in the Swift 6 language mode
 90 |           engineRecordType == recordType
 91 |         else { return }
 92 |         deletedRecordIDs.append(recordID)
    |         `- warning: mutation of captured var 'deletedRecordIDs' in concurrently-executing code; this is an error in the Swift 6 language mode
 93 |       }
 94 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:110:11: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
108 |
109 |         self.workQueue.async {
110 |           self.emitServerChanges(with: changedRecords, deletedRecordIDs: deletedRecordIDs)
    |           `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
111 |           changedRecords = []
112 |           deletedRecordIDs = []
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:110:40: warning: reference to captured var 'changedRecords' in concurrently-executing code; this is an error in the Swift 6 language mode
108 |
109 |         self.workQueue.async {
110 |           self.emitServerChanges(with: changedRecords, deletedRecordIDs: deletedRecordIDs)
    |                                        `- warning: reference to captured var 'changedRecords' in concurrently-executing code; this is an error in the Swift 6 language mode
111 |           changedRecords = []
112 |           deletedRecordIDs = []
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:110:74: warning: reference to captured var 'deletedRecordIDs' in concurrently-executing code; this is an error in the Swift 6 language mode
108 |
109 |         self.workQueue.async {
110 |           self.emitServerChanges(with: changedRecords, deletedRecordIDs: deletedRecordIDs)
    |                                                                          `- warning: reference to captured var 'deletedRecordIDs' in concurrently-executing code; this is an error in the Swift 6 language mode
111 |           changedRecords = []
112 |           deletedRecordIDs = []
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:111:11: warning: mutation of captured var 'changedRecords' in concurrently-executing code; this is an error in the Swift 6 language mode
109 |         self.workQueue.async {
110 |           self.emitServerChanges(with: changedRecords, deletedRecordIDs: deletedRecordIDs)
111 |           changedRecords = []
    |           `- warning: mutation of captured var 'changedRecords' in concurrently-executing code; this is an error in the Swift 6 language mode
112 |           deletedRecordIDs = []
113 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:112:11: warning: mutation of captured var 'deletedRecordIDs' in concurrently-executing code; this is an error in the Swift 6 language mode
110 |           self.emitServerChanges(with: changedRecords, deletedRecordIDs: deletedRecordIDs)
111 |           changedRecords = []
112 |           deletedRecordIDs = []
    |           `- warning: mutation of captured var 'deletedRecordIDs' in concurrently-executing code; this is an error in the Swift 6 language mode
113 |         }
114 |       }
[22/29] Compiling Cirrus SyncEngine.swift
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:129:7: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
    :
127 |
128 |     workQueue.async {
129 |       self.uploadContext.buffer(models)
    |       `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |       self.modifyRecords(with: self.uploadContext)
131 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:129:33: warning: capture of 'models' with non-sendable type '[Model]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                               `- note: consider making generic parameter 'Model' conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
    :
127 |
128 |     workQueue.async {
129 |       self.uploadContext.buffer(models)
    |                                 `- warning: capture of 'models' with non-sendable type '[Model]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
130 |       self.modifyRecords(with: self.uploadContext)
131 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:145:7: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
    :
143 |     workQueue.async {
144 |       // Remove any pending upload items that match the items we want to delete
145 |       self.uploadContext.removeFromBuffer(models)
    |       `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 |
147 |       self.deleteContext.buffer(models)
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:145:43: warning: capture of 'models' with non-sendable type '[Model]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                               `- note: consider making generic parameter 'Model' conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
    :
143 |     workQueue.async {
144 |       // Remove any pending upload items that match the items we want to delete
145 |       self.uploadContext.removeFromBuffer(models)
    |                                           `- warning: capture of 'models' with non-sendable type '[Model]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
146 |
147 |       self.deleteContext.buffer(models)
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:165:7: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
    :
163 |
164 |     workQueue.async {
165 |       self.performUpdate(with: self.uploadContext)
    |       `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
166 |       self.performUpdate(with: self.deleteContext)
167 |       self.fetchRemoteChanges()
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:197:7: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
    :
195 |
196 |     self.workQueue.async { [weak self] in
197 |       self?.fetchRemoteChanges()
    |       `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
198 |     }
199 |
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:207:24: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
    :
205 |   private func setupCloudEnvironment() {
206 |     workQueue.async { [weak self] in
207 |       guard let self = self else { return }
    |                        `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
208 |
209 |       // Initialize CloudKit with private custom zone, but bail early if we fail
[23/29] Compiling Cirrus RecordModifyingContext.swift
[24/29] Compiling Cirrus SyncEngine+AccountStatus.swift
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+AccountStatus.swift:33:9: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
31 |     container.accountStatus { [weak self] status, error in
32 |       if let error = error {
33 |         self?.logHandler(
   |         `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 |           "Error retriving iCloud account status: \(error.localizedDescription)", .error)
35 |       }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+AccountStatus.swift:51:9: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 |           accountStatus = .unknown
50 |         }
51 |         self?.accountStatus = accountStatus
   |         `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |       }
53 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+AccountStatus.swift:51:9: warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
49 |           accountStatus = .unknown
50 |         }
51 |         self?.accountStatus = accountStatus
   |         `- warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
52 |       }
53 |     }
[25/29] Compiling Cirrus Error+CloudKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/Error+CloudKit.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
  1 | @_implementationOnly import CKRecordCoder
    |                      `- warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
  2 | import CloudKit
  3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/Error+CloudKit.swift:97:7: warning: capture of 'block' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 95 |
 96 |     queue.asyncAfter(deadline: .now() + retryDelay) {
 97 |       block()
    |       |- warning: capture of 'block' with non-sendable type '() -> 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'
 98 |     }
 99 |
[26/29] Compiling Cirrus DeleteRecordContext.swift
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/DeleteRecordContext.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
 1 | @_implementationOnly import CKRecordCoder
   |                      `- warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
 2 | import CloudKit
 3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/DeleteRecordContext.swift:46:38: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
44 |       guard let data = defaults.data(forKey: deleteBufferKey) else { return [] }
45 |       do {
46 |         return try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data) as? [CKRecord.ID] ?? []
   |                                      `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
47 |       } catch {
48 |         logHandler("Failed to decode CKRecord.IDs from defaults key deleteBufferKey", .error)
[27/29] Compiling Cirrus SyncEngine+RecordModification.swift
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RecordModification.swift:51:11: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 |
 50 |         self.workQueue.async {
 51 |           self.handleError(
    |           `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 52 |             error,
 53 |             toSave: recordsToSave,
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RecordModification.swift:55:22: warning: capture of 'context' with non-sendable type 'any RecordModifyingContextProvider' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |             toSave: recordsToSave,
 54 |             recordIDsToDelete: recordIDsToDelete,
 55 |             context: context
    |                      `- warning: capture of 'context' with non-sendable type 'any RecordModifyingContextProvider' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 56 |           )
 57 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/RecordModifyingContext.swift:9:10: note: protocol 'RecordModifyingContextProvider' does not conform to the 'Sendable' protocol
 7 | }
 8 |
 9 | protocol RecordModifyingContextProvider {
   |          `- note: protocol 'RecordModifyingContextProvider' does not conform to the 'Sendable' protocol
10 |   var name: String { get }
11 |   var savePolicy: CKModifyRecordsOperation.RecordSavePolicy { get }
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RecordModification.swift:64:11: warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 62 |
 63 |         self.workQueue.async {
 64 |           self.modelsChangedSubject.send(
    |           `- warning: capture of 'self' with non-sendable type 'SyncEngine<Model>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 65 |             context.modelChangeForUpdatedRecords(
 66 |               recordsSaved: serverRecords ?? [],
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine.swift:7:20: note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  5 | import os.log
  6 |
  7 | public final class SyncEngine<Model: CloudKitCodable> {
    |                    `- note: generic class 'SyncEngine' does not conform to the 'Sendable' protocol
  8 |
  9 |   public enum ModelChange {
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RecordModification.swift:65:13: warning: capture of 'context' with non-sendable type 'any RecordModifyingContextProvider' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 63 |         self.workQueue.async {
 64 |           self.modelsChangedSubject.send(
 65 |             context.modelChangeForUpdatedRecords(
    |             `- warning: capture of 'context' with non-sendable type 'any RecordModifyingContextProvider' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 66 |               recordsSaved: serverRecords ?? [],
 67 |               recordIDsDeleted: deletedRecordIDs ?? []
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/RecordModifyingContext.swift:9:10: note: protocol 'RecordModifyingContextProvider' does not conform to the 'Sendable' protocol
 7 | }
 8 |
 9 | protocol RecordModifyingContextProvider {
   |          `- note: protocol 'RecordModifyingContextProvider' does not conform to the 'Sendable' protocol
10 |   var name: String { get }
11 |   var savePolicy: CKModifyRecordsOperation.RecordSavePolicy { get }
[28/29] Emitting module Cirrus
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/DeleteRecordContext.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
 1 | @_implementationOnly import CKRecordCoder
   |                      `- warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
 2 | import CloudKit
 3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/Error+CloudKit.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
  1 | @_implementationOnly import CKRecordCoder
    |                      `- warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
  2 | import CloudKit
  3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/SyncEngine+RemoteChangeTracking.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
  1 | @_implementationOnly import CKRecordCoder
    |                      `- warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
  2 | import CloudKit
  3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/UploadRecordContext.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
 1 | @_implementationOnly import CKRecordCoder
   |                      `- warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
 2 | import CloudKit
 3 | import CloudKitCodable
[29/29] Compiling Cirrus UploadRecordContext.swift
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/UploadRecordContext.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
 1 | @_implementationOnly import CKRecordCoder
   |                      `- warning: using '@_implementationOnly' without enabling library evolution for 'Cirrus' may lead to instability during execution
 2 | import CloudKit
 3 | import CloudKitCodable
/Users/admin/builder/spi-builder-workspace/Sources/Cirrus/UploadRecordContext.swift:49:38: warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
47 |       guard let data = defaults.data(forKey: uploadBufferKey) else { return [:] }
48 |       do {
49 |         return try NSKeyedUnarchiver.unarchiveTopLevelObjectWithData(data)
   |                                      `- warning: 'unarchiveTopLevelObjectWithData' was deprecated in macOS 10.14: Use unarchivedObject(ofClass:from:) instead
50 |           as? [CKRecord.ID: CKRecord] ?? [:]
51 |       } catch {
Build complete! (10.08s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Cirrus",
  "name" : "Cirrus",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "Cirrus",
      "targets" : [
        "Cirrus"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CloudKitCodable",
      "targets" : [
        "CloudKitCodable"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CloudKitCodable",
      "module_type" : "SwiftTarget",
      "name" : "CloudKitCodable",
      "path" : "Sources/CloudKitCodable",
      "product_memberships" : [
        "Cirrus",
        "CloudKitCodable"
      ],
      "sources" : [
        "CloudKitCodable+LastModifiedDate.swift",
        "CloudKitCodable.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Cirrus",
      "module_type" : "SwiftTarget",
      "name" : "Cirrus",
      "path" : "Sources/Cirrus",
      "product_memberships" : [
        "Cirrus"
      ],
      "sources" : [
        "DeleteRecordContext.swift",
        "Error+CloudKit.swift",
        "RecordModifyingContext.swift",
        "SyncEngine+AccountStatus.swift",
        "SyncEngine+RecordModification.swift",
        "SyncEngine+RemoteChangeTracking.swift",
        "SyncEngine+Subscription.swift",
        "SyncEngine+Zone.swift",
        "SyncEngine.swift",
        "UploadRecordContext.swift"
      ],
      "target_dependencies" : [
        "CKRecordCoder",
        "CloudKitCodable"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CKRecordCoderTests",
      "module_type" : "SwiftTarget",
      "name" : "CKRecordCoderTests",
      "path" : "Tests/CKRecordCoderTests",
      "sources" : [
        "CKRecordDecoderTests.swift",
        "CKRecordEncoderDecoderRoundTripTests.swift",
        "CKRecordEncoderTests.swift",
        "Mocks/Bookmark.swift",
        "Mocks/Numbers.swift",
        "Mocks/ParentChild.swift",
        "Mocks/Person.swift",
        "Mocks/URLModel.swift",
        "Mocks/UUIDModel.swift"
      ],
      "target_dependencies" : [
        "CKRecordCoder"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CKRecordCoder",
      "module_type" : "SwiftTarget",
      "name" : "CKRecordCoder",
      "path" : "Sources/CKRecordCoder",
      "product_memberships" : [
        "Cirrus"
      ],
      "sources" : [
        "CKRecordDecoder.swift",
        "CKRecordEncoder.swift",
        "CKRecordEncodingError.swift",
        "CKRecordKeyedDecodingContainer.swift",
        "CKRecordKeyedEncodingContainer.swift",
        "CKRecordSingleValueDecoder.swift",
        "CKRecordSingleValueEncoder.swift",
        "CloudKitCodable+RecordType.swift",
        "CloudKitSystemFieldsKeyName.swift",
        "URLTransformer.swift"
      ],
      "target_dependencies" : [
        "CloudKitCodable"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.