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

Swift 6 data race errors: 0

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/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
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/jayhickey/cirrus.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/4] Write sources
[3/4] Write swift-version-6F35C1178C84523A.txt
[5/7] Compiling CloudKitCodable CloudKitCodable.swift
[6/7] Emitting module CloudKitCodable
[7/7] Compiling CloudKitCodable CloudKitCodable+LastModifiedDate.swift
[8/17] Compiling CKRecordCoder CloudKitSystemFieldsKeyName.swift
[9/18] Compiling CKRecordCoder CKRecordKeyedEncodingContainer.swift
[10/18] Emitting module CKRecordCoder
[11/18] Compiling CKRecordCoder CKRecordEncodingError.swift
[12/18] Compiling CKRecordCoder CKRecordEncoder.swift
[13/18] Compiling CKRecordCoder CKRecordKeyedDecodingContainer.swift
[14/18] Compiling CKRecordCoder CKRecordDecoder.swift
[15/18] Compiling CKRecordCoder CloudKitCodable+RecordType.swift
[16/18] Compiling CKRecordCoder CKRecordSingleValueDecoder.swift
[17/18] Compiling CKRecordCoder CKRecordSingleValueEncoder.swift
[18/18] Compiling CKRecordCoder URLTransformer.swift
[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/28] 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/28] 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/28] 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 }
[23/28] 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 |     }
[24/28] Compiling Cirrus RecordModifyingContext.swift
[25/28] 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/28] 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
[27/28] 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
[28/28] 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)
[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! (31.83s)
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.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.