The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftletData, reference main (926565), with Swift 6.1 for macOS (SPM) on 13 May 2025 18:26:13 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

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