The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftletData, reference main (926565), with Swift 6.2 for macOS (SPM) on 24 Jun 2025 01:22:38 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:841:62: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 839 |                 do {
 840 |                     if let data = try self?.buildADRecord(from: record) {
 841 |                         let item = try ADSQLDecoder().decode(type, from: data)
     |                                                              `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 842 |                         completionHandler(item, nil)
 843 |                     }
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 851 |             }
 852 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of non-sendable type 'T.Type' in an isolated closure
 835 |             if let err = error {
 836 |                 // Encountered error, pass forward
 837 |                 completionHandler(nil, err)
     |                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 838 |             } else if let record = record {
 839 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:822:91: warning: capture of non-sendable type 'T.Type' in an isolated closure
 820 |          - completionHandler: The completion handler that gets called during the object load.
 821 |     */
 822 |     public func loadRow<T: ADDataTable>(ofType type: T.Type, forPrimaryKeyValue key: Any, completionHandler:@escaping (T?, Error?) -> Void) throws {
     |                                                                                           `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 823 |
 824 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:904:59: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 902 |                         case .success(let record):
 903 |                             let data = try self.buildADRecord(from: record)
 904 |                             let item = try decoder.decode(type, from: data)
     |                                                           `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 905 |                             rows.append(item)
 906 |                         case .failure(let error):
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 909 |                         }
 910 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:896:36: warning: capture of non-sendable type 'T.Type' in an isolated closure
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:867:49: warning: capture of non-sendable type 'T.Type' in an isolated closure
 865 |      - Remark: Use `%@` for value objects such as strings, numbers, and dates. Use `%K` for the name of a field. This substitution variable indicates that the substituted string should be used to look up a field name. See: https://developer.apple.com/documentation/cloudkit/ckquery
 866 |      */
 867 |     public func loadRows<T: ADDataTable>(ofType type: T.Type, matchingQuery query: String, sortBy:String = "", sortAssending:Bool = true, withParameters parameters: [Any]? = nil, completionHandler:@escaping ([T]?, Error?) -> Void) throws {
     |                                                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 868 |
 869 |         // Ensure the database is open
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[111/117] 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                    `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                        `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                           `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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:696:54: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 697 |
 698 |                 // Return found record
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 709 |             }
 710 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:696:54: warning: capture of non-sendable type 'T.Type' in an isolated closure
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 697 |
 698 |                 // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:681:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 679 |      */
 680 |     private func fetchOrCreateCKRecord<T: ADDataTable>(_ value: T, forPrimaryKeyValue key: Any, completionHandler:@escaping (CKRecord, Error?) -> Void) throws {
 681 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 682 |
 683 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                                      `- 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:773:126: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:773:126: warning: capture of non-sendable type 'T.Type' in an isolated closure
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:740:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 738 |     */
 739 |     public func delete<T: ADDataTable>(_ value: T, completionHandler:CloudKitRecordIDCompletionHandler? = nil) throws {
 740 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 741 |
 742 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:841:62: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 839 |                 do {
 840 |                     if let data = try self?.buildADRecord(from: record) {
 841 |                         let item = try ADSQLDecoder().decode(type, from: data)
     |                                                              `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 842 |                         completionHandler(item, nil)
 843 |                     }
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 851 |             }
 852 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of non-sendable type 'T.Type' in an isolated closure
 835 |             if let err = error {
 836 |                 // Encountered error, pass forward
 837 |                 completionHandler(nil, err)
     |                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 838 |             } else if let record = record {
 839 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:822:91: warning: capture of non-sendable type 'T.Type' in an isolated closure
 820 |          - completionHandler: The completion handler that gets called during the object load.
 821 |     */
 822 |     public func loadRow<T: ADDataTable>(ofType type: T.Type, forPrimaryKeyValue key: Any, completionHandler:@escaping (T?, Error?) -> Void) throws {
     |                                                                                           `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 823 |
 824 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:904:59: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 902 |                         case .success(let record):
 903 |                             let data = try self.buildADRecord(from: record)
 904 |                             let item = try decoder.decode(type, from: data)
     |                                                           `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 905 |                             rows.append(item)
 906 |                         case .failure(let error):
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 909 |                         }
 910 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:896:36: warning: capture of non-sendable type 'T.Type' in an isolated closure
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:867:49: warning: capture of non-sendable type 'T.Type' in an isolated closure
 865 |      - Remark: Use `%@` for value objects such as strings, numbers, and dates. Use `%K` for the name of a field. This substitution variable indicates that the substituted string should be used to look up a field name. See: https://developer.apple.com/documentation/cloudkit/ckquery
 866 |      */
 867 |     public func loadRows<T: ADDataTable>(ofType type: T.Type, matchingQuery query: String, sortBy:String = "", sortAssending:Bool = true, withParameters parameters: [Any]? = nil, completionHandler:@escaping ([T]?, Error?) -> Void) throws {
     |                                                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 868 |
 869 |         // Ensure the database is open
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[112/117] 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                    `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                        `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                           `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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:696:54: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 697 |
 698 |                 // Return found record
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 709 |             }
 710 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:696:54: warning: capture of non-sendable type 'T.Type' in an isolated closure
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 697 |
 698 |                 // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:681:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 679 |      */
 680 |     private func fetchOrCreateCKRecord<T: ADDataTable>(_ value: T, forPrimaryKeyValue key: Any, completionHandler:@escaping (CKRecord, Error?) -> Void) throws {
 681 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 682 |
 683 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                                      `- 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:773:126: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:773:126: warning: capture of non-sendable type 'T.Type' in an isolated closure
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:740:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 738 |     */
 739 |     public func delete<T: ADDataTable>(_ value: T, completionHandler:CloudKitRecordIDCompletionHandler? = nil) throws {
 740 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 741 |
 742 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:841:62: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 839 |                 do {
 840 |                     if let data = try self?.buildADRecord(from: record) {
 841 |                         let item = try ADSQLDecoder().decode(type, from: data)
     |                                                              `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 842 |                         completionHandler(item, nil)
 843 |                     }
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 851 |             }
 852 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of non-sendable type 'T.Type' in an isolated closure
 835 |             if let err = error {
 836 |                 // Encountered error, pass forward
 837 |                 completionHandler(nil, err)
     |                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 838 |             } else if let record = record {
 839 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:822:91: warning: capture of non-sendable type 'T.Type' in an isolated closure
 820 |          - completionHandler: The completion handler that gets called during the object load.
 821 |     */
 822 |     public func loadRow<T: ADDataTable>(ofType type: T.Type, forPrimaryKeyValue key: Any, completionHandler:@escaping (T?, Error?) -> Void) throws {
     |                                                                                           `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 823 |
 824 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:904:59: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 902 |                         case .success(let record):
 903 |                             let data = try self.buildADRecord(from: record)
 904 |                             let item = try decoder.decode(type, from: data)
     |                                                           `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 905 |                             rows.append(item)
 906 |                         case .failure(let error):
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 909 |                         }
 910 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:896:36: warning: capture of non-sendable type 'T.Type' in an isolated closure
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:867:49: warning: capture of non-sendable type 'T.Type' in an isolated closure
 865 |      - Remark: Use `%@` for value objects such as strings, numbers, and dates. Use `%K` for the name of a field. This substitution variable indicates that the substituted string should be used to look up a field name. See: https://developer.apple.com/documentation/cloudkit/ckquery
 866 |      */
 867 |     public func loadRows<T: ADDataTable>(ofType type: T.Type, matchingQuery query: String, sortBy:String = "", sortAssending:Bool = true, withParameters parameters: [Any]? = nil, completionHandler:@escaping ([T]?, Error?) -> Void) throws {
     |                                                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 868 |
 869 |         // Ensure the database is open
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[113/117] 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                    `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                        `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                           `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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:696:54: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 697 |
 698 |                 // Return found record
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 709 |             }
 710 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:696:54: warning: capture of non-sendable type 'T.Type' in an isolated closure
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 697 |
 698 |                 // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:681:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 679 |      */
 680 |     private func fetchOrCreateCKRecord<T: ADDataTable>(_ value: T, forPrimaryKeyValue key: Any, completionHandler:@escaping (CKRecord, Error?) -> Void) throws {
 681 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 682 |
 683 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                                      `- 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:773:126: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:773:126: warning: capture of non-sendable type 'T.Type' in an isolated closure
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:740:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 738 |     */
 739 |     public func delete<T: ADDataTable>(_ value: T, completionHandler:CloudKitRecordIDCompletionHandler? = nil) throws {
 740 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 741 |
 742 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:841:62: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 839 |                 do {
 840 |                     if let data = try self?.buildADRecord(from: record) {
 841 |                         let item = try ADSQLDecoder().decode(type, from: data)
     |                                                              `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 842 |                         completionHandler(item, nil)
 843 |                     }
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 851 |             }
 852 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of non-sendable type 'T.Type' in an isolated closure
 835 |             if let err = error {
 836 |                 // Encountered error, pass forward
 837 |                 completionHandler(nil, err)
     |                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 838 |             } else if let record = record {
 839 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:822:91: warning: capture of non-sendable type 'T.Type' in an isolated closure
 820 |          - completionHandler: The completion handler that gets called during the object load.
 821 |     */
 822 |     public func loadRow<T: ADDataTable>(ofType type: T.Type, forPrimaryKeyValue key: Any, completionHandler:@escaping (T?, Error?) -> Void) throws {
     |                                                                                           `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 823 |
 824 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:904:59: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 902 |                         case .success(let record):
 903 |                             let data = try self.buildADRecord(from: record)
 904 |                             let item = try decoder.decode(type, from: data)
     |                                                           `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 905 |                             rows.append(item)
 906 |                         case .failure(let error):
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 909 |                         }
 910 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:896:36: warning: capture of non-sendable type 'T.Type' in an isolated closure
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:867:49: warning: capture of non-sendable type 'T.Type' in an isolated closure
 865 |      - Remark: Use `%@` for value objects such as strings, numbers, and dates. Use `%K` for the name of a field. This substitution variable indicates that the substituted string should be used to look up a field name. See: https://developer.apple.com/documentation/cloudkit/ckquery
 866 |      */
 867 |     public func loadRows<T: ADDataTable>(ofType type: T.Type, matchingQuery query: String, sortBy:String = "", sortAssending:Bool = true, withParameters parameters: [Any]? = nil, completionHandler:@escaping ([T]?, Error?) -> Void) throws {
     |                                                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 868 |
 869 |         // Ensure the database is open
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[114/117] 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                    `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                        `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                           `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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:696:54: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 697 |
 698 |                 // Return found record
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 709 |             }
 710 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:696:54: warning: capture of non-sendable type 'T.Type' in an isolated closure
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 697 |
 698 |                 // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:681:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 679 |      */
 680 |     private func fetchOrCreateCKRecord<T: ADDataTable>(_ value: T, forPrimaryKeyValue key: Any, completionHandler:@escaping (CKRecord, Error?) -> Void) throws {
 681 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 682 |
 683 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                                      `- 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:773:126: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:773:126: warning: capture of non-sendable type 'T.Type' in an isolated closure
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:740:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 738 |     */
 739 |     public func delete<T: ADDataTable>(_ value: T, completionHandler:CloudKitRecordIDCompletionHandler? = nil) throws {
 740 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 741 |
 742 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:841:62: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 839 |                 do {
 840 |                     if let data = try self?.buildADRecord(from: record) {
 841 |                         let item = try ADSQLDecoder().decode(type, from: data)
     |                                                              `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 842 |                         completionHandler(item, nil)
 843 |                     }
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 851 |             }
 852 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of non-sendable type 'T.Type' in an isolated closure
 835 |             if let err = error {
 836 |                 // Encountered error, pass forward
 837 |                 completionHandler(nil, err)
     |                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 838 |             } else if let record = record {
 839 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:822:91: warning: capture of non-sendable type 'T.Type' in an isolated closure
 820 |          - completionHandler: The completion handler that gets called during the object load.
 821 |     */
 822 |     public func loadRow<T: ADDataTable>(ofType type: T.Type, forPrimaryKeyValue key: Any, completionHandler:@escaping (T?, Error?) -> Void) throws {
     |                                                                                           `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 823 |
 824 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:904:59: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 902 |                         case .success(let record):
 903 |                             let data = try self.buildADRecord(from: record)
 904 |                             let item = try decoder.decode(type, from: data)
     |                                                           `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 905 |                             rows.append(item)
 906 |                         case .failure(let error):
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 909 |                         }
 910 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:896:36: warning: capture of non-sendable type 'T.Type' in an isolated closure
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:867:49: warning: capture of non-sendable type 'T.Type' in an isolated closure
 865 |      - Remark: Use `%@` for value objects such as strings, numbers, and dates. Use `%K` for the name of a field. This substitution variable indicates that the substituted string should be used to look up a field name. See: https://developer.apple.com/documentation/cloudkit/ckquery
 866 |      */
 867 |     public func loadRows<T: ADDataTable>(ofType type: T.Type, matchingQuery query: String, sortBy:String = "", sortAssending:Bool = true, withParameters parameters: [Any]? = nil, completionHandler:@escaping ([T]?, Error?) -> Void) throws {
     |                                                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 868 |
 869 |         // Ensure the database is open
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[115/117] 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                    `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                        `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                           `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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:696:54: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 697 |
 698 |                 // Return found record
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 709 |             }
 710 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:696:54: warning: capture of non-sendable type 'T.Type' in an isolated closure
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 697 |
 698 |                 // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:681:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 679 |      */
 680 |     private func fetchOrCreateCKRecord<T: ADDataTable>(_ value: T, forPrimaryKeyValue key: Any, completionHandler:@escaping (CKRecord, Error?) -> Void) throws {
 681 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 682 |
 683 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                                      `- 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:773:126: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:773:126: warning: capture of non-sendable type 'T.Type' in an isolated closure
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:740:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 738 |     */
 739 |     public func delete<T: ADDataTable>(_ value: T, completionHandler:CloudKitRecordIDCompletionHandler? = nil) throws {
 740 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 741 |
 742 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:841:62: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 839 |                 do {
 840 |                     if let data = try self?.buildADRecord(from: record) {
 841 |                         let item = try ADSQLDecoder().decode(type, from: data)
     |                                                              `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 842 |                         completionHandler(item, nil)
 843 |                     }
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 851 |             }
 852 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of non-sendable type 'T.Type' in an isolated closure
 835 |             if let err = error {
 836 |                 // Encountered error, pass forward
 837 |                 completionHandler(nil, err)
     |                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 838 |             } else if let record = record {
 839 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:822:91: warning: capture of non-sendable type 'T.Type' in an isolated closure
 820 |          - completionHandler: The completion handler that gets called during the object load.
 821 |     */
 822 |     public func loadRow<T: ADDataTable>(ofType type: T.Type, forPrimaryKeyValue key: Any, completionHandler:@escaping (T?, Error?) -> Void) throws {
     |                                                                                           `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 823 |
 824 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:904:59: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 902 |                         case .success(let record):
 903 |                             let data = try self.buildADRecord(from: record)
 904 |                             let item = try decoder.decode(type, from: data)
     |                                                           `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 905 |                             rows.append(item)
 906 |                         case .failure(let error):
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 909 |                         }
 910 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:896:36: warning: capture of non-sendable type 'T.Type' in an isolated closure
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:867:49: warning: capture of non-sendable type 'T.Type' in an isolated closure
 865 |      - Remark: Use `%@` for value objects such as strings, numbers, and dates. Use `%K` for the name of a field. This substitution variable indicates that the substituted string should be used to look up a field name. See: https://developer.apple.com/documentation/cloudkit/ckquery
 866 |      */
 867 |     public func loadRows<T: ADDataTable>(ofType type: T.Type, matchingQuery query: String, sortBy:String = "", sortAssending:Bool = true, withParameters parameters: [Any]? = nil, completionHandler:@escaping ([T]?, Error?) -> Void) throws {
     |                                                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 868 |
 869 |         // Ensure the database is open
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[116/117] 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                    `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                        `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                           `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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:696:54: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 697 |
 698 |                 // Return found record
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 709 |             }
 710 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:696:54: warning: capture of non-sendable type 'T.Type' in an isolated closure
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 697 |
 698 |                 // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:681:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 679 |      */
 680 |     private func fetchOrCreateCKRecord<T: ADDataTable>(_ value: T, forPrimaryKeyValue key: Any, completionHandler:@escaping (CKRecord, Error?) -> Void) throws {
 681 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 682 |
 683 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                                      `- 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:773:126: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:773:126: warning: capture of non-sendable type 'T.Type' in an isolated closure
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:740:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 738 |     */
 739 |     public func delete<T: ADDataTable>(_ value: T, completionHandler:CloudKitRecordIDCompletionHandler? = nil) throws {
 740 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 741 |
 742 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:841:62: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 839 |                 do {
 840 |                     if let data = try self?.buildADRecord(from: record) {
 841 |                         let item = try ADSQLDecoder().decode(type, from: data)
     |                                                              `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 842 |                         completionHandler(item, nil)
 843 |                     }
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 851 |             }
 852 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of non-sendable type 'T.Type' in an isolated closure
 835 |             if let err = error {
 836 |                 // Encountered error, pass forward
 837 |                 completionHandler(nil, err)
     |                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 838 |             } else if let record = record {
 839 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:822:91: warning: capture of non-sendable type 'T.Type' in an isolated closure
 820 |          - completionHandler: The completion handler that gets called during the object load.
 821 |     */
 822 |     public func loadRow<T: ADDataTable>(ofType type: T.Type, forPrimaryKeyValue key: Any, completionHandler:@escaping (T?, Error?) -> Void) throws {
     |                                                                                           `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 823 |
 824 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:904:59: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 902 |                         case .success(let record):
 903 |                             let data = try self.buildADRecord(from: record)
 904 |                             let item = try decoder.decode(type, from: data)
     |                                                           `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 905 |                             rows.append(item)
 906 |                         case .failure(let error):
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 909 |                         }
 910 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:896:36: warning: capture of non-sendable type 'T.Type' in an isolated closure
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:867:49: warning: capture of non-sendable type 'T.Type' in an isolated closure
 865 |      - Remark: Use `%@` for value objects such as strings, numbers, and dates. Use `%K` for the name of a field. This substitution variable indicates that the substituted string should be used to look up a field name. See: https://developer.apple.com/documentation/cloudkit/ckquery
 866 |      */
 867 |     public func loadRows<T: ADDataTable>(ofType type: T.Type, matchingQuery query: String, sortBy:String = "", sortAssending:Bool = true, withParameters parameters: [Any]? = nil, completionHandler:@escaping ([T]?, Error?) -> Void) throws {
     |                                                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 868 |
 869 |         // Ensure the database is open
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[117/117] 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                    `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                            `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                                        `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                           `- 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:)' [#DeprecatedDeclaration]
 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:)' [#DeprecatedDeclaration]
     |                       `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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:696:54: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 697 |
 698 |                 // Return found record
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 709 |             }
 710 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:696:54: warning: capture of non-sendable type 'T.Type' in an isolated closure
 694 |             if let err = error {
 695 |                 // Build new CloudKit record
 696 |                 let newRecord = CKRecord(recordType: baseType.tableName, recordID: recordKey)
     |                                                      `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 697 |
 698 |                 // Return found record
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:681:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 679 |      */
 680 |     private func fetchOrCreateCKRecord<T: ADDataTable>(_ value: T, forPrimaryKeyValue key: Any, completionHandler:@escaping (CKRecord, Error?) -> Void) throws {
 681 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 682 |
 683 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                                      `- 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:773:126: warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of 'baseType' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:773:126: warning: capture of non-sendable type 'T.Type' in an isolated closure
 771 |                     } else if let err = error {
 772 |                         // Report error
 773 |                         Log.error(subsystem: "ADiCloudProvider", category: "delete", "Unable to delete `\(cloudkitKey)` to \(baseType.tableName): \(err)")
     |                                                                                                                              `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 774 |                     }
 775 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:740:13: warning: capture of non-sendable type 'T.Type' in an isolated closure
 738 |     */
 739 |     public func delete<T: ADDataTable>(_ value: T, completionHandler:CloudKitRecordIDCompletionHandler? = nil) throws {
 740 |         let baseType = type(of: value)
     |             `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 741 |
 742 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                              `- 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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                 `- 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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:841:62: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 839 |                 do {
 840 |                     if let data = try self?.buildADRecord(from: record) {
 841 |                         let item = try ADSQLDecoder().decode(type, from: data)
     |                                                              `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 842 |                         completionHandler(item, nil)
 843 |                     }
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
 851 |             }
 852 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:837:17: warning: capture of non-sendable type 'T.Type' in an isolated closure
 835 |             if let err = error {
 836 |                 // Encountered error, pass forward
 837 |                 completionHandler(nil, err)
     |                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 838 |             } else if let record = record {
 839 |                 do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:822:91: warning: capture of non-sendable type 'T.Type' in an isolated closure
 820 |          - completionHandler: The completion handler that gets called during the object load.
 821 |     */
 822 |     public func loadRow<T: ADDataTable>(ofType type: T.Type, forPrimaryKeyValue key: Any, completionHandler:@escaping (T?, Error?) -> Void) throws {
     |                                                                                           `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 823 |
 824 |         // Ensure the database is open
/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 [#SendableClosureCaptures]
  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 [#SendableClosureCaptures]
 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:904:59: warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 902 |                         case .success(let record):
 903 |                             let data = try self.buildADRecord(from: record)
 904 |                             let item = try decoder.decode(type, from: data)
     |                                                           `- warning: capture of 'type' with non-sendable type 'T.Type' in a '@Sendable' closure [#SendableClosureCaptures]
 905 |                             rows.append(item)
 906 |                         case .failure(let error):
/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 [#SendableClosureCaptures]
 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 [#SendableClosureCaptures]
     |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 909 |                         }
 910 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:896:36: warning: capture of non-sendable type 'T.Type' in an isolated closure
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:867:49: warning: capture of non-sendable type 'T.Type' in an isolated closure
 865 |      - Remark: Use `%@` for value objects such as strings, numbers, and dates. Use `%K` for the name of a field. This substitution variable indicates that the substituted string should be used to look up a field name. See: https://developer.apple.com/documentation/cloudkit/ckquery
 866 |      */
 867 |     public func loadRows<T: ADDataTable>(ofType type: T.Type, matchingQuery query: String, sortBy:String = "", sortAssending:Bool = true, withParameters parameters: [Any]? = nil, completionHandler:@escaping ([T]?, Error?) -> Void) throws {
     |                                                 `- warning: capture of non-sendable type 'T.Type' in an isolated closure
 868 |
 869 |         // Ensure the database is open
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
Build complete! (15.83s)
Fetching https://github.com/Appracatappra/SwiftletUtilities.git
Fetching https://github.com/Appracatappra/LogManager
[1/84] Fetching logmanager
[80/596] Fetching logmanager, swiftletutilities
Fetched https://github.com/Appracatappra/SwiftletUtilities.git from cache (0.96s)
Fetched https://github.com/Appracatappra/LogManager from cache (0.96s)
Computing version for https://github.com/Appracatappra/LogManager
Computed https://github.com/Appracatappra/LogManager at 2.0.4 (1.38s)
Computing version for https://github.com/Appracatappra/SwiftletUtilities.git
Computed https://github.com/Appracatappra/SwiftletUtilities.git at 2.0.6 (0.39s)
Creating working copy for https://github.com/Appracatappra/SwiftletUtilities.git
Working copy of https://github.com/Appracatappra/SwiftletUtilities.git resolved at 2.0.6
Creating working copy for https://github.com/Appracatappra/LogManager
Working copy of https://github.com/Appracatappra/LogManager resolved at 2.0.4
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"
}
Done.