The Swift Package Index logo.Swift Package Index

Build Information

Failed to build SwiftletData, reference 2.0.2 (926565), with Swift 6.3 for macOS (SPM) on 16 Apr 2026 05:28:35 UTC.

Build Command

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

Build Log

 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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 697 |
 698 |                 // Return found record
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 774 |                     }
 775 |                 }
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 838 |             } else if let record = record {
 839 |                 do {
/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 [#SendableMetatypes]
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 148 |             DispatchQueue.main.async {
 149 |                 let title = "Unable to \(action)"
 150 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a nonisolated closure. nonisolated uses in closure may race against later nonisolated uses
 151 |             }
 152 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 194 |             DispatchQueue.main.async {
 195 |                 let title = "Unable to \(action)"
 196 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a caller isolation inheriting-isolated closure. caller isolation inheriting-isolated uses in closure may race against later nonisolated uses
 197 |             }
 198 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 697 |
 698 |                 // Return found record
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 774 |                     }
 775 |                 }
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 838 |             } else if let record = record {
 839 |                 do {
/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 [#SendableMetatypes]
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 148 |             DispatchQueue.main.async {
 149 |                 let title = "Unable to \(action)"
 150 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a nonisolated closure. nonisolated uses in closure may race against later nonisolated uses
 151 |             }
 152 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 194 |             DispatchQueue.main.async {
 195 |                 let title = "Unable to \(action)"
 196 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a caller isolation inheriting-isolated closure. caller isolation inheriting-isolated uses in closure may race against later nonisolated uses
 197 |             }
 198 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 697 |
 698 |                 // Return found record
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 774 |                     }
 775 |                 }
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 838 |             } else if let record = record {
 839 |                 do {
/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 [#SendableMetatypes]
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 148 |             DispatchQueue.main.async {
 149 |                 let title = "Unable to \(action)"
 150 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a nonisolated closure. nonisolated uses in closure may race against later nonisolated uses
 151 |             }
 152 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 194 |             DispatchQueue.main.async {
 195 |                 let title = "Unable to \(action)"
 196 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a caller isolation inheriting-isolated closure. caller isolation inheriting-isolated uses in closure may race against later nonisolated uses
 197 |             }
 198 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 697 |
 698 |                 // Return found record
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 774 |                     }
 775 |                 }
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 838 |             } else if let record = record {
 839 |                 do {
/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 [#SendableMetatypes]
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 148 |             DispatchQueue.main.async {
 149 |                 let title = "Unable to \(action)"
 150 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a nonisolated closure. nonisolated uses in closure may race against later nonisolated uses
 151 |             }
 152 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 194 |             DispatchQueue.main.async {
 195 |                 let title = "Unable to \(action)"
 196 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a caller isolation inheriting-isolated closure. caller isolation inheriting-isolated uses in closure may race against later nonisolated uses
 197 |             }
 198 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 697 |
 698 |                 // Return found record
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 774 |                     }
 775 |                 }
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 838 |             } else if let record = record {
 839 |                 do {
/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 [#SendableMetatypes]
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 148 |             DispatchQueue.main.async {
 149 |                 let title = "Unable to \(action)"
 150 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a nonisolated closure. nonisolated uses in closure may race against later nonisolated uses
 151 |             }
 152 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 194 |             DispatchQueue.main.async {
 195 |                 let title = "Unable to \(action)"
 196 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a caller isolation inheriting-isolated closure. caller isolation inheriting-isolated uses in closure may race against later nonisolated uses
 197 |             }
 198 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 697 |
 698 |                 // Return found record
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 774 |                     }
 775 |                 }
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 838 |             } else if let record = record {
 839 |                 do {
/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 [#SendableMetatypes]
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 148 |             DispatchQueue.main.async {
 149 |                 let title = "Unable to \(action)"
 150 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a nonisolated closure. nonisolated uses in closure may race against later nonisolated uses
 151 |             }
 152 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 194 |             DispatchQueue.main.async {
 195 |                 let title = "Unable to \(action)"
 196 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a caller isolation inheriting-isolated closure. caller isolation inheriting-isolated uses in closure may race against later nonisolated uses
 197 |             }
 198 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 697 |
 698 |                 // Return found record
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 774 |                     }
 775 |                 }
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 838 |             } else if let record = record {
 839 |                 do {
/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 [#SendableMetatypes]
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 148 |             DispatchQueue.main.async {
 149 |                 let title = "Unable to \(action)"
 150 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a nonisolated closure. nonisolated uses in closure may race against later nonisolated uses
 151 |             }
 152 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 194 |             DispatchQueue.main.async {
 195 |                 let title = "Unable to \(action)"
 196 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a caller isolation inheriting-isolated closure. caller isolation inheriting-isolated uses in closure may race against later nonisolated uses
 197 |             }
 198 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
[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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 697 |
 698 |                 // Return found record
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 774 |                     }
 775 |                 }
/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 [#SendableMetatypes]
 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 [#SendableMetatypes]
 838 |             } else if let record = record {
 839 |                 do {
/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 [#SendableMetatypes]
 894 |             case .success(let data):
 895 |                 do {
 896 |                     var rows:[T] = []
     |                                    `- warning: capture of non-Sendable type 'T.Type' in an isolated closure [#SendableMetatypes]
 897 |
 898 |                     // Process all rows
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:150:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 148 |             DispatchQueue.main.async {
 149 |                 let title = "Unable to \(action)"
 150 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a nonisolated closure. nonisolated uses in closure may race against later nonisolated uses
 151 |             }
 152 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftletData/SharedCode/ActionDataProviders/ADiCloudProvider.swift:196:17: error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
 194 |             DispatchQueue.main.async {
 195 |                 let title = "Unable to \(action)"
 196 |                 showMessage(title, description)
     |                 |- error: sending 'showMessage' risks causing data races [#SendingRisksDataRace]
     |                 `- note: task-isolated 'showMessage' is captured by a caller isolation inheriting-isolated closure. caller isolation inheriting-isolated uses in closure may race against later nonisolated uses
 197 |             }
 198 |         }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[#SendingRisksDataRace]: <https://docs.swift.org/compiler/documentation/diagnostics/sending-risks-data-race>
BUILD FAILURE 6.3 macosSpm