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.