Build Information
Successful build of SwiftletData, reference 2.0.2 (926565), with Swift 6.1 for macOS (SPM) on 13 May 2025 18:26:19 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
901 | switch recordResult {
902 | case .success(let record):
903 | let data = try self.buildADRecord(from: record)
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
904 | let item = try decoder.decode(type, from: data)
905 | rows.append(item)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:908:29: warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
906 | case .failure(let error):
907 | // Encountered error, pass forward
908 | completionHandler(nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
909 | }
910 | }
[116/117] Compiling SwiftletData ADiCloudDatabaseType.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:676:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
674 | if result != SQLITE_OK {
675 | sqlite3_finalize(stmt)
676 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
677 | throw ADDataProviderError.failedToPrepareSQL(message: "\(error)")
678 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:719:36: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
717 | if flag != SQLITE_OK {
718 | sqlite3_finalize(stmt)
719 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
720 | let msg = "Parameters: \(params!), Index: \(ndx) Error: \(error)"
721 | throw ADDataProviderError.unableToBindParameter(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:745:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
743 | if res != SQLITE_OK && res != SQLITE_DONE {
744 | sqlite3_finalize(stmt)
745 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
746 | let msg = "\(error)"
747 | throw ADDataProviderError.failedToExecuteSQL(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:798:40: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
796 | // Get column name
797 | let name = sqlite3_column_name(stmt, index)
798 | columnNames.append(String(validatingUTF8:name!)!)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
799 | // Get column type
800 | columnTypes.append(getColumnType(index:index, stmt:stmt))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:844:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
842 | let buf = sqlite3_column_decltype(stmt, index)
843 | if buf != nil {
844 | var tmp = String(validatingUTF8:buf!)!.uppercased()
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
845 | // Remove bracketed section
846 | if let pos = tmp.range(of:"(") {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:916:27: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
914 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
915 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
916 | let txt = String(validatingUTF8:uptr)!
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
917 | let set = CharacterSet(charactersIn:"-:")
918 | if txt.rangeOfCharacter(from:set) != nil {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:938:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
936 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
937 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
938 | let txt = String(validatingUTF8:uptr)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
939 | return txt
940 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
148 | DispatchQueue.main.async {
149 | let title = "Unable to \(action)"
150 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
151 | }
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
194 | DispatchQueue.main.async {
195 | let title = "Unable to \(action)"
196 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:265:17: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
263 | if let error = error {
264 | // Unable to check status
265 | self?.cloudKitAccountStatus = .couldNotDetermine
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
266 | Log.error(subsystem: "ADiCloudProvider", category: "init", "Unable to determine the user's CloudKit account status: \(error)")
267 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:655:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
653 | // Attempt to save record to database.
654 | iCloudDatabase?.save(record) { record, error in
655 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
656 | // Pass info to caller.
657 | handler(record, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:699:17: warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
697 |
698 | // Return found record
699 | completionHandler(newRecord, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
700 | } else if let record = record {
701 | // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:708:118: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
706 |
707 | // Return found record
708 | completionHandler(newRecord, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
709 | }
710 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:768:38: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
766 | // Attempt to nuke record
767 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
768 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
769 | // Pass info to caller.
770 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:804:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
802 | // Attempt to nuke record
803 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
804 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
805 | // Pass info to caller.
806 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
835 | if let err = error {
836 | // Encountered error, pass forward
837 | completionHandler(nil, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
838 | } else if let record = record {
839 | do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:840:39: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
838 | } else if let record = record {
839 | do {
840 | if let data = try self?.buildADRecord(from: record) {
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
841 | let item = try ADSQLDecoder().decode(type, from: data)
842 | completionHandler(item, nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:850:112: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
848 | } else {
849 | // Not found
850 | completionHandler(nil, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
851 | }
852 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:903:44: warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
901 | switch recordResult {
902 | case .success(let record):
903 | let data = try self.buildADRecord(from: record)
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
904 | let item = try decoder.decode(type, from: data)
905 | rows.append(item)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:908:29: warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
906 | case .failure(let error):
907 | // Encountered error, pass forward
908 | completionHandler(nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
909 | }
910 | }
[117/117] Compiling SwiftletData ADDataCrossReference.swift
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:676:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
674 | if result != SQLITE_OK {
675 | sqlite3_finalize(stmt)
676 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
677 | throw ADDataProviderError.failedToPrepareSQL(message: "\(error)")
678 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:719:36: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
717 | if flag != SQLITE_OK {
718 | sqlite3_finalize(stmt)
719 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
720 | let msg = "Parameters: \(params!), Index: \(ndx) Error: \(error)"
721 | throw ADDataProviderError.unableToBindParameter(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:745:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
743 | if res != SQLITE_OK && res != SQLITE_DONE {
744 | sqlite3_finalize(stmt)
745 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
746 | let msg = "\(error)"
747 | throw ADDataProviderError.failedToExecuteSQL(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:798:40: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
796 | // Get column name
797 | let name = sqlite3_column_name(stmt, index)
798 | columnNames.append(String(validatingUTF8:name!)!)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
799 | // Get column type
800 | columnTypes.append(getColumnType(index:index, stmt:stmt))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:844:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
842 | let buf = sqlite3_column_decltype(stmt, index)
843 | if buf != nil {
844 | var tmp = String(validatingUTF8:buf!)!.uppercased()
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
845 | // Remove bracketed section
846 | if let pos = tmp.range(of:"(") {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:916:27: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
914 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
915 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
916 | let txt = String(validatingUTF8:uptr)!
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
917 | let set = CharacterSet(charactersIn:"-:")
918 | if txt.rangeOfCharacter(from:set) != nil {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:938:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
936 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
937 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
938 | let txt = String(validatingUTF8:uptr)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
939 | return txt
940 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
148 | DispatchQueue.main.async {
149 | let title = "Unable to \(action)"
150 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
151 | }
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
194 | DispatchQueue.main.async {
195 | let title = "Unable to \(action)"
196 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:265:17: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
263 | if let error = error {
264 | // Unable to check status
265 | self?.cloudKitAccountStatus = .couldNotDetermine
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
266 | Log.error(subsystem: "ADiCloudProvider", category: "init", "Unable to determine the user's CloudKit account status: \(error)")
267 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:655:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
653 | // Attempt to save record to database.
654 | iCloudDatabase?.save(record) { record, error in
655 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
656 | // Pass info to caller.
657 | handler(record, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:699:17: warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
697 |
698 | // Return found record
699 | completionHandler(newRecord, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
700 | } else if let record = record {
701 | // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:708:118: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
706 |
707 | // Return found record
708 | completionHandler(newRecord, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
709 | }
710 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:768:38: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
766 | // Attempt to nuke record
767 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
768 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
769 | // Pass info to caller.
770 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:804:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
802 | // Attempt to nuke record
803 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
804 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
805 | // Pass info to caller.
806 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
835 | if let err = error {
836 | // Encountered error, pass forward
837 | completionHandler(nil, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
838 | } else if let record = record {
839 | do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:840:39: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
838 | } else if let record = record {
839 | do {
840 | if let data = try self?.buildADRecord(from: record) {
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
841 | let item = try ADSQLDecoder().decode(type, from: data)
842 | completionHandler(item, nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:850:112: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
848 | } else {
849 | // Not found
850 | completionHandler(nil, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
851 | }
852 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:903:44: warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
901 | switch recordResult {
902 | case .success(let record):
903 | let data = try self.buildADRecord(from: record)
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
904 | let item = try decoder.decode(type, from: data)
905 | rows.append(item)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:908:29: warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
906 | case .failure(let error):
907 | // Encountered error, pass forward
908 | completionHandler(nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
909 | }
910 | }
Build complete! (13.76s)
Build complete.
{
"dependencies" : [
{
"identity" : "swiftletutilities",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Appracatappra/SwiftletUtilities.git"
},
{
"identity" : "logmanager",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Appracatappra/LogManager"
}
],
"manifest_display_name" : "SwiftletData",
"name" : "SwiftletData",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "18.0"
},
{
"name" : "macos",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "18.0"
},
{
"name" : "watchos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "SwiftletData",
"targets" : [
"SwiftletData"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftletDataTests",
"module_type" : "SwiftTarget",
"name" : "SwiftletDataTests",
"path" : "Tests/SwiftletDataTests",
"sources" : [
"SwiftletDataTests.swift"
],
"target_dependencies" : [
"SwiftletData"
],
"type" : "test"
},
{
"c99name" : "SwiftletData",
"module_type" : "SwiftTarget",
"name" : "SwiftletData",
"path" : "Sources/SwiftletData",
"product_dependencies" : [
"SwiftletUtilities",
"LogManager"
],
"product_memberships" : [
"SwiftletData"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/Resources/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"SharedCode/ActionCodable/SPON/Decodable/ADSPONDecoder.swift",
"SharedCode/ActionCodable/SPON/Decodable/ADSPONKeyedDecodingContainer.swift",
"SharedCode/ActionCodable/SPON/Decodable/ADSPONSingleValueDecodingContainer.swift",
"SharedCode/ActionCodable/SPON/Decodable/ADSPONUnkeyedDecodingContainer.swift",
"SharedCode/ActionCodable/SPON/Encodable/ADSPONEncoder.swift",
"SharedCode/ActionCodable/SPON/Encodable/ADSPONKeyedEncodingContainer.swift",
"SharedCode/ActionCodable/SPON/Encodable/ADSPONReferencingEncoder.swift",
"SharedCode/ActionCodable/SPON/Encodable/ADSPONSingleValueEncodingContainer.swift",
"SharedCode/ActionCodable/SPON/Encodable/ADSPONUnkeyedEncodingContainer.swift",
"SharedCode/ActionCodable/SQLite/Decodable/ADSQLDecoder.swift",
"SharedCode/ActionCodable/SQLite/Decodable/ADSQLKeyedDecodingContainer.swift",
"SharedCode/ActionCodable/SQLite/Decodable/ADSQLSingleValueDecodingContainer.swift",
"SharedCode/ActionCodable/SQLite/Decodable/ADSQLUnkeyedDecodingContainer.swift",
"SharedCode/ActionCodable/SQLite/Encodable/ADSQLEncoder.swift",
"SharedCode/ActionCodable/SQLite/Encodable/ADSQLKeyedEncodingContainer.swift",
"SharedCode/ActionCodable/SQLite/Encodable/ADSQLReferencingEncoder.swift",
"SharedCode/ActionCodable/SQLite/Encodable/ADSQLSingleValueEncodingContainer.swift",
"SharedCode/ActionCodable/SQLite/Encodable/ADSQLUnkeyedEncodingContainer.swift",
"SharedCode/ActionCodable/SharedElements/ADDecodingStorage.swift",
"SharedCode/ActionCodable/SharedElements/ADEncodingStorage.swift",
"SharedCode/ActionCodable/SharedElements/ADInstanceArray.swift",
"SharedCode/ActionCodable/SharedElements/ADInstanceDictionary.swift",
"SharedCode/ActionCodable/SharedElements/ADKey.swift",
"SharedCode/ActionCodable/SharedElements/ADRecord.swift",
"SharedCode/ActionDataProviders/ADSPONProvider.swift",
"SharedCode/ActionDataProviders/ADSQLiteProvider.swift",
"SharedCode/ActionDataProviders/ADiCloudProvider.swift",
"SharedCode/ActionDataProviders/Enumerations/ADDataProviderError.swift",
"SharedCode/ActionDataProviders/Enumerations/ADDataTableKeyType.swift",
"SharedCode/ActionDataProviders/Enumerations/ADSQLExecutionError.swift",
"SharedCode/ActionDataProviders/Enumerations/ADiCloudDatabaseType.swift",
"SharedCode/ActionDataProviders/Protocols/ADDataCrossReference.swift",
"SharedCode/ActionDataProviders/Protocols/ADDataProvider.swift",
"SharedCode/ActionDataProviders/Protocols/ADDataTable.swift",
"SharedCode/ActionDataProviders/SharedElements/ADColumnSchema.swift",
"SharedCode/ActionDataProviders/SharedElements/ADCrossReference.swift",
"SharedCode/ActionDataProviders/SharedElements/ADDataStore.swift",
"SharedCode/ActionDataProviders/SharedElements/ADTableSchema.swift",
"SharedCode/ActionDataProviders/SharedElements/ADTableStore.swift",
"SharedCode/ActionDataProviders/SharedElements/ADUtilities.swift",
"SharedCode/ActionSQLParser/ADSQLParser.swift",
"SharedCode/ActionSQLParser/Enumerations/ADSQLColumnType.swift",
"SharedCode/ActionSQLParser/Enumerations/ADSQLConflictHandling.swift",
"SharedCode/ActionSQLParser/Enumerations/ADSQLFunction.swift",
"SharedCode/ActionSQLParser/Enumerations/ADSQLKeyword.swift",
"SharedCode/ActionSQLParser/Enumerations/ADSQLParseError.swift",
"SharedCode/ActionSQLParser/Expressions/ADSQLBetweenExpression.swift",
"SharedCode/ActionSQLParser/Expressions/ADSQLBinaryExpression.swift",
"SharedCode/ActionSQLParser/Expressions/ADSQLCaseExpression.swift",
"SharedCode/ActionSQLParser/Expressions/ADSQLExpressionBuilder.swift",
"SharedCode/ActionSQLParser/Expressions/ADSQLForeignKeyExpression.swift",
"SharedCode/ActionSQLParser/Expressions/ADSQLFunctionExpression.swift",
"SharedCode/ActionSQLParser/Expressions/ADSQLInExpression.swift",
"SharedCode/ActionSQLParser/Expressions/ADSQLLiteralExpression.swift",
"SharedCode/ActionSQLParser/Expressions/ADSQLUnaryExpression.swift",
"SharedCode/ActionSQLParser/Expressions/ADSQLWhenExpression.swift",
"SharedCode/ActionSQLParser/Instructions/ADSQLAlterTableInstruction.swift",
"SharedCode/ActionSQLParser/Instructions/ADSQLCreateIndexInstruction.swift",
"SharedCode/ActionSQLParser/Instructions/ADSQLCreateTableInstruction.swift",
"SharedCode/ActionSQLParser/Instructions/ADSQLCreateTriggerInstruction.swift",
"SharedCode/ActionSQLParser/Instructions/ADSQLCreateViewInstruction.swift",
"SharedCode/ActionSQLParser/Instructions/ADSQLDeleteInstruction.swift",
"SharedCode/ActionSQLParser/Instructions/ADSQLDropInstruction.swift",
"SharedCode/ActionSQLParser/Instructions/ADSQLInsertInstruction.swift",
"SharedCode/ActionSQLParser/Instructions/ADSQLSelectInstruction.swift",
"SharedCode/ActionSQLParser/Instructions/ADSQLTransaction.swift",
"SharedCode/ActionSQLParser/Instructions/ADSQLUpdateInstruction.swift",
"SharedCode/ActionSQLParser/Protocols/ADSQLExpression.swift",
"SharedCode/ActionSQLParser/Protocols/ADSQLInstruction.swift",
"SharedCode/ActionSQLParser/SharedElements/ADSQLColumnConstraint.swift",
"SharedCode/ActionSQLParser/SharedElements/ADSQLColumnDefinition.swift",
"SharedCode/ActionSQLParser/SharedElements/ADSQLJoinClause.swift",
"SharedCode/ActionSQLParser/SharedElements/ADSQLOrderByClause.swift",
"SharedCode/ActionSQLParser/SharedElements/ADSQLParseQueue.swift",
"SharedCode/ActionSQLParser/SharedElements/ADSQLResultColumn.swift",
"SharedCode/ActionSQLParser/SharedElements/ADSQLSetClause.swift",
"SharedCode/ActionSQLParser/SharedElements/ADSQLTableConstraint.swift"
],
"type" : "library"
}
],
"tools_version" : "6.1"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/appracatappra/swiftletdata/2.0.2
Repository: Appracatappra/SwiftletData
Swift version used: 6.1
Target: SwiftletData
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
* branch release/6.2 -> FETCH_HEAD
* [new branch] release/6.2 -> origin/release/6.2
HEAD is now at 8799b69 Update the artifact
Cloned https://github.com/swiftlang/swift-docc-render-artifact
Extracting symbol information for 'SwiftletData'...
Finished extracting symbol information for 'SwiftletData'. (8.15s)
Building documentation for 'SwiftletData'...
warning: Parameter 'value' not found in instance method declaration
--> ../SharedCode/ActionCodable/SPON/Encodable/ADSPONEncoder.swift:371:6-371:45
369 | /**
370 | Stores a Date value for encoding.
371 + - Parameter value: The value to encode.
| ╰─suggestion: Remove 'value' parameter documentation
372 | - Returns: A "boxed" version of the value that is safe for encoding.
373 | */
warning: Parameter 'date' is missing documentation
--> ../SharedCode/ActionCodable/SPON/Encodable/ADSPONEncoder.swift:371:45-371:45
369 | /**
370 | Stores a Date value for encoding.
371 + - Parameter value: The value to encode.
| ╰─suggestion: Document 'date' parameter
372 | - Returns: A "boxed" version of the value that is safe for encoding.
373 | */
warning: Parameter 'value' not found in instance method declaration
--> ../SharedCode/ActionCodable/SPON/Encodable/ADSPONEncoder.swift:399:6-399:45
397 | /**
398 | Stores a Data value for encoding.
399 + - Parameter value: The value to encode.
| ╰─suggestion: Remove 'value' parameter documentation
400 | - Returns: A "boxed" version of the value that is safe for encoding.
401 | */
warning: Parameter 'data' is missing documentation
--> ../SharedCode/ActionCodable/SPON/Encodable/ADSPONEncoder.swift:399:45-399:45
397 | /**
398 | Stores a Data value for encoding.
399 + - Parameter value: The value to encode.
| ╰─suggestion: Document 'data' parameter
400 | - Returns: A "boxed" version of the value that is safe for encoding.
401 | */
warning: Parameter 'value' not found in instance method declaration
--> ../SharedCode/ActionCodable/SQLite/Encodable/ADSQLEncoder.swift:371:6-371:45
369 | /**
370 | Stores a Date value for encoding.
371 + - Parameter value: The value to encode.
| ╰─suggestion: Remove 'value' parameter documentation
372 | - Returns: A "boxed" version of the value that is safe for encoding.
373 | */
warning: Parameter 'date' is missing documentation
--> ../SharedCode/ActionCodable/SQLite/Encodable/ADSQLEncoder.swift:371:45-371:45
369 | /**
370 | Stores a Date value for encoding.
371 + - Parameter value: The value to encode.
| ╰─suggestion: Document 'date' parameter
372 | - Returns: A "boxed" version of the value that is safe for encoding.
373 | */
warning: Parameter 'value' not found in instance method declaration
--> ../SharedCode/ActionCodable/SQLite/Encodable/ADSQLEncoder.swift:399:6-399:45
397 | /**
398 | Stores a Data value for encoding.
399 + - Parameter value: The value to encode.
| ╰─suggestion: Remove 'value' parameter documentation
400 | - Returns: A "boxed" version of the value that is safe for encoding.
401 | */
warning: Parameter 'data' is missing documentation
--> ../SharedCode/ActionCodable/SQLite/Encodable/ADSQLEncoder.swift:399:45-399:45
397 | /**
398 | Stores a Data value for encoding.
399 + - Parameter value: The value to encode.
| ╰─suggestion: Document 'data' parameter
400 | - Returns: A "boxed" version of the value that is safe for encoding.
401 | */
warning: Parameter 'fileName' not found in instance method declaration
--> ../SharedCode/ActionDataProviders/ADSPONProvider.swift:232:18-232:26
230 | ```
231 |
232 + - Parameter fileName: The name of the SPON database file to create.
| ╰─suggestion: Replace 'fileName' with 'filename'
233 | - Remark: Passing an empty string ("") for the filename will create an in-memory only database without attempting to create a persisted disk file. You will need to call the `saveSource` method (instead of the `persist` method) to save a database created this way to disk.
234 | */
warning: Parameter 'filename' is missing documentation
--> ../SharedCode/ActionDataProviders/ADSPONProvider.swift:232:73-232:73
230 | ```
231 |
232 + - Parameter fileName: The name of the SPON database file to create.
| ╰─suggestion: Document 'filename' parameter
233 | - Remark: Passing an empty string ("") for the filename will create an in-memory only database without attempting to create a persisted disk file. You will need to call the `saveSource` method (instead of the `persist` method) to save a database created this way to disk.
234 | */
warning: Parameter 'fileName' not found in instance method declaration
--> ../SharedCode/ActionDataProviders/ADSPONProvider.swift:297:18-297:26
295 | ```
296 |
297 + - Parameter fileName: The name of the file to save the SPON database to.
| ╰─suggestion: Replace 'fileName' with 'filename'
298 | - Remark: The `saveSource` method is typically used to save a SPON database created with the `createSource("")` method call. After calling `saveSource` the `persist` method can be called to save further database changes to disk.
299 | */
warning: Parameter 'filename' is missing documentation
--> ../SharedCode/ActionDataProviders/ADSPONProvider.swift:297:78-297:78
295 | ```
296 |
297 + - Parameter fileName: The name of the file to save the SPON database to.
| ╰─suggestion: Document 'filename' parameter
298 | - Remark: The `saveSource` method is typically used to save a SPON database created with the `createSource("")` method call. After calling `saveSource` the `persist` method can be called to save further database changes to disk.
299 | */
warning: Parameter 'instance' is missing documentation
--> ../SharedCode/ActionDataProviders/ADSPONProvider.swift:655:51-655:51
653 | - Remark: Classes are usually registered when an app first starts, directly after a database is opened.
654 | - Parameters:
655 + - type: The type of the class to register.
| ╰─suggestion: Document 'instance' parameter
656 | - instance: An instance of the type with all properties set to the default values that you want to have added to the data source.
657 | */
warning: Parameter 'fileName' not found in instance method declaration
--> ../SharedCode/ActionDataProviders/ADSQLiteProvider.swift:257:18-257:26
255 | ```
256 |
257 + - Parameter fileName: The name of the SQLite database file to create.
| ╰─suggestion: Replace 'fileName' with 'filename'
258 | */
259 | public func createSource(_ filename: String) throws {
warning: Parameter 'filename' is missing documentation
--> ../SharedCode/ActionDataProviders/ADSQLiteProvider.swift:257:75-257:75
255 | ```
256 |
257 + - Parameter fileName: The name of the SQLite database file to create.
| ╰─suggestion: Document 'filename' parameter
258 | */
259 | public func createSource(_ filename: String) throws {
warning: Parameter 'Returns' not found in instance method declaration
--> ../SharedCode/ActionDataProviders/Protocols/ADDataProvider.swift:141:10-141:171
139 | - Parameters:
140 | - table: The name of the table to get the last ID from.
141 + - Returns: The last auto generated integer id or zero if no data has been saved to the table or if the table does not have an auto generated integer primary key.
| ╰─suggestion: Remove 'Returns' parameter documentation
142 | */
143 | func lastAutoID(forTable table: String) throws -> Int
warning: Parameter 'type' is missing documentation
--> ../SharedCode/ActionDataProviders/SharedElements/ADColumnSchema.swift:74:78-74:78
72 | - isPrimaryKey: `true` if this column is the primary key, else `false`.
73 | - defaultValue: The default value for the column.
74 + - isKeyUnique: `true` if the key value must be unique, else `false`.
75 | */
76 | public init(id: Any?, name: Any?, type: Any?, allowsNull: Any? = true, isPrimaryKey: Any? = false, defaultValue: Any? = nil, isKeyUnique: Bool = true) {
warning: External name 'withPrimaryKeyValue' used to document parameter
--> ../SharedCode/ActionDataProviders/SharedElements/ADTableStore.swift:94:18-94:37
92 | Test to see if the table contains a row with the given primary key value.
93 |
94 + - Parameter withPrimaryKeyValue: The value to find in the table.
| ╰─suggestion: Replace 'withPrimaryKeyValue' with 'value'
95 | - Returns: `true` if the table contains a row with the given primary key value, else `false` if not.
96 | */
warning: Parameter 'negate' is missing documentation
--> ../SharedCode/ActionSQLParser/Expressions/ADSQLBinaryExpression.swift:92:63-92:63
90 | - leftValue: The left side of the binary expression.
91 | - operation: The operation to perform.
92 + - rightValue: The right side of the binary operation.
| ╰─suggestion: Document 'negate' parameter
93 | */
94 | public init(leftValue: ADSQLExpression, operation: BinaryOperation, rightValue: ADSQLExpression?,_ negate: Bool = false) {
warning: Resource 'Documentation/Images/Intro01.png' couldn't be found
--> SwiftletData.md:176:1-176:38
174 | Creates the `People`, `Group` and `PeopleInGroups` SQLite database tables (if required) and inserts the new record instances, with relationships, into the database. For example:
175 |
176 + 
177 |
178 | To retrieve the `Group` from the database, use the following:
Finished building documentation for 'SwiftletData' (0.65s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/appracatappra/swiftletdata/2.0.2
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Updating https://github.com/Appracatappra/LogManager
Updating https://github.com/Appracatappra/SwiftletUtilities.git
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.51s)
Updated https://github.com/Appracatappra/LogManager (0.47s)
Updated https://github.com/Appracatappra/SwiftletUtilities.git (0.47s)
Computing version for https://github.com/Appracatappra/LogManager
Computed https://github.com/Appracatappra/LogManager at 2.0.4 (1.46s)
Computing version for https://github.com/Appracatappra/SwiftletUtilities.git
Computed https://github.com/Appracatappra/SwiftletUtilities.git at 2.0.4 (0.48s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.67s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.81s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.47s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/8] Write snippet-extract-tool-entitlement.plist
[0/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Emitting module Snippets
[7/53] Compiling Snippets SnippetParser.swift
[8/53] Compiling Snippets Snippet.swift
[9/53] Compiling SymbolKit GenericConstraint.swift
[10/53] Compiling SymbolKit GenericParameter.swift
[11/53] Compiling SymbolKit Generics.swift
[12/53] Compiling SymbolKit Namespace.swift
[13/57] Emitting module SymbolKit
[14/57] Compiling SymbolKit SourceRange.swift
[15/57] Compiling SymbolKit Metadata.swift
[16/57] Compiling SymbolKit Module.swift
[17/57] Compiling SymbolKit OperatingSystem.swift
[18/57] Compiling SymbolKit Platform.swift
[19/57] Compiling SymbolKit Relationship.swift
[20/57] Compiling SymbolKit RelationshipKind.swift
[21/57] Compiling SymbolKit SourceOrigin.swift
[22/57] Compiling SymbolKit GenericConstraints.swift
[23/57] Compiling SymbolKit Swift.swift
[24/57] Compiling SymbolKit Identifier.swift
[25/57] Compiling SymbolKit KindIdentifier.swift
[26/57] Compiling SymbolKit Location.swift
[27/57] Compiling SymbolKit Mutability.swift
[28/57] Compiling SymbolKit Mixin+Equals.swift
[29/57] Compiling SymbolKit Mixin+Hash.swift
[30/57] Compiling SymbolKit Mixin.swift
[31/57] Compiling SymbolKit LineList.swift
[32/57] Compiling SymbolKit Position.swift
[33/57] Compiling SymbolKit Names.swift
[34/57] Compiling SymbolKit SPI.swift
[35/57] Compiling SymbolKit Snippet.swift
[36/57] Compiling SymbolKit Extension.swift
[37/57] Compiling SymbolKit Symbol.swift
[38/57] Compiling SymbolKit SymbolKind.swift
[39/57] Compiling SymbolKit SymbolGraph.swift
[40/57] Compiling SymbolKit GraphCollector.swift
[41/57] Compiling SymbolKit DeclarationFragments.swift
[42/57] Compiling SymbolKit Fragment.swift
[43/57] Compiling SymbolKit FragmentKind.swift
[44/57] Compiling SymbolKit FunctionParameter.swift
[45/57] Compiling SymbolKit FunctionSignature.swift
[46/57] Compiling SymbolKit SemanticVersion.swift
[47/57] Compiling SymbolKit AccessControl.swift
[48/57] Compiling SymbolKit Availability.swift
[49/57] Compiling SymbolKit AvailabilityItem.swift
[50/57] Compiling SymbolKit Domain.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.29s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/5] Compiling LogManager resource_bundle_accessor.swift
[3/5] Compiling LogManager ReleaseLogger.swift
[4/5] Emitting module LogManager
[5/5] Compiling LogManager DebugLogger.swift
[6/30] Emitting module SwiftletUtilities
[7/32] Compiling SwiftletUtilities HTMLEntity.swift
[8/32] Compiling SwiftletUtilities NetworkConnection.swift
[9/32] Compiling SwiftletUtilities ObfuscationProvider.swift
[10/32] Compiling SwiftletUtilities ImageExtensions.swift
[11/32] Compiling SwiftletUtilities IntegerExtensions.swift
[12/32] Compiling SwiftletUtilities PublishedExtensions.swift
[13/32] Compiling SwiftletUtilities iOS ViewExtensions.swift
[14/32] Compiling SwiftletUtilities UIDeviceOrientation.swift
[15/32] Compiling SwiftletUtilities StringExtensions.swift
[16/32] Compiling SwiftletUtilities TitleCase.swift
[17/32] Compiling SwiftletUtilities ViewExtensions.swift
[18/32] Compiling SwiftletUtilities AppleHardwareType.swift
[19/32] Compiling SwiftletUtilities HardwareInformation.swift
[20/32] Compiling SwiftletUtilities Execute.swift
[21/32] Compiling SwiftletUtilities macOS StringExtensions.swift
[22/32] Compiling SwiftletUtilities resource_bundle_accessor.swift
[23/32] Compiling SwiftletUtilities macOS DataExtensions.swift
[24/32] Compiling SwiftletUtilities macOS ImageExtensions.swift
[25/32] Compiling SwiftletUtilities iOS ImageExtensions.swift
[26/32] Compiling SwiftletUtilities iOS StringExtensions.swift
[27/32] Compiling SwiftletUtilities UIApplicationExtensions.swift
[28/32] Compiling SwiftletUtilities ViewDeviceRotation.swift
[29/32] Compiling SwiftletUtilities iOS DataExtensions.swift
[30/32] Compiling SwiftletUtilities ArrayExtensions.swift
[31/32] Compiling SwiftletUtilities ColorExtentions.swift
[32/32] Compiling SwiftletUtilities DoubleExtensions.swift
[33/104] Compiling SwiftletData ADSQLAlterTableInstruction.swift
[34/104] Compiling SwiftletData ADSQLCreateIndexInstruction.swift
[35/104] Compiling SwiftletData ADSQLCreateTableInstruction.swift
[36/104] Compiling SwiftletData ADSQLCreateTriggerInstruction.swift
[37/104] Compiling SwiftletData ADSQLCreateViewInstruction.swift
[38/104] Compiling SwiftletData ADSQLDeleteInstruction.swift
[39/104] Compiling SwiftletData ADSQLDropInstruction.swift
[40/104] Compiling SwiftletData ADSQLInsertInstruction.swift
[41/111] Emitting module SwiftletData
[42/111] Compiling SwiftletData ADSQLCaseExpression.swift
[43/111] Compiling SwiftletData ADSQLExpressionBuilder.swift
[44/111] Compiling SwiftletData ADSQLForeignKeyExpression.swift
[45/111] Compiling SwiftletData ADSQLFunctionExpression.swift
[46/111] Compiling SwiftletData ADSQLInExpression.swift
[47/111] Compiling SwiftletData ADSQLLiteralExpression.swift
[48/111] Compiling SwiftletData ADSQLUnaryExpression.swift
[49/111] Compiling SwiftletData ADSQLWhenExpression.swift
[50/111] Compiling SwiftletData ADSQLJoinClause.swift
[51/111] Compiling SwiftletData ADSQLOrderByClause.swift
[52/111] Compiling SwiftletData ADSQLParseQueue.swift
[53/111] Compiling SwiftletData ADSQLResultColumn.swift
[54/111] Compiling SwiftletData ADSQLSetClause.swift
[55/111] Compiling SwiftletData ADSQLTableConstraint.swift
[56/111] Compiling SwiftletData resource_bundle_accessor.swift
[57/111] Compiling SwiftletData ADSPONDecoder.swift
[58/111] Compiling SwiftletData ADSPONKeyedDecodingContainer.swift
[59/111] Compiling SwiftletData ADSPONSingleValueDecodingContainer.swift
[60/111] Compiling SwiftletData ADSPONUnkeyedDecodingContainer.swift
[61/111] Compiling SwiftletData ADSPONEncoder.swift
[62/111] Compiling SwiftletData ADSPONKeyedEncodingContainer.swift
[63/111] Compiling SwiftletData ADSPONReferencingEncoder.swift
[64/111] Compiling SwiftletData ADSPONSingleValueEncodingContainer.swift
[65/111] Compiling SwiftletData ADSPONUnkeyedEncodingContainer.swift
[66/111] Compiling SwiftletData ADSQLDecoder.swift
[67/111] Compiling SwiftletData ADSQLKeyedDecodingContainer.swift
[68/111] Compiling SwiftletData ADSQLSingleValueDecodingContainer.swift
[69/111] Compiling SwiftletData ADSQLUnkeyedDecodingContainer.swift
[70/111] Compiling SwiftletData ADSQLEncoder.swift
[71/111] Compiling SwiftletData ADSQLKeyedEncodingContainer.swift
[72/111] Compiling SwiftletData ADSQLReferencingEncoder.swift
[73/111] Compiling SwiftletData ADSQLParser.swift
[74/111] Compiling SwiftletData ADSQLColumnType.swift
[75/111] Compiling SwiftletData ADSQLConflictHandling.swift
[76/111] Compiling SwiftletData ADSQLFunction.swift
[77/111] Compiling SwiftletData ADSQLKeyword.swift
[78/111] Compiling SwiftletData ADSQLParseError.swift
[79/111] Compiling SwiftletData ADSQLBetweenExpression.swift
[80/111] Compiling SwiftletData ADSQLBinaryExpression.swift
[81/111] Compiling SwiftletData ADSQLSelectInstruction.swift
[82/111] Compiling SwiftletData ADSQLTransaction.swift
[83/111] Compiling SwiftletData ADSQLUpdateInstruction.swift
[84/111] Compiling SwiftletData ADSQLExpression.swift
[85/111] Compiling SwiftletData ADSQLInstruction.swift
[86/111] Compiling SwiftletData ADSQLColumnConstraint.swift
[87/111] Compiling SwiftletData ADSQLColumnDefinition.swift
[88/111] Compiling SwiftletData ADSQLSingleValueEncodingContainer.swift
[89/111] Compiling SwiftletData ADSQLUnkeyedEncodingContainer.swift
[90/111] Compiling SwiftletData ADDecodingStorage.swift
[91/111] Compiling SwiftletData ADEncodingStorage.swift
[92/111] Compiling SwiftletData ADInstanceArray.swift
[93/111] Compiling SwiftletData ADInstanceDictionary.swift
[94/111] Compiling SwiftletData ADKey.swift
[95/111] Compiling SwiftletData ADRecord.swift
[96/111] Compiling SwiftletData ADDataProvider.swift
[97/111] Compiling SwiftletData ADDataTable.swift
[98/111] Compiling SwiftletData ADColumnSchema.swift
[99/111] Compiling SwiftletData ADCrossReference.swift
[100/111] Compiling SwiftletData ADDataStore.swift
[101/111] Compiling SwiftletData ADTableSchema.swift
[102/111] Compiling SwiftletData ADTableStore.swift
[103/111] Compiling SwiftletData ADUtilities.swift
[104/111] Compiling SwiftletData ADSPONProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:676:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
674 | if result != SQLITE_OK {
675 | sqlite3_finalize(stmt)
676 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
677 | throw ADDataProviderError.failedToPrepareSQL(message: "\(error)")
678 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:719:36: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
717 | if flag != SQLITE_OK {
718 | sqlite3_finalize(stmt)
719 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
720 | let msg = "Parameters: \(params!), Index: \(ndx) Error: \(error)"
721 | throw ADDataProviderError.unableToBindParameter(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:745:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
743 | if res != SQLITE_OK && res != SQLITE_DONE {
744 | sqlite3_finalize(stmt)
745 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
746 | let msg = "\(error)"
747 | throw ADDataProviderError.failedToExecuteSQL(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:798:40: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
796 | // Get column name
797 | let name = sqlite3_column_name(stmt, index)
798 | columnNames.append(String(validatingUTF8:name!)!)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
799 | // Get column type
800 | columnTypes.append(getColumnType(index:index, stmt:stmt))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:844:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
842 | let buf = sqlite3_column_decltype(stmt, index)
843 | if buf != nil {
844 | var tmp = String(validatingUTF8:buf!)!.uppercased()
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
845 | // Remove bracketed section
846 | if let pos = tmp.range(of:"(") {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:916:27: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
914 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
915 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
916 | let txt = String(validatingUTF8:uptr)!
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
917 | let set = CharacterSet(charactersIn:"-:")
918 | if txt.rangeOfCharacter(from:set) != nil {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:938:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
936 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
937 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
938 | let txt = String(validatingUTF8:uptr)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
939 | return txt
940 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
148 | DispatchQueue.main.async {
149 | let title = "Unable to \(action)"
150 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
151 | }
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
194 | DispatchQueue.main.async {
195 | let title = "Unable to \(action)"
196 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:265:17: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
263 | if let error = error {
264 | // Unable to check status
265 | self?.cloudKitAccountStatus = .couldNotDetermine
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
266 | Log.error(subsystem: "ADiCloudProvider", category: "init", "Unable to determine the user's CloudKit account status: \(error)")
267 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:655:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
653 | // Attempt to save record to database.
654 | iCloudDatabase?.save(record) { record, error in
655 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
656 | // Pass info to caller.
657 | handler(record, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:699:17: warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
697 |
698 | // Return found record
699 | completionHandler(newRecord, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
700 | } else if let record = record {
701 | // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:708:118: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
706 |
707 | // Return found record
708 | completionHandler(newRecord, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
709 | }
710 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:768:38: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
766 | // Attempt to nuke record
767 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
768 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
769 | // Pass info to caller.
770 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:804:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
802 | // Attempt to nuke record
803 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
804 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
805 | // Pass info to caller.
806 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
835 | if let err = error {
836 | // Encountered error, pass forward
837 | completionHandler(nil, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
838 | } else if let record = record {
839 | do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:840:39: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
838 | } else if let record = record {
839 | do {
840 | if let data = try self?.buildADRecord(from: record) {
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
841 | let item = try ADSQLDecoder().decode(type, from: data)
842 | completionHandler(item, nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:850:112: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
848 | } else {
849 | // Not found
850 | completionHandler(nil, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
851 | }
852 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:903:44: warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
901 | switch recordResult {
902 | case .success(let record):
903 | let data = try self.buildADRecord(from: record)
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
904 | let item = try decoder.decode(type, from: data)
905 | rows.append(item)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:908:29: warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
906 | case .failure(let error):
907 | // Encountered error, pass forward
908 | completionHandler(nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
909 | }
910 | }
[105/111] Compiling SwiftletData ADSQLiteProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:676:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
674 | if result != SQLITE_OK {
675 | sqlite3_finalize(stmt)
676 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
677 | throw ADDataProviderError.failedToPrepareSQL(message: "\(error)")
678 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:719:36: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
717 | if flag != SQLITE_OK {
718 | sqlite3_finalize(stmt)
719 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
720 | let msg = "Parameters: \(params!), Index: \(ndx) Error: \(error)"
721 | throw ADDataProviderError.unableToBindParameter(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:745:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
743 | if res != SQLITE_OK && res != SQLITE_DONE {
744 | sqlite3_finalize(stmt)
745 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
746 | let msg = "\(error)"
747 | throw ADDataProviderError.failedToExecuteSQL(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:798:40: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
796 | // Get column name
797 | let name = sqlite3_column_name(stmt, index)
798 | columnNames.append(String(validatingUTF8:name!)!)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
799 | // Get column type
800 | columnTypes.append(getColumnType(index:index, stmt:stmt))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:844:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
842 | let buf = sqlite3_column_decltype(stmt, index)
843 | if buf != nil {
844 | var tmp = String(validatingUTF8:buf!)!.uppercased()
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
845 | // Remove bracketed section
846 | if let pos = tmp.range(of:"(") {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:916:27: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
914 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
915 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
916 | let txt = String(validatingUTF8:uptr)!
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
917 | let set = CharacterSet(charactersIn:"-:")
918 | if txt.rangeOfCharacter(from:set) != nil {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:938:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
936 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
937 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
938 | let txt = String(validatingUTF8:uptr)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
939 | return txt
940 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
148 | DispatchQueue.main.async {
149 | let title = "Unable to \(action)"
150 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
151 | }
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
194 | DispatchQueue.main.async {
195 | let title = "Unable to \(action)"
196 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:265:17: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
263 | if let error = error {
264 | // Unable to check status
265 | self?.cloudKitAccountStatus = .couldNotDetermine
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
266 | Log.error(subsystem: "ADiCloudProvider", category: "init", "Unable to determine the user's CloudKit account status: \(error)")
267 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:655:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
653 | // Attempt to save record to database.
654 | iCloudDatabase?.save(record) { record, error in
655 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
656 | // Pass info to caller.
657 | handler(record, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:699:17: warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
697 |
698 | // Return found record
699 | completionHandler(newRecord, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
700 | } else if let record = record {
701 | // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:708:118: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
706 |
707 | // Return found record
708 | completionHandler(newRecord, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
709 | }
710 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:768:38: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
766 | // Attempt to nuke record
767 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
768 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
769 | // Pass info to caller.
770 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:804:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
802 | // Attempt to nuke record
803 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
804 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
805 | // Pass info to caller.
806 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
835 | if let err = error {
836 | // Encountered error, pass forward
837 | completionHandler(nil, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
838 | } else if let record = record {
839 | do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:840:39: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
838 | } else if let record = record {
839 | do {
840 | if let data = try self?.buildADRecord(from: record) {
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
841 | let item = try ADSQLDecoder().decode(type, from: data)
842 | completionHandler(item, nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:850:112: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
848 | } else {
849 | // Not found
850 | completionHandler(nil, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
851 | }
852 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:903:44: warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
901 | switch recordResult {
902 | case .success(let record):
903 | let data = try self.buildADRecord(from: record)
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
904 | let item = try decoder.decode(type, from: data)
905 | rows.append(item)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:908:29: warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
906 | case .failure(let error):
907 | // Encountered error, pass forward
908 | completionHandler(nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
909 | }
910 | }
[106/111] Compiling SwiftletData ADiCloudProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:676:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
674 | if result != SQLITE_OK {
675 | sqlite3_finalize(stmt)
676 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
677 | throw ADDataProviderError.failedToPrepareSQL(message: "\(error)")
678 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:719:36: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
717 | if flag != SQLITE_OK {
718 | sqlite3_finalize(stmt)
719 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
720 | let msg = "Parameters: \(params!), Index: \(ndx) Error: \(error)"
721 | throw ADDataProviderError.unableToBindParameter(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:745:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
743 | if res != SQLITE_OK && res != SQLITE_DONE {
744 | sqlite3_finalize(stmt)
745 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
746 | let msg = "\(error)"
747 | throw ADDataProviderError.failedToExecuteSQL(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:798:40: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
796 | // Get column name
797 | let name = sqlite3_column_name(stmt, index)
798 | columnNames.append(String(validatingUTF8:name!)!)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
799 | // Get column type
800 | columnTypes.append(getColumnType(index:index, stmt:stmt))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:844:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
842 | let buf = sqlite3_column_decltype(stmt, index)
843 | if buf != nil {
844 | var tmp = String(validatingUTF8:buf!)!.uppercased()
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
845 | // Remove bracketed section
846 | if let pos = tmp.range(of:"(") {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:916:27: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
914 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
915 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
916 | let txt = String(validatingUTF8:uptr)!
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
917 | let set = CharacterSet(charactersIn:"-:")
918 | if txt.rangeOfCharacter(from:set) != nil {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:938:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
936 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
937 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
938 | let txt = String(validatingUTF8:uptr)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
939 | return txt
940 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
148 | DispatchQueue.main.async {
149 | let title = "Unable to \(action)"
150 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
151 | }
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
194 | DispatchQueue.main.async {
195 | let title = "Unable to \(action)"
196 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:265:17: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
263 | if let error = error {
264 | // Unable to check status
265 | self?.cloudKitAccountStatus = .couldNotDetermine
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
266 | Log.error(subsystem: "ADiCloudProvider", category: "init", "Unable to determine the user's CloudKit account status: \(error)")
267 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:655:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
653 | // Attempt to save record to database.
654 | iCloudDatabase?.save(record) { record, error in
655 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
656 | // Pass info to caller.
657 | handler(record, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:699:17: warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
697 |
698 | // Return found record
699 | completionHandler(newRecord, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
700 | } else if let record = record {
701 | // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:708:118: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
706 |
707 | // Return found record
708 | completionHandler(newRecord, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
709 | }
710 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:768:38: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
766 | // Attempt to nuke record
767 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
768 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
769 | // Pass info to caller.
770 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:804:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
802 | // Attempt to nuke record
803 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
804 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
805 | // Pass info to caller.
806 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
835 | if let err = error {
836 | // Encountered error, pass forward
837 | completionHandler(nil, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
838 | } else if let record = record {
839 | do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:840:39: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
838 | } else if let record = record {
839 | do {
840 | if let data = try self?.buildADRecord(from: record) {
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
841 | let item = try ADSQLDecoder().decode(type, from: data)
842 | completionHandler(item, nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:850:112: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
848 | } else {
849 | // Not found
850 | completionHandler(nil, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
851 | }
852 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:903:44: warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
901 | switch recordResult {
902 | case .success(let record):
903 | let data = try self.buildADRecord(from: record)
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
904 | let item = try decoder.decode(type, from: data)
905 | rows.append(item)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:908:29: warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
906 | case .failure(let error):
907 | // Encountered error, pass forward
908 | completionHandler(nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
909 | }
910 | }
[107/111] Compiling SwiftletData ADDataProviderError.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:676:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
674 | if result != SQLITE_OK {
675 | sqlite3_finalize(stmt)
676 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
677 | throw ADDataProviderError.failedToPrepareSQL(message: "\(error)")
678 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:719:36: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
717 | if flag != SQLITE_OK {
718 | sqlite3_finalize(stmt)
719 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
720 | let msg = "Parameters: \(params!), Index: \(ndx) Error: \(error)"
721 | throw ADDataProviderError.unableToBindParameter(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:745:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
743 | if res != SQLITE_OK && res != SQLITE_DONE {
744 | sqlite3_finalize(stmt)
745 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
746 | let msg = "\(error)"
747 | throw ADDataProviderError.failedToExecuteSQL(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:798:40: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
796 | // Get column name
797 | let name = sqlite3_column_name(stmt, index)
798 | columnNames.append(String(validatingUTF8:name!)!)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
799 | // Get column type
800 | columnTypes.append(getColumnType(index:index, stmt:stmt))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:844:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
842 | let buf = sqlite3_column_decltype(stmt, index)
843 | if buf != nil {
844 | var tmp = String(validatingUTF8:buf!)!.uppercased()
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
845 | // Remove bracketed section
846 | if let pos = tmp.range(of:"(") {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:916:27: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
914 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
915 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
916 | let txt = String(validatingUTF8:uptr)!
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
917 | let set = CharacterSet(charactersIn:"-:")
918 | if txt.rangeOfCharacter(from:set) != nil {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:938:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
936 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
937 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
938 | let txt = String(validatingUTF8:uptr)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
939 | return txt
940 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
148 | DispatchQueue.main.async {
149 | let title = "Unable to \(action)"
150 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
151 | }
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
194 | DispatchQueue.main.async {
195 | let title = "Unable to \(action)"
196 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:265:17: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
263 | if let error = error {
264 | // Unable to check status
265 | self?.cloudKitAccountStatus = .couldNotDetermine
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
266 | Log.error(subsystem: "ADiCloudProvider", category: "init", "Unable to determine the user's CloudKit account status: \(error)")
267 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:655:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
653 | // Attempt to save record to database.
654 | iCloudDatabase?.save(record) { record, error in
655 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
656 | // Pass info to caller.
657 | handler(record, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:699:17: warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
697 |
698 | // Return found record
699 | completionHandler(newRecord, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
700 | } else if let record = record {
701 | // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:708:118: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
706 |
707 | // Return found record
708 | completionHandler(newRecord, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
709 | }
710 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:768:38: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
766 | // Attempt to nuke record
767 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
768 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
769 | // Pass info to caller.
770 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:804:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
802 | // Attempt to nuke record
803 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
804 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
805 | // Pass info to caller.
806 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
835 | if let err = error {
836 | // Encountered error, pass forward
837 | completionHandler(nil, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
838 | } else if let record = record {
839 | do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:840:39: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
838 | } else if let record = record {
839 | do {
840 | if let data = try self?.buildADRecord(from: record) {
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
841 | let item = try ADSQLDecoder().decode(type, from: data)
842 | completionHandler(item, nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:850:112: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
848 | } else {
849 | // Not found
850 | completionHandler(nil, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
851 | }
852 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:903:44: warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
901 | switch recordResult {
902 | case .success(let record):
903 | let data = try self.buildADRecord(from: record)
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
904 | let item = try decoder.decode(type, from: data)
905 | rows.append(item)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:908:29: warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
906 | case .failure(let error):
907 | // Encountered error, pass forward
908 | completionHandler(nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
909 | }
910 | }
[108/111] Compiling SwiftletData ADDataTableKeyType.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:676:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
674 | if result != SQLITE_OK {
675 | sqlite3_finalize(stmt)
676 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
677 | throw ADDataProviderError.failedToPrepareSQL(message: "\(error)")
678 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:719:36: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
717 | if flag != SQLITE_OK {
718 | sqlite3_finalize(stmt)
719 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
720 | let msg = "Parameters: \(params!), Index: \(ndx) Error: \(error)"
721 | throw ADDataProviderError.unableToBindParameter(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:745:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
743 | if res != SQLITE_OK && res != SQLITE_DONE {
744 | sqlite3_finalize(stmt)
745 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
746 | let msg = "\(error)"
747 | throw ADDataProviderError.failedToExecuteSQL(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:798:40: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
796 | // Get column name
797 | let name = sqlite3_column_name(stmt, index)
798 | columnNames.append(String(validatingUTF8:name!)!)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
799 | // Get column type
800 | columnTypes.append(getColumnType(index:index, stmt:stmt))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:844:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
842 | let buf = sqlite3_column_decltype(stmt, index)
843 | if buf != nil {
844 | var tmp = String(validatingUTF8:buf!)!.uppercased()
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
845 | // Remove bracketed section
846 | if let pos = tmp.range(of:"(") {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:916:27: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
914 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
915 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
916 | let txt = String(validatingUTF8:uptr)!
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
917 | let set = CharacterSet(charactersIn:"-:")
918 | if txt.rangeOfCharacter(from:set) != nil {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:938:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
936 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
937 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
938 | let txt = String(validatingUTF8:uptr)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
939 | return txt
940 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
148 | DispatchQueue.main.async {
149 | let title = "Unable to \(action)"
150 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
151 | }
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
194 | DispatchQueue.main.async {
195 | let title = "Unable to \(action)"
196 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:265:17: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
263 | if let error = error {
264 | // Unable to check status
265 | self?.cloudKitAccountStatus = .couldNotDetermine
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
266 | Log.error(subsystem: "ADiCloudProvider", category: "init", "Unable to determine the user's CloudKit account status: \(error)")
267 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:655:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
653 | // Attempt to save record to database.
654 | iCloudDatabase?.save(record) { record, error in
655 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
656 | // Pass info to caller.
657 | handler(record, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:699:17: warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
697 |
698 | // Return found record
699 | completionHandler(newRecord, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
700 | } else if let record = record {
701 | // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:708:118: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
706 |
707 | // Return found record
708 | completionHandler(newRecord, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
709 | }
710 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:768:38: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
766 | // Attempt to nuke record
767 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
768 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
769 | // Pass info to caller.
770 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:804:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
802 | // Attempt to nuke record
803 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
804 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
805 | // Pass info to caller.
806 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
835 | if let err = error {
836 | // Encountered error, pass forward
837 | completionHandler(nil, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
838 | } else if let record = record {
839 | do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:840:39: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
838 | } else if let record = record {
839 | do {
840 | if let data = try self?.buildADRecord(from: record) {
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
841 | let item = try ADSQLDecoder().decode(type, from: data)
842 | completionHandler(item, nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:850:112: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
848 | } else {
849 | // Not found
850 | completionHandler(nil, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
851 | }
852 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:903:44: warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
901 | switch recordResult {
902 | case .success(let record):
903 | let data = try self.buildADRecord(from: record)
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
904 | let item = try decoder.decode(type, from: data)
905 | rows.append(item)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:908:29: warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
906 | case .failure(let error):
907 | // Encountered error, pass forward
908 | completionHandler(nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
909 | }
910 | }
[109/111] Compiling SwiftletData ADSQLExecutionError.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:676:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
674 | if result != SQLITE_OK {
675 | sqlite3_finalize(stmt)
676 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
677 | throw ADDataProviderError.failedToPrepareSQL(message: "\(error)")
678 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:719:36: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
717 | if flag != SQLITE_OK {
718 | sqlite3_finalize(stmt)
719 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
720 | let msg = "Parameters: \(params!), Index: \(ndx) Error: \(error)"
721 | throw ADDataProviderError.unableToBindParameter(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:745:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
743 | if res != SQLITE_OK && res != SQLITE_DONE {
744 | sqlite3_finalize(stmt)
745 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
746 | let msg = "\(error)"
747 | throw ADDataProviderError.failedToExecuteSQL(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:798:40: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
796 | // Get column name
797 | let name = sqlite3_column_name(stmt, index)
798 | columnNames.append(String(validatingUTF8:name!)!)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
799 | // Get column type
800 | columnTypes.append(getColumnType(index:index, stmt:stmt))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:844:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
842 | let buf = sqlite3_column_decltype(stmt, index)
843 | if buf != nil {
844 | var tmp = String(validatingUTF8:buf!)!.uppercased()
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
845 | // Remove bracketed section
846 | if let pos = tmp.range(of:"(") {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:916:27: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
914 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
915 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
916 | let txt = String(validatingUTF8:uptr)!
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
917 | let set = CharacterSet(charactersIn:"-:")
918 | if txt.rangeOfCharacter(from:set) != nil {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:938:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
936 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
937 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
938 | let txt = String(validatingUTF8:uptr)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
939 | return txt
940 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
148 | DispatchQueue.main.async {
149 | let title = "Unable to \(action)"
150 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
151 | }
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
194 | DispatchQueue.main.async {
195 | let title = "Unable to \(action)"
196 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:265:17: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
263 | if let error = error {
264 | // Unable to check status
265 | self?.cloudKitAccountStatus = .couldNotDetermine
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
266 | Log.error(subsystem: "ADiCloudProvider", category: "init", "Unable to determine the user's CloudKit account status: \(error)")
267 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:655:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
653 | // Attempt to save record to database.
654 | iCloudDatabase?.save(record) { record, error in
655 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
656 | // Pass info to caller.
657 | handler(record, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:699:17: warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
697 |
698 | // Return found record
699 | completionHandler(newRecord, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
700 | } else if let record = record {
701 | // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:708:118: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
706 |
707 | // Return found record
708 | completionHandler(newRecord, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
709 | }
710 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:768:38: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
766 | // Attempt to nuke record
767 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
768 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
769 | // Pass info to caller.
770 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:804:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
802 | // Attempt to nuke record
803 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
804 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
805 | // Pass info to caller.
806 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
835 | if let err = error {
836 | // Encountered error, pass forward
837 | completionHandler(nil, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
838 | } else if let record = record {
839 | do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:840:39: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
838 | } else if let record = record {
839 | do {
840 | if let data = try self?.buildADRecord(from: record) {
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
841 | let item = try ADSQLDecoder().decode(type, from: data)
842 | completionHandler(item, nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:850:112: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
848 | } else {
849 | // Not found
850 | completionHandler(nil, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
851 | }
852 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:903:44: warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
901 | switch recordResult {
902 | case .success(let record):
903 | let data = try self.buildADRecord(from: record)
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
904 | let item = try decoder.decode(type, from: data)
905 | rows.append(item)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:908:29: warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
906 | case .failure(let error):
907 | // Encountered error, pass forward
908 | completionHandler(nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
909 | }
910 | }
[110/111] Compiling SwiftletData ADiCloudDatabaseType.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:676:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
674 | if result != SQLITE_OK {
675 | sqlite3_finalize(stmt)
676 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
677 | throw ADDataProviderError.failedToPrepareSQL(message: "\(error)")
678 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:719:36: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
717 | if flag != SQLITE_OK {
718 | sqlite3_finalize(stmt)
719 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
720 | let msg = "Parameters: \(params!), Index: \(ndx) Error: \(error)"
721 | throw ADDataProviderError.unableToBindParameter(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:745:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
743 | if res != SQLITE_OK && res != SQLITE_DONE {
744 | sqlite3_finalize(stmt)
745 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
746 | let msg = "\(error)"
747 | throw ADDataProviderError.failedToExecuteSQL(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:798:40: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
796 | // Get column name
797 | let name = sqlite3_column_name(stmt, index)
798 | columnNames.append(String(validatingUTF8:name!)!)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
799 | // Get column type
800 | columnTypes.append(getColumnType(index:index, stmt:stmt))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:844:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
842 | let buf = sqlite3_column_decltype(stmt, index)
843 | if buf != nil {
844 | var tmp = String(validatingUTF8:buf!)!.uppercased()
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
845 | // Remove bracketed section
846 | if let pos = tmp.range(of:"(") {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:916:27: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
914 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
915 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
916 | let txt = String(validatingUTF8:uptr)!
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
917 | let set = CharacterSet(charactersIn:"-:")
918 | if txt.rangeOfCharacter(from:set) != nil {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:938:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
936 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
937 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
938 | let txt = String(validatingUTF8:uptr)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
939 | return txt
940 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
148 | DispatchQueue.main.async {
149 | let title = "Unable to \(action)"
150 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
151 | }
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
194 | DispatchQueue.main.async {
195 | let title = "Unable to \(action)"
196 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:265:17: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
263 | if let error = error {
264 | // Unable to check status
265 | self?.cloudKitAccountStatus = .couldNotDetermine
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
266 | Log.error(subsystem: "ADiCloudProvider", category: "init", "Unable to determine the user's CloudKit account status: \(error)")
267 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:655:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
653 | // Attempt to save record to database.
654 | iCloudDatabase?.save(record) { record, error in
655 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
656 | // Pass info to caller.
657 | handler(record, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:699:17: warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
697 |
698 | // Return found record
699 | completionHandler(newRecord, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
700 | } else if let record = record {
701 | // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:708:118: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
706 |
707 | // Return found record
708 | completionHandler(newRecord, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
709 | }
710 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:768:38: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
766 | // Attempt to nuke record
767 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
768 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
769 | // Pass info to caller.
770 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:804:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
802 | // Attempt to nuke record
803 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
804 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
805 | // Pass info to caller.
806 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
835 | if let err = error {
836 | // Encountered error, pass forward
837 | completionHandler(nil, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
838 | } else if let record = record {
839 | do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:840:39: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
838 | } else if let record = record {
839 | do {
840 | if let data = try self?.buildADRecord(from: record) {
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
841 | let item = try ADSQLDecoder().decode(type, from: data)
842 | completionHandler(item, nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:850:112: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
848 | } else {
849 | // Not found
850 | completionHandler(nil, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
851 | }
852 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:903:44: warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
901 | switch recordResult {
902 | case .success(let record):
903 | let data = try self.buildADRecord(from: record)
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
904 | let item = try decoder.decode(type, from: data)
905 | rows.append(item)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:908:29: warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
906 | case .failure(let error):
907 | // Encountered error, pass forward
908 | completionHandler(nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
909 | }
910 | }
[111/111] Compiling SwiftletData ADDataCrossReference.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:676:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
674 | if result != SQLITE_OK {
675 | sqlite3_finalize(stmt)
676 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
677 | throw ADDataProviderError.failedToPrepareSQL(message: "\(error)")
678 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:719:36: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
717 | if flag != SQLITE_OK {
718 | sqlite3_finalize(stmt)
719 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
720 | let msg = "Parameters: \(params!), Index: \(ndx) Error: \(error)"
721 | throw ADDataProviderError.unableToBindParameter(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:745:28: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
743 | if res != SQLITE_OK && res != SQLITE_DONE {
744 | sqlite3_finalize(stmt)
745 | if let error = String(validatingUTF8:sqlite3_errmsg(self.db)) {
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
746 | let msg = "\(error)"
747 | throw ADDataProviderError.failedToExecuteSQL(message: msg)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:798:40: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
796 | // Get column name
797 | let name = sqlite3_column_name(stmt, index)
798 | columnNames.append(String(validatingUTF8:name!)!)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
799 | // Get column type
800 | columnTypes.append(getColumnType(index:index, stmt:stmt))
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:844:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
842 | let buf = sqlite3_column_decltype(stmt, index)
843 | if buf != nil {
844 | var tmp = String(validatingUTF8:buf!)!.uppercased()
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
845 | // Remove bracketed section
846 | if let pos = tmp.range(of:"(") {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:916:27: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
914 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
915 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
916 | let txt = String(validatingUTF8:uptr)!
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
917 | let set = CharacterSet(charactersIn:"-:")
918 | if txt.rangeOfCharacter(from:set) != nil {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADSQLiteProvider.swift:938:23: warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
936 | if let ptr = UnsafeRawPointer.init(sqlite3_column_text(stmt, index)) {
937 | let uptr = ptr.bindMemory(to:CChar.self, capacity:0)
938 | let txt = String(validatingUTF8:uptr)
| |- warning: 'init(validatingUTF8:)' is deprecated: replaced by 'String.init(validatingCString:)'
| `- note: use 'String.init(validatingCString:)' instead
939 | return txt
940 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
148 | DispatchQueue.main.async {
149 | let title = "Unable to \(action)"
150 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
151 | }
152 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
194 | DispatchQueue.main.async {
195 | let title = "Unable to \(action)"
196 | showMessage(title, description)
| |- warning: capture of 'showMessage' with non-sendable type '(String, String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | }
198 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:265:17: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
263 | if let error = error {
264 | // Unable to check status
265 | self?.cloudKitAccountStatus = .couldNotDetermine
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
266 | Log.error(subsystem: "ADiCloudProvider", category: "init", "Unable to determine the user's CloudKit account status: \(error)")
267 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:655:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
653 | // Attempt to save record to database.
654 | iCloudDatabase?.save(record) { record, error in
655 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordCompletionHandler?' (aka 'Optional<(Optional<CKRecord>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
656 | // Pass info to caller.
657 | handler(record, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:699:17: warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
697 |
698 | // Return found record
699 | completionHandler(newRecord, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(CKRecord, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
700 | } else if let record = record {
701 | // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:708:118: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
706 |
707 | // Return found record
708 | completionHandler(newRecord, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
709 | }
710 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:768:38: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
766 | // Attempt to nuke record
767 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
768 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
769 | // Pass info to caller.
770 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:804:30: warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
802 | // Attempt to nuke record
803 | iCloudDatabase?.delete(withRecordID: recordKey) { recordID, error in
804 | if let handler = completionHandler {
| |- warning: capture of 'completionHandler' with non-sendable type 'ADiCloudProvider.CloudKitRecordIDCompletionHandler?' (aka 'Optional<(Optional<CKRecord.ID>, Optional<any Error>) -> ()>') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
805 | // Pass info to caller.
806 | handler(recordID, error)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
835 | if let err = error {
836 | // Encountered error, pass forward
837 | completionHandler(nil, err)
| |- warning: capture of 'completionHandler' with non-sendable type '(T?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
838 | } else if let record = record {
839 | do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:840:39: warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
838 | } else if let record = record {
839 | do {
840 | if let data = try self?.buildADRecord(from: record) {
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider?' in a '@Sendable' closure
841 | let item = try ADSQLDecoder().decode(type, from: data)
842 | completionHandler(item, nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:850:112: warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
848 | } else {
849 | // Not found
850 | completionHandler(nil, ADSQLExecutionError.noRowsReturned(message: "Record not found for key \(key)."))
| `- warning: capture of 'key' with non-sendable type 'Any' in a '@Sendable' closure
851 | }
852 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:903:44: warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
53 | - Remark: The `ADiCloudProvider` will automatically create any required iCloud Table Schemas from a class instance if one does not already exist. In addition, `ADiCloudProvider` contains routines to preregister or update the schema classes conforming to the `ADDataTable` protocol which will build or modify the database schemas as required.
54 | */
55 | open class ADiCloudProvider {
| `- note: class 'ADiCloudProvider' does not conform to the 'Sendable' protocol
56 |
57 | // MARK: - Type Aliases
:
901 | switch recordResult {
902 | case .success(let record):
903 | let data = try self.buildADRecord(from: record)
| `- warning: capture of 'self' with non-sendable type 'ADiCloudProvider' in a '@Sendable' closure
904 | let item = try decoder.decode(type, from: data)
905 | rows.append(item)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:908:29: warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
906 | case .failure(let error):
907 | // Encountered error, pass forward
908 | completionHandler(nil, error)
| |- warning: capture of 'completionHandler' with non-sendable type '([T]?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
909 | }
910 | }
Build of target: 'SwiftletData' complete! (4.09s)
2154
14 /Users/admin/builder/spi-builder-workspace/.docs/appracatappra/swiftletdata/2.0.2
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/appracatappra/swiftletdata/2.0.2
File count: 2154
Doc size: 14.0MB
Preparing doc bundle ...
Uploading prod-appracatappra-swiftletdata-2.0.2-ae42546e.zip to s3://spi-docs-inbox/prod-appracatappra-swiftletdata-2.0.2-ae42546e.zip
Copying... [11%]
Copying... [21%]
Copying... [32%]
Copying... [40%]
Copying... [51%]
Copying... [62%]
Copying... [70%]
Copying... [81%]
Copying... [91%]
Copying... [100%]
Done.