The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build WikipediaKit, reference 3.0.4 (09538e), with Swift 6.1 for Android on 28 May 2025 07:10:40 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1

Build Log

    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
167 |             }
168 |         }
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:166:28: warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
164 |
165 |             DispatchQueue.main.async {
166 |                 completion(results, language, error)
    |                            |- warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: task-isolated 'results' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
167 |             }
168 |         }
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:166:37: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
164 |
165 |             DispatchQueue.main.async {
166 |                 completion(results, language, error)
    |                                     |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
167 |             }
168 |         }
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:152:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
150 |             guard let pages = query["pages"] as? [JSONDictionary] else {
151 |                 DispatchQueue.main.async {
152 |                     completion (nil, language, .notFound)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
153 |                 }
154 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:152:38: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
150 |             guard let pages = query["pages"] as? [JSONDictionary] else {
151 |                 DispatchQueue.main.async {
152 |                     completion (nil, language, .notFound)
    |                                      |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
153 |                 }
154 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:137:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
135 |                     // there is no “query” key,
136 |                     // but unfortunately no error message either
137 |                     completion (nil, language, .notFound)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
138 |                 }
139 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:137:38: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
135 |                     // there is no “query” key,
136 |                     // but unfortunately no error message either
137 |                     completion (nil, language, .notFound)
    |                                      |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
138 |                 }
139 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:127:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
125 |             guard let jsonDictionary = jsonDictionary else {
126 |                 DispatchQueue.main.async {
127 |                     completion (nil, language, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
128 |                 }
129 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:127:38: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
125 |             guard let jsonDictionary = jsonDictionary else {
126 |                 DispatchQueue.main.async {
127 |                     completion (nil, language, .decodingError)
    |                                      |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
128 |                 }
129 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:120:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
118 |                 // (also occurs when the request was cancelled programmatically)
119 |                 DispatchQueue.main.async {
120 |                     completion (nil, language, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
121 |                 }
122 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:120:38: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
118 |                 // (also occurs when the request was cancelled programmatically)
119 |                 DispatchQueue.main.async {
120 |                     completion (nil, language, error)
    |                                      |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
121 |                 }
122 |                 return
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:156:53: error: cannot find 'kCFBundleExecutableKey' in scope
154 |         #if !os(Linux)
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
    |                                                     `- error: cannot find 'kCFBundleExecutableKey' in scope
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:157:51: error: cannot find 'kCFBundleIdentifierKey' in scope
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
    |                                                   `- error: cannot find 'kCFBundleIdentifierKey' in scope
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
159 |                     userAgent = "\(bundleName)/\(marketingVersionString) (\(bundleID); \(WikipediaNetworking.appAuthorEmailForAPI)) \(framework)"
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:99:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 97 |                 sr.term == term else {
 98 |                     DispatchQueue.main.async {
 99 |                         completion(nil, .other(nil))
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 |                     }
101 |                     return nil
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:114:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
112 |             if cachedSearchResults.items.count > searchResults.items.count {
113 |                 DispatchQueue.main.async {
114 |                     completion(cachedSearchResults, nil)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
115 |                 }
116 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:114:32: warning: sending 'cachedSearchResults' risks causing data races; this is an error in the Swift 6 language mode
112 |             if cachedSearchResults.items.count > searchResults.items.count {
113 |                 DispatchQueue.main.async {
114 |                     completion(cachedSearchResults, nil)
    |                                |- warning: sending 'cachedSearchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'cachedSearchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
115 |                 }
116 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:200:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
198 |             else {
199 |                 DispatchQueue.main.async {
200 |                     completion(nil, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
201 |                 }
202 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:76:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 74 |             } else {
 75 |                 DispatchQueue.main.async {
 76 |                     completion(searchResults, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 77 |                 }
 78 |             }
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:76:32: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
 74 |             } else {
 75 |                 DispatchQueue.main.async {
 76 |                     completion(searchResults, error)
    |                                |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 77 |                 }
 78 |             }
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:65:29: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 63 |                     if (fullTextSearchResults?.items.count ?? 0) >= (prefixSearchResults?.items.count ?? 0) {
 64 |                         DispatchQueue.main.async {
 65 |                             completion(fullTextSearchResults, error)
    |                             |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 66 |                         }
 67 |                     } else {
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:65:40: warning: sending 'fullTextSearchResults' risks causing data races; this is an error in the Swift 6 language mode
 63 |                     if (fullTextSearchResults?.items.count ?? 0) >= (prefixSearchResults?.items.count ?? 0) {
 64 |                         DispatchQueue.main.async {
 65 |                             completion(fullTextSearchResults, error)
    |                                        |- warning: sending 'fullTextSearchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                        `- note: task-isolated 'fullTextSearchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 66 |                         }
 67 |                     } else {
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:69:29: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 67 |                     } else {
 68 |                         DispatchQueue.main.async {
 69 |                             completion(prefixSearchResults, nil)
    |                             |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 70 |                         }
 71 |                     }
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:69:40: warning: sending 'prefixSearchResults' risks causing data races; this is an error in the Swift 6 language mode
 67 |                     } else {
 68 |                         DispatchQueue.main.async {
 69 |                             completion(prefixSearchResults, nil)
    |                                        |- warning: sending 'prefixSearchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                        `- note: task-isolated 'prefixSearchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 70 |                         }
 71 |                     }
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:261:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
259 |
260 |                     DispatchQueue.main.async {
261 |                         completion (searchResults, .notEnoughResults)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
262 |                     }
263 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:261:37: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
259 |
260 |                     DispatchQueue.main.async {
261 |                         completion (searchResults, .notEnoughResults)
    |                                     |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
262 |                     }
263 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:269:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
267 |
268 |                 DispatchQueue.main.async {
269 |                     completion(searchResults, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
270 |                 }
271 |
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:269:32: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
267 |
268 |                 DispatchQueue.main.async {
269 |                     completion(searchResults, error)
    |                                |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
270 |                 }
271 |
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:277:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
275 |                 if searchResults.offset == 0 {
276 |                     DispatchQueue.main.async {
277 |                         completion (searchResults, .notFound)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
278 |                     }
279 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:277:37: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
275 |                 if searchResults.offset == 0 {
276 |                     DispatchQueue.main.async {
277 |                         completion (searchResults, .notFound)
    |                                     |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
278 |                     }
279 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:284:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
282 |                     searchResults.canLoadMore = false
283 |                     DispatchQueue.main.async {
284 |                         completion (searchResults, error)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
285 |                     }
286 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:284:37: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
282 |                     searchResults.canLoadMore = false
283 |                     DispatchQueue.main.async {
284 |                         completion (searchResults, error)
    |                                     |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
285 |                     }
286 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:224:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
222 |             guard let query = jsonDictionary["query"] as? JSONDictionary else {
223 |                 DispatchQueue.main.async {
224 |                     completion (searchResults, .notFound)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
225 |                 }
226 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:224:33: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
222 |             guard let query = jsonDictionary["query"] as? JSONDictionary else {
223 |                 DispatchQueue.main.async {
224 |                     completion (searchResults, .notFound)
    |                                 |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
225 |                 }
226 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:217:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
215 |             guard let jsonDictionary = jsonDictionary else {
216 |                 DispatchQueue.main.async {
217 |                     completion (searchResults, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
218 |                 }
219 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:217:33: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
215 |             guard let jsonDictionary = jsonDictionary else {
216 |                 DispatchQueue.main.async {
217 |                     completion (searchResults, .decodingError)
    |                                 |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
218 |                 }
219 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:210:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
208 |                 // (also occurs when the request was cancelled programmatically)
209 |                 DispatchQueue.main.async {
210 |                     completion (searchResults, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
211 |                 }
212 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:210:33: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
208 |                 // (also occurs when the request was cancelled programmatically)
209 |                 DispatchQueue.main.async {
210 |                     completion (searchResults, error)
    |                                 |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
211 |                 }
212 |                 return
[27/31] Compiling WikipediaKit WikipediaArticle.swift
/host/spi-builder-workspace/Sources/Wikipedia.swift:42:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Wikipedia' may have shared mutable state; this is an error in the Swift 6 language mode
35 | typealias JSONDictionary = [String:AnyObject]
36 |
37 | public class Wikipedia {
   |              `- note: class 'Wikipedia' does not conform to the 'Sendable' protocol
38 |
39 |     // Public initializer is required if we don’t use the shared singleton
40 |     public init() {}
41 |
42 |     public static let shared: Wikipedia = {
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Wikipedia' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 |         return Wikipedia()
44 |     }()
/host/spi-builder-workspace/Sources/Wikipedia.swift:46:28: warning: static property 'sharedFormattingDelegate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
44 |     }()
45 |
46 |     public static weak var sharedFormattingDelegate: WikipediaTextFormattingDelegate?
   |                            |- warning: static property 'sharedFormattingDelegate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                            |- note: convert 'sharedFormattingDelegate' to a 'let' constant to make 'Sendable' shared state immutable
   |                            |- note: add '@MainActor' to make static property 'sharedFormattingDelegate' part of global actor 'MainActor'
   |                            `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
47 |
48 |     let articleCache: WikipediaArticleCache = {
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:110:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
108 |             else {
109 |                 DispatchQueue.main.async {
110 |                     completion(nil, language, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
111 |                 }
112 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:110:37: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
108 |             else {
109 |                 DispatchQueue.main.async {
110 |                     completion(nil, language, .other(nil))
    |                                     |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
111 |                 }
112 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:61:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 59 |                 let articlePreview = WikipediaRandomArticlesBuffer.shared.nextArticlePreview()
 60 |                 DispatchQueue.main.async {
 61 |                     completion(articlePreview, language, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 62 |                 }
 63 |             }
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:61:48: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
 59 |                 let articlePreview = WikipediaRandomArticlesBuffer.shared.nextArticlePreview()
 60 |                 DispatchQueue.main.async {
 61 |                     completion(articlePreview, language, error)
    |                                                |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                                `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 62 |                 }
 63 |             }
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:52:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 50 |                 guard let articlePreviews = articlePreviews else {
 51 |                     DispatchQueue.main.async {
 52 |                         completion(nil, language, error)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 53 |                     }
 54 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:52:41: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
 50 |                 guard let articlePreviews = articlePreviews else {
 51 |                     DispatchQueue.main.async {
 52 |                         completion(nil, language, error)
    |                                         |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 53 |                     }
 54 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:145:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
143 |                 let info = error["info"] as? String {
144 |                 DispatchQueue.main.async {
145 |                     completion (nil, language, .apiError(info))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
146 |                 }
147 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:145:38: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
143 |                 let info = error["info"] as? String {
144 |                 DispatchQueue.main.async {
145 |                     completion (nil, language, .apiError(info))
    |                                      |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
146 |                 }
147 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:166:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
164 |
165 |             DispatchQueue.main.async {
166 |                 completion(results, language, error)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
167 |             }
168 |         }
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:166:28: warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
164 |
165 |             DispatchQueue.main.async {
166 |                 completion(results, language, error)
    |                            |- warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: task-isolated 'results' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
167 |             }
168 |         }
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:166:37: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
164 |
165 |             DispatchQueue.main.async {
166 |                 completion(results, language, error)
    |                                     |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
167 |             }
168 |         }
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:152:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
150 |             guard let pages = query["pages"] as? [JSONDictionary] else {
151 |                 DispatchQueue.main.async {
152 |                     completion (nil, language, .notFound)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
153 |                 }
154 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:152:38: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
150 |             guard let pages = query["pages"] as? [JSONDictionary] else {
151 |                 DispatchQueue.main.async {
152 |                     completion (nil, language, .notFound)
    |                                      |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
153 |                 }
154 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:137:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
135 |                     // there is no “query” key,
136 |                     // but unfortunately no error message either
137 |                     completion (nil, language, .notFound)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
138 |                 }
139 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:137:38: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
135 |                     // there is no “query” key,
136 |                     // but unfortunately no error message either
137 |                     completion (nil, language, .notFound)
    |                                      |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
138 |                 }
139 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:127:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
125 |             guard let jsonDictionary = jsonDictionary else {
126 |                 DispatchQueue.main.async {
127 |                     completion (nil, language, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
128 |                 }
129 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:127:38: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
125 |             guard let jsonDictionary = jsonDictionary else {
126 |                 DispatchQueue.main.async {
127 |                     completion (nil, language, .decodingError)
    |                                      |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
128 |                 }
129 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:120:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
118 |                 // (also occurs when the request was cancelled programmatically)
119 |                 DispatchQueue.main.async {
120 |                     completion (nil, language, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
121 |                 }
122 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+RandomArticles.swift:120:38: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
118 |                 // (also occurs when the request was cancelled programmatically)
119 |                 DispatchQueue.main.async {
120 |                     completion (nil, language, error)
    |                                      |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                      `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
121 |                 }
122 |                 return
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:156:53: error: cannot find 'kCFBundleExecutableKey' in scope
154 |         #if !os(Linux)
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
    |                                                     `- error: cannot find 'kCFBundleExecutableKey' in scope
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:157:51: error: cannot find 'kCFBundleIdentifierKey' in scope
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
    |                                                   `- error: cannot find 'kCFBundleIdentifierKey' in scope
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
159 |                     userAgent = "\(bundleName)/\(marketingVersionString) (\(bundleID); \(WikipediaNetworking.appAuthorEmailForAPI)) \(framework)"
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:99:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 97 |                 sr.term == term else {
 98 |                     DispatchQueue.main.async {
 99 |                         completion(nil, .other(nil))
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
100 |                     }
101 |                     return nil
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:114:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
112 |             if cachedSearchResults.items.count > searchResults.items.count {
113 |                 DispatchQueue.main.async {
114 |                     completion(cachedSearchResults, nil)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
115 |                 }
116 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:114:32: warning: sending 'cachedSearchResults' risks causing data races; this is an error in the Swift 6 language mode
112 |             if cachedSearchResults.items.count > searchResults.items.count {
113 |                 DispatchQueue.main.async {
114 |                     completion(cachedSearchResults, nil)
    |                                |- warning: sending 'cachedSearchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'cachedSearchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
115 |                 }
116 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:200:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
198 |             else {
199 |                 DispatchQueue.main.async {
200 |                     completion(nil, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
201 |                 }
202 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:76:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 74 |             } else {
 75 |                 DispatchQueue.main.async {
 76 |                     completion(searchResults, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 77 |                 }
 78 |             }
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:76:32: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
 74 |             } else {
 75 |                 DispatchQueue.main.async {
 76 |                     completion(searchResults, error)
    |                                |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 77 |                 }
 78 |             }
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:65:29: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 63 |                     if (fullTextSearchResults?.items.count ?? 0) >= (prefixSearchResults?.items.count ?? 0) {
 64 |                         DispatchQueue.main.async {
 65 |                             completion(fullTextSearchResults, error)
    |                             |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 66 |                         }
 67 |                     } else {
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:65:40: warning: sending 'fullTextSearchResults' risks causing data races; this is an error in the Swift 6 language mode
 63 |                     if (fullTextSearchResults?.items.count ?? 0) >= (prefixSearchResults?.items.count ?? 0) {
 64 |                         DispatchQueue.main.async {
 65 |                             completion(fullTextSearchResults, error)
    |                                        |- warning: sending 'fullTextSearchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                        `- note: task-isolated 'fullTextSearchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 66 |                         }
 67 |                     } else {
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:69:29: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 67 |                     } else {
 68 |                         DispatchQueue.main.async {
 69 |                             completion(prefixSearchResults, nil)
    |                             |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                             `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 70 |                         }
 71 |                     }
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:69:40: warning: sending 'prefixSearchResults' risks causing data races; this is an error in the Swift 6 language mode
 67 |                     } else {
 68 |                         DispatchQueue.main.async {
 69 |                             completion(prefixSearchResults, nil)
    |                                        |- warning: sending 'prefixSearchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                        `- note: task-isolated 'prefixSearchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 70 |                         }
 71 |                     }
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:261:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
259 |
260 |                     DispatchQueue.main.async {
261 |                         completion (searchResults, .notEnoughResults)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
262 |                     }
263 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:261:37: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
259 |
260 |                     DispatchQueue.main.async {
261 |                         completion (searchResults, .notEnoughResults)
    |                                     |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
262 |                     }
263 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:269:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
267 |
268 |                 DispatchQueue.main.async {
269 |                     completion(searchResults, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
270 |                 }
271 |
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:269:32: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
267 |
268 |                 DispatchQueue.main.async {
269 |                     completion(searchResults, error)
    |                                |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
270 |                 }
271 |
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:277:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
275 |                 if searchResults.offset == 0 {
276 |                     DispatchQueue.main.async {
277 |                         completion (searchResults, .notFound)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
278 |                     }
279 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:277:37: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
275 |                 if searchResults.offset == 0 {
276 |                     DispatchQueue.main.async {
277 |                         completion (searchResults, .notFound)
    |                                     |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
278 |                     }
279 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:284:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
282 |                     searchResults.canLoadMore = false
283 |                     DispatchQueue.main.async {
284 |                         completion (searchResults, error)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
285 |                     }
286 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:284:37: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
282 |                     searchResults.canLoadMore = false
283 |                     DispatchQueue.main.async {
284 |                         completion (searchResults, error)
    |                                     |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
285 |                     }
286 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:224:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
222 |             guard let query = jsonDictionary["query"] as? JSONDictionary else {
223 |                 DispatchQueue.main.async {
224 |                     completion (searchResults, .notFound)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
225 |                 }
226 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:224:33: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
222 |             guard let query = jsonDictionary["query"] as? JSONDictionary else {
223 |                 DispatchQueue.main.async {
224 |                     completion (searchResults, .notFound)
    |                                 |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
225 |                 }
226 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:217:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
215 |             guard let jsonDictionary = jsonDictionary else {
216 |                 DispatchQueue.main.async {
217 |                     completion (searchResults, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
218 |                 }
219 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:217:33: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
215 |             guard let jsonDictionary = jsonDictionary else {
216 |                 DispatchQueue.main.async {
217 |                     completion (searchResults, .decodingError)
    |                                 |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
218 |                 }
219 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:210:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
208 |                 // (also occurs when the request was cancelled programmatically)
209 |                 DispatchQueue.main.async {
210 |                     completion (searchResults, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
211 |                 }
212 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Search.swift:210:33: warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
208 |                 // (also occurs when the request was cancelled programmatically)
209 |                 DispatchQueue.main.async {
210 |                     completion (searchResults, error)
    |                                 |- warning: sending 'searchResults' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'searchResults' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
211 |                 }
212 |                 return
[28/31] Compiling WikipediaKit Wikipedia+Featured.swift
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:52:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
50 |             else {
51 |                 DispatchQueue.main.async {
52 |                     completion(.failure(.other(nil)))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
53 |                 }
54 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:78:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
76 |             if let featured = WikipediaFeatured(jsonDictionary: jsonDictionary, language: language) {
77 |                 DispatchQueue.main.async {
78 |                     completion(.success(featured))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
79 |                 }
80 |             } else {
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:78:41: warning: sending 'featured' risks causing data races; this is an error in the Swift 6 language mode
76 |             if let featured = WikipediaFeatured(jsonDictionary: jsonDictionary, language: language) {
77 |                 DispatchQueue.main.async {
78 |                     completion(.success(featured))
   |                                         |- warning: sending 'featured' risks causing data races; this is an error in the Swift 6 language mode
   |                                         `- note: task-isolated 'featured' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
79 |                 }
80 |             } else {
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:82:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
80 |             } else {
81 |                 DispatchQueue.main.async {
82 |                     completion(.failure(.noResults))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
83 |                 }
84 |             }
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:71:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
69 |             guard let jsonDictionary = jsonDictionary  else {
70 |                 DispatchQueue.main.async {
71 |                     completion(.failure(.decodingError))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
72 |                 }
73 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:64:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
62 |                 // (also occurs when the request was cancelled programmatically)
63 |                 DispatchQueue.main.async {
64 |                     completion(.failure(error!))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 |                 }
66 |                 return
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:156:53: error: cannot find 'kCFBundleExecutableKey' in scope
154 |         #if !os(Linux)
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
    |                                                     `- error: cannot find 'kCFBundleExecutableKey' in scope
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:157:51: error: cannot find 'kCFBundleIdentifierKey' in scope
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
    |                                                   `- error: cannot find 'kCFBundleIdentifierKey' in scope
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
159 |                     userAgent = "\(bundleName)/\(marketingVersionString) (\(bundleID); \(WikipediaNetworking.appAuthorEmailForAPI)) \(framework)"
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:100:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 98 |             else {
 99 |                 DispatchQueue.main.async {
100 |                     completion(nil, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
101 |                 }
102 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:46:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 44 |                   firstURL.path != "" else {
 45 |                 DispatchQueue.main.async {
 46 |                     completion(nil, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 47 |                 }
 48 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:61:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 59 |             return self.requestSizedImageMetadata(language: language, ids: imageIDs, width: width) { imageMetadata, error in
 60 |                 DispatchQueue.main.async {
 61 |                     completion(imageMetadata, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 62 |                 }
 63 |             }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:61:32: warning: sending 'imageMetadata' risks causing data races; this is an error in the Swift 6 language mode
 59 |             return self.requestSizedImageMetadata(language: language, ids: imageIDs, width: width) { imageMetadata, error in
 60 |                 DispatchQueue.main.async {
 61 |                     completion(imageMetadata, error)
    |                                |- warning: sending 'imageMetadata' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'imageMetadata' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 62 |                 }
 63 |             }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:131:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
129 |             }
130 |             DispatchQueue.main.async {
131 |                 completion(images, error)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
132 |             }
133 |         }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:131:28: warning: sending 'images' risks causing data races; this is an error in the Swift 6 language mode
129 |             }
130 |             DispatchQueue.main.async {
131 |                 completion(images, error)
    |                            |- warning: sending 'images' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: task-isolated 'images' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
132 |             }
133 |         }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:119:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
117 |                 else {
118 |                 DispatchQueue.main.async {
119 |                     completion (nil, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
120 |                 }
121 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:109:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
107 |             guard error == nil else {
108 |                 DispatchQueue.main.async {
109 |                     completion (nil, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
110 |                 }
111 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:64:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 62 |             else {
 63 |                 DispatchQueue.main.async {
 64 |                     completion(article, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 65 |                 }
 66 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:64:32: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 62 |             else {
 63 |                 DispatchQueue.main.async {
 64 |                     completion(article, .other(nil))
    |                                |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 65 |                 }
 66 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:45:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 43 |               else {
 44 |                 DispatchQueue.main.async {
 45 |                     completion(article, nil)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 46 |                 }
 47 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:45:32: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 43 |               else {
 44 |                 DispatchQueue.main.async {
 45 |                     completion(article, nil)
    |                                |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 46 |                 }
 47 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:97:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 95 |             article.languageLinks = languages
 96 |             DispatchQueue.main.async {
 97 |                 completion(article, error)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 98 |             }
 99 |         }
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:97:28: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 95 |             article.languageLinks = languages
 96 |             DispatchQueue.main.async {
 97 |                 completion(article, error)
    |                            |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 98 |             }
 99 |         }
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:90:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 88 |                 else {
 89 |                     DispatchQueue.main.async {
 90 |                         completion (article, .decodingError)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 91 |                     }
 92 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:90:37: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 88 |                 else {
 89 |                     DispatchQueue.main.async {
 90 |                         completion (article, .decodingError)
    |                                     |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 91 |                     }
 92 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:81:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 79 |             guard let jsonDictionary = jsonDictionary  else {
 80 |                 DispatchQueue.main.async {
 81 |                     completion (article, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 82 |                 }
 83 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:81:33: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 79 |             guard let jsonDictionary = jsonDictionary  else {
 80 |                 DispatchQueue.main.async {
 81 |                     completion (article, .decodingError)
    |                                 |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 82 |                 }
 83 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:74:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 72 |                 // (also occurs when the request was cancelled programmatically)
 73 |                 DispatchQueue.main.async {
 74 |                     completion (article, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 75 |                 }
 76 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:74:33: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 72 |                 // (also occurs when the request was cancelled programmatically)
 73 |                 DispatchQueue.main.async {
 74 |                     completion (article, error)
    |                                 |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 75 |                 }
 76 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:88:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 86 |                 else {
 87 |                     DispatchQueue.main.async {
 88 |                         completion(nil, language, .other(nil))
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 89 |                     }
 90 |                     return nil
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:88:41: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
 86 |                 else {
 87 |                     DispatchQueue.main.async {
 88 |                         completion(nil, language, .other(nil))
    |                                         |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 89 |                     }
 90 |                     return nil
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:123:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
121 |                     let info = error["info"] as? String {
122 |                     DispatchQueue.main.async {
123 |                         completion (nil, language, .apiError(info))
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                     }
125 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:123:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
121 |                     let info = error["info"] as? String {
122 |                     DispatchQueue.main.async {
123 |                         completion (nil, language, .apiError(info))
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                     }
125 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:32: warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                                |- warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'results' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:41: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                                         |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:130:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
128 |                 guard let pages = query["pages"] as? [JSONDictionary] else {
129 |                     DispatchQueue.main.async {
130 |                         completion (nil, language, .notFound)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
131 |                     }
132 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:130:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
128 |                 guard let pages = query["pages"] as? [JSONDictionary] else {
129 |                     DispatchQueue.main.async {
130 |                         completion (nil, language, .notFound)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
131 |                     }
132 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:115:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
113 |                         // there is no “query” key,
114 |                         // but unfortunately no error message either
115 |                         completion (nil, language, .notFound)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
116 |                     }
117 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:115:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
113 |                         // there is no “query” key,
114 |                         // but unfortunately no error message either
115 |                         completion (nil, language, .notFound)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
116 |                     }
117 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:105:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
103 |                 guard let jsonDictionary = jsonDictionary else {
104 |                     DispatchQueue.main.async {
105 |                         completion (nil, language, .decodingError)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 |                     }
107 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:105:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
103 |                 guard let jsonDictionary = jsonDictionary else {
104 |                     DispatchQueue.main.async {
105 |                         completion (nil, language, .decodingError)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 |                     }
107 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:98:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 96 |                     // (also occurs when the request was cancelled programmatically)
 97 |                     DispatchQueue.main.async {
 98 |                         completion (nil, language, error)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 99 |                     }
100 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:98:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
 96 |                     // (also occurs when the request was cancelled programmatically)
 97 |                     DispatchQueue.main.async {
 98 |                         completion (nil, language, error)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 99 |                     }
100 |                     return
[29/31] Compiling WikipediaKit Wikipedia+ImageMeta.swift
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:52:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
50 |             else {
51 |                 DispatchQueue.main.async {
52 |                     completion(.failure(.other(nil)))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
53 |                 }
54 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:78:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
76 |             if let featured = WikipediaFeatured(jsonDictionary: jsonDictionary, language: language) {
77 |                 DispatchQueue.main.async {
78 |                     completion(.success(featured))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
79 |                 }
80 |             } else {
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:78:41: warning: sending 'featured' risks causing data races; this is an error in the Swift 6 language mode
76 |             if let featured = WikipediaFeatured(jsonDictionary: jsonDictionary, language: language) {
77 |                 DispatchQueue.main.async {
78 |                     completion(.success(featured))
   |                                         |- warning: sending 'featured' risks causing data races; this is an error in the Swift 6 language mode
   |                                         `- note: task-isolated 'featured' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
79 |                 }
80 |             } else {
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:82:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
80 |             } else {
81 |                 DispatchQueue.main.async {
82 |                     completion(.failure(.noResults))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
83 |                 }
84 |             }
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:71:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
69 |             guard let jsonDictionary = jsonDictionary  else {
70 |                 DispatchQueue.main.async {
71 |                     completion(.failure(.decodingError))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
72 |                 }
73 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:64:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
62 |                 // (also occurs when the request was cancelled programmatically)
63 |                 DispatchQueue.main.async {
64 |                     completion(.failure(error!))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 |                 }
66 |                 return
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:156:53: error: cannot find 'kCFBundleExecutableKey' in scope
154 |         #if !os(Linux)
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
    |                                                     `- error: cannot find 'kCFBundleExecutableKey' in scope
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:157:51: error: cannot find 'kCFBundleIdentifierKey' in scope
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
    |                                                   `- error: cannot find 'kCFBundleIdentifierKey' in scope
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
159 |                     userAgent = "\(bundleName)/\(marketingVersionString) (\(bundleID); \(WikipediaNetworking.appAuthorEmailForAPI)) \(framework)"
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:100:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 98 |             else {
 99 |                 DispatchQueue.main.async {
100 |                     completion(nil, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
101 |                 }
102 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:46:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 44 |                   firstURL.path != "" else {
 45 |                 DispatchQueue.main.async {
 46 |                     completion(nil, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 47 |                 }
 48 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:61:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 59 |             return self.requestSizedImageMetadata(language: language, ids: imageIDs, width: width) { imageMetadata, error in
 60 |                 DispatchQueue.main.async {
 61 |                     completion(imageMetadata, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 62 |                 }
 63 |             }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:61:32: warning: sending 'imageMetadata' risks causing data races; this is an error in the Swift 6 language mode
 59 |             return self.requestSizedImageMetadata(language: language, ids: imageIDs, width: width) { imageMetadata, error in
 60 |                 DispatchQueue.main.async {
 61 |                     completion(imageMetadata, error)
    |                                |- warning: sending 'imageMetadata' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'imageMetadata' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 62 |                 }
 63 |             }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:131:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
129 |             }
130 |             DispatchQueue.main.async {
131 |                 completion(images, error)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
132 |             }
133 |         }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:131:28: warning: sending 'images' risks causing data races; this is an error in the Swift 6 language mode
129 |             }
130 |             DispatchQueue.main.async {
131 |                 completion(images, error)
    |                            |- warning: sending 'images' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: task-isolated 'images' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
132 |             }
133 |         }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:119:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
117 |                 else {
118 |                 DispatchQueue.main.async {
119 |                     completion (nil, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
120 |                 }
121 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:109:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
107 |             guard error == nil else {
108 |                 DispatchQueue.main.async {
109 |                     completion (nil, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
110 |                 }
111 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:64:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 62 |             else {
 63 |                 DispatchQueue.main.async {
 64 |                     completion(article, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 65 |                 }
 66 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:64:32: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 62 |             else {
 63 |                 DispatchQueue.main.async {
 64 |                     completion(article, .other(nil))
    |                                |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 65 |                 }
 66 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:45:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 43 |               else {
 44 |                 DispatchQueue.main.async {
 45 |                     completion(article, nil)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 46 |                 }
 47 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:45:32: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 43 |               else {
 44 |                 DispatchQueue.main.async {
 45 |                     completion(article, nil)
    |                                |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 46 |                 }
 47 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:97:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 95 |             article.languageLinks = languages
 96 |             DispatchQueue.main.async {
 97 |                 completion(article, error)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 98 |             }
 99 |         }
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:97:28: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 95 |             article.languageLinks = languages
 96 |             DispatchQueue.main.async {
 97 |                 completion(article, error)
    |                            |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 98 |             }
 99 |         }
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:90:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 88 |                 else {
 89 |                     DispatchQueue.main.async {
 90 |                         completion (article, .decodingError)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 91 |                     }
 92 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:90:37: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 88 |                 else {
 89 |                     DispatchQueue.main.async {
 90 |                         completion (article, .decodingError)
    |                                     |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 91 |                     }
 92 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:81:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 79 |             guard let jsonDictionary = jsonDictionary  else {
 80 |                 DispatchQueue.main.async {
 81 |                     completion (article, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 82 |                 }
 83 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:81:33: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 79 |             guard let jsonDictionary = jsonDictionary  else {
 80 |                 DispatchQueue.main.async {
 81 |                     completion (article, .decodingError)
    |                                 |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 82 |                 }
 83 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:74:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 72 |                 // (also occurs when the request was cancelled programmatically)
 73 |                 DispatchQueue.main.async {
 74 |                     completion (article, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 75 |                 }
 76 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:74:33: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 72 |                 // (also occurs when the request was cancelled programmatically)
 73 |                 DispatchQueue.main.async {
 74 |                     completion (article, error)
    |                                 |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 75 |                 }
 76 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:88:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 86 |                 else {
 87 |                     DispatchQueue.main.async {
 88 |                         completion(nil, language, .other(nil))
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 89 |                     }
 90 |                     return nil
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:88:41: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
 86 |                 else {
 87 |                     DispatchQueue.main.async {
 88 |                         completion(nil, language, .other(nil))
    |                                         |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 89 |                     }
 90 |                     return nil
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:123:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
121 |                     let info = error["info"] as? String {
122 |                     DispatchQueue.main.async {
123 |                         completion (nil, language, .apiError(info))
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                     }
125 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:123:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
121 |                     let info = error["info"] as? String {
122 |                     DispatchQueue.main.async {
123 |                         completion (nil, language, .apiError(info))
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                     }
125 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:32: warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                                |- warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'results' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:41: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                                         |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:130:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
128 |                 guard let pages = query["pages"] as? [JSONDictionary] else {
129 |                     DispatchQueue.main.async {
130 |                         completion (nil, language, .notFound)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
131 |                     }
132 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:130:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
128 |                 guard let pages = query["pages"] as? [JSONDictionary] else {
129 |                     DispatchQueue.main.async {
130 |                         completion (nil, language, .notFound)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
131 |                     }
132 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:115:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
113 |                         // there is no “query” key,
114 |                         // but unfortunately no error message either
115 |                         completion (nil, language, .notFound)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
116 |                     }
117 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:115:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
113 |                         // there is no “query” key,
114 |                         // but unfortunately no error message either
115 |                         completion (nil, language, .notFound)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
116 |                     }
117 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:105:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
103 |                 guard let jsonDictionary = jsonDictionary else {
104 |                     DispatchQueue.main.async {
105 |                         completion (nil, language, .decodingError)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 |                     }
107 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:105:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
103 |                 guard let jsonDictionary = jsonDictionary else {
104 |                     DispatchQueue.main.async {
105 |                         completion (nil, language, .decodingError)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 |                     }
107 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:98:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 96 |                     // (also occurs when the request was cancelled programmatically)
 97 |                     DispatchQueue.main.async {
 98 |                         completion (nil, language, error)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 99 |                     }
100 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:98:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
 96 |                     // (also occurs when the request was cancelled programmatically)
 97 |                     DispatchQueue.main.async {
 98 |                         completion (nil, language, error)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 99 |                     }
100 |                     return
[30/31] Compiling WikipediaKit Wikipedia+Languages.swift
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:52:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
50 |             else {
51 |                 DispatchQueue.main.async {
52 |                     completion(.failure(.other(nil)))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
53 |                 }
54 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:78:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
76 |             if let featured = WikipediaFeatured(jsonDictionary: jsonDictionary, language: language) {
77 |                 DispatchQueue.main.async {
78 |                     completion(.success(featured))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
79 |                 }
80 |             } else {
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:78:41: warning: sending 'featured' risks causing data races; this is an error in the Swift 6 language mode
76 |             if let featured = WikipediaFeatured(jsonDictionary: jsonDictionary, language: language) {
77 |                 DispatchQueue.main.async {
78 |                     completion(.success(featured))
   |                                         |- warning: sending 'featured' risks causing data races; this is an error in the Swift 6 language mode
   |                                         `- note: task-isolated 'featured' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
79 |                 }
80 |             } else {
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:82:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
80 |             } else {
81 |                 DispatchQueue.main.async {
82 |                     completion(.failure(.noResults))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
83 |                 }
84 |             }
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:71:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
69 |             guard let jsonDictionary = jsonDictionary  else {
70 |                 DispatchQueue.main.async {
71 |                     completion(.failure(.decodingError))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
72 |                 }
73 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:64:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
62 |                 // (also occurs when the request was cancelled programmatically)
63 |                 DispatchQueue.main.async {
64 |                     completion(.failure(error!))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 |                 }
66 |                 return
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:156:53: error: cannot find 'kCFBundleExecutableKey' in scope
154 |         #if !os(Linux)
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
    |                                                     `- error: cannot find 'kCFBundleExecutableKey' in scope
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:157:51: error: cannot find 'kCFBundleIdentifierKey' in scope
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
    |                                                   `- error: cannot find 'kCFBundleIdentifierKey' in scope
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
159 |                     userAgent = "\(bundleName)/\(marketingVersionString) (\(bundleID); \(WikipediaNetworking.appAuthorEmailForAPI)) \(framework)"
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:100:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 98 |             else {
 99 |                 DispatchQueue.main.async {
100 |                     completion(nil, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
101 |                 }
102 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:46:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 44 |                   firstURL.path != "" else {
 45 |                 DispatchQueue.main.async {
 46 |                     completion(nil, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 47 |                 }
 48 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:61:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 59 |             return self.requestSizedImageMetadata(language: language, ids: imageIDs, width: width) { imageMetadata, error in
 60 |                 DispatchQueue.main.async {
 61 |                     completion(imageMetadata, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 62 |                 }
 63 |             }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:61:32: warning: sending 'imageMetadata' risks causing data races; this is an error in the Swift 6 language mode
 59 |             return self.requestSizedImageMetadata(language: language, ids: imageIDs, width: width) { imageMetadata, error in
 60 |                 DispatchQueue.main.async {
 61 |                     completion(imageMetadata, error)
    |                                |- warning: sending 'imageMetadata' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'imageMetadata' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 62 |                 }
 63 |             }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:131:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
129 |             }
130 |             DispatchQueue.main.async {
131 |                 completion(images, error)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
132 |             }
133 |         }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:131:28: warning: sending 'images' risks causing data races; this is an error in the Swift 6 language mode
129 |             }
130 |             DispatchQueue.main.async {
131 |                 completion(images, error)
    |                            |- warning: sending 'images' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: task-isolated 'images' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
132 |             }
133 |         }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:119:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
117 |                 else {
118 |                 DispatchQueue.main.async {
119 |                     completion (nil, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
120 |                 }
121 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:109:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
107 |             guard error == nil else {
108 |                 DispatchQueue.main.async {
109 |                     completion (nil, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
110 |                 }
111 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:64:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 62 |             else {
 63 |                 DispatchQueue.main.async {
 64 |                     completion(article, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 65 |                 }
 66 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:64:32: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 62 |             else {
 63 |                 DispatchQueue.main.async {
 64 |                     completion(article, .other(nil))
    |                                |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 65 |                 }
 66 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:45:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 43 |               else {
 44 |                 DispatchQueue.main.async {
 45 |                     completion(article, nil)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 46 |                 }
 47 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:45:32: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 43 |               else {
 44 |                 DispatchQueue.main.async {
 45 |                     completion(article, nil)
    |                                |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 46 |                 }
 47 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:97:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 95 |             article.languageLinks = languages
 96 |             DispatchQueue.main.async {
 97 |                 completion(article, error)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 98 |             }
 99 |         }
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:97:28: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 95 |             article.languageLinks = languages
 96 |             DispatchQueue.main.async {
 97 |                 completion(article, error)
    |                            |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 98 |             }
 99 |         }
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:90:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 88 |                 else {
 89 |                     DispatchQueue.main.async {
 90 |                         completion (article, .decodingError)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 91 |                     }
 92 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:90:37: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 88 |                 else {
 89 |                     DispatchQueue.main.async {
 90 |                         completion (article, .decodingError)
    |                                     |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 91 |                     }
 92 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:81:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 79 |             guard let jsonDictionary = jsonDictionary  else {
 80 |                 DispatchQueue.main.async {
 81 |                     completion (article, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 82 |                 }
 83 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:81:33: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 79 |             guard let jsonDictionary = jsonDictionary  else {
 80 |                 DispatchQueue.main.async {
 81 |                     completion (article, .decodingError)
    |                                 |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 82 |                 }
 83 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:74:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 72 |                 // (also occurs when the request was cancelled programmatically)
 73 |                 DispatchQueue.main.async {
 74 |                     completion (article, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 75 |                 }
 76 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:74:33: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 72 |                 // (also occurs when the request was cancelled programmatically)
 73 |                 DispatchQueue.main.async {
 74 |                     completion (article, error)
    |                                 |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 75 |                 }
 76 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:88:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 86 |                 else {
 87 |                     DispatchQueue.main.async {
 88 |                         completion(nil, language, .other(nil))
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 89 |                     }
 90 |                     return nil
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:88:41: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
 86 |                 else {
 87 |                     DispatchQueue.main.async {
 88 |                         completion(nil, language, .other(nil))
    |                                         |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 89 |                     }
 90 |                     return nil
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:123:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
121 |                     let info = error["info"] as? String {
122 |                     DispatchQueue.main.async {
123 |                         completion (nil, language, .apiError(info))
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                     }
125 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:123:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
121 |                     let info = error["info"] as? String {
122 |                     DispatchQueue.main.async {
123 |                         completion (nil, language, .apiError(info))
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                     }
125 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:32: warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                                |- warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'results' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:41: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                                         |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:130:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
128 |                 guard let pages = query["pages"] as? [JSONDictionary] else {
129 |                     DispatchQueue.main.async {
130 |                         completion (nil, language, .notFound)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
131 |                     }
132 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:130:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
128 |                 guard let pages = query["pages"] as? [JSONDictionary] else {
129 |                     DispatchQueue.main.async {
130 |                         completion (nil, language, .notFound)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
131 |                     }
132 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:115:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
113 |                         // there is no “query” key,
114 |                         // but unfortunately no error message either
115 |                         completion (nil, language, .notFound)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
116 |                     }
117 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:115:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
113 |                         // there is no “query” key,
114 |                         // but unfortunately no error message either
115 |                         completion (nil, language, .notFound)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
116 |                     }
117 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:105:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
103 |                 guard let jsonDictionary = jsonDictionary else {
104 |                     DispatchQueue.main.async {
105 |                         completion (nil, language, .decodingError)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 |                     }
107 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:105:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
103 |                 guard let jsonDictionary = jsonDictionary else {
104 |                     DispatchQueue.main.async {
105 |                         completion (nil, language, .decodingError)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 |                     }
107 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:98:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 96 |                     // (also occurs when the request was cancelled programmatically)
 97 |                     DispatchQueue.main.async {
 98 |                         completion (nil, language, error)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 99 |                     }
100 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:98:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
 96 |                     // (also occurs when the request was cancelled programmatically)
 97 |                     DispatchQueue.main.async {
 98 |                         completion (nil, language, error)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 99 |                     }
100 |                     return
[31/31] Compiling WikipediaKit Wikipedia+NearbySearch.swift
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:52:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
50 |             else {
51 |                 DispatchQueue.main.async {
52 |                     completion(.failure(.other(nil)))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
53 |                 }
54 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:78:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
76 |             if let featured = WikipediaFeatured(jsonDictionary: jsonDictionary, language: language) {
77 |                 DispatchQueue.main.async {
78 |                     completion(.success(featured))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
79 |                 }
80 |             } else {
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:78:41: warning: sending 'featured' risks causing data races; this is an error in the Swift 6 language mode
76 |             if let featured = WikipediaFeatured(jsonDictionary: jsonDictionary, language: language) {
77 |                 DispatchQueue.main.async {
78 |                     completion(.success(featured))
   |                                         |- warning: sending 'featured' risks causing data races; this is an error in the Swift 6 language mode
   |                                         `- note: task-isolated 'featured' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
79 |                 }
80 |             } else {
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:82:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
80 |             } else {
81 |                 DispatchQueue.main.async {
82 |                     completion(.failure(.noResults))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
83 |                 }
84 |             }
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:71:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
69 |             guard let jsonDictionary = jsonDictionary  else {
70 |                 DispatchQueue.main.async {
71 |                     completion(.failure(.decodingError))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
72 |                 }
73 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Featured.swift:64:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
62 |                 // (also occurs when the request was cancelled programmatically)
63 |                 DispatchQueue.main.async {
64 |                     completion(.failure(error!))
   |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
   |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
65 |                 }
66 |                 return
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:156:53: error: cannot find 'kCFBundleExecutableKey' in scope
154 |         #if !os(Linux)
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
    |                                                     `- error: cannot find 'kCFBundleExecutableKey' in scope
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:157:51: error: cannot find 'kCFBundleIdentifierKey' in scope
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
    |                                                   `- error: cannot find 'kCFBundleIdentifierKey' in scope
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
159 |                     userAgent = "\(bundleName)/\(marketingVersionString) (\(bundleID); \(WikipediaNetworking.appAuthorEmailForAPI)) \(framework)"
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:100:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 98 |             else {
 99 |                 DispatchQueue.main.async {
100 |                     completion(nil, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
101 |                 }
102 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:46:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 44 |                   firstURL.path != "" else {
 45 |                 DispatchQueue.main.async {
 46 |                     completion(nil, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 47 |                 }
 48 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:61:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 59 |             return self.requestSizedImageMetadata(language: language, ids: imageIDs, width: width) { imageMetadata, error in
 60 |                 DispatchQueue.main.async {
 61 |                     completion(imageMetadata, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 62 |                 }
 63 |             }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:61:32: warning: sending 'imageMetadata' risks causing data races; this is an error in the Swift 6 language mode
 59 |             return self.requestSizedImageMetadata(language: language, ids: imageIDs, width: width) { imageMetadata, error in
 60 |                 DispatchQueue.main.async {
 61 |                     completion(imageMetadata, error)
    |                                |- warning: sending 'imageMetadata' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'imageMetadata' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 62 |                 }
 63 |             }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:131:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
129 |             }
130 |             DispatchQueue.main.async {
131 |                 completion(images, error)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
132 |             }
133 |         }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:131:28: warning: sending 'images' risks causing data races; this is an error in the Swift 6 language mode
129 |             }
130 |             DispatchQueue.main.async {
131 |                 completion(images, error)
    |                            |- warning: sending 'images' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: task-isolated 'images' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
132 |             }
133 |         }
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:119:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
117 |                 else {
118 |                 DispatchQueue.main.async {
119 |                     completion (nil, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
120 |                 }
121 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+ImageMeta.swift:109:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
107 |             guard error == nil else {
108 |                 DispatchQueue.main.async {
109 |                     completion (nil, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
110 |                 }
111 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:64:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 62 |             else {
 63 |                 DispatchQueue.main.async {
 64 |                     completion(article, .other(nil))
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 65 |                 }
 66 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:64:32: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 62 |             else {
 63 |                 DispatchQueue.main.async {
 64 |                     completion(article, .other(nil))
    |                                |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 65 |                 }
 66 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:45:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 43 |               else {
 44 |                 DispatchQueue.main.async {
 45 |                     completion(article, nil)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 46 |                 }
 47 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:45:32: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 43 |               else {
 44 |                 DispatchQueue.main.async {
 45 |                     completion(article, nil)
    |                                |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 46 |                 }
 47 |                 return nil
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:97:17: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 95 |             article.languageLinks = languages
 96 |             DispatchQueue.main.async {
 97 |                 completion(article, error)
    |                 |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 98 |             }
 99 |         }
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:97:28: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 95 |             article.languageLinks = languages
 96 |             DispatchQueue.main.async {
 97 |                 completion(article, error)
    |                            |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                            `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 98 |             }
 99 |         }
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:90:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 88 |                 else {
 89 |                     DispatchQueue.main.async {
 90 |                         completion (article, .decodingError)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 91 |                     }
 92 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:90:37: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 88 |                 else {
 89 |                     DispatchQueue.main.async {
 90 |                         completion (article, .decodingError)
    |                                     |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 91 |                     }
 92 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:81:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 79 |             guard let jsonDictionary = jsonDictionary  else {
 80 |                 DispatchQueue.main.async {
 81 |                     completion (article, .decodingError)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 82 |                 }
 83 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:81:33: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 79 |             guard let jsonDictionary = jsonDictionary  else {
 80 |                 DispatchQueue.main.async {
 81 |                     completion (article, .decodingError)
    |                                 |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 82 |                 }
 83 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:74:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 72 |                 // (also occurs when the request was cancelled programmatically)
 73 |                 DispatchQueue.main.async {
 74 |                     completion (article, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 75 |                 }
 76 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+Languages.swift:74:33: warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
 72 |                 // (also occurs when the request was cancelled programmatically)
 73 |                 DispatchQueue.main.async {
 74 |                     completion (article, error)
    |                                 |- warning: sending 'article' risks causing data races; this is an error in the Swift 6 language mode
    |                                 `- note: task-isolated 'article' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 75 |                 }
 76 |                 return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:88:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 86 |                 else {
 87 |                     DispatchQueue.main.async {
 88 |                         completion(nil, language, .other(nil))
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 89 |                     }
 90 |                     return nil
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:88:41: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
 86 |                 else {
 87 |                     DispatchQueue.main.async {
 88 |                         completion(nil, language, .other(nil))
    |                                         |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 89 |                     }
 90 |                     return nil
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:123:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
121 |                     let info = error["info"] as? String {
122 |                     DispatchQueue.main.async {
123 |                         completion (nil, language, .apiError(info))
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                     }
125 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:123:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
121 |                     let info = error["info"] as? String {
122 |                     DispatchQueue.main.async {
123 |                         completion (nil, language, .apiError(info))
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
124 |                     }
125 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:21: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                     |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                     `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:32: warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                                |- warning: sending 'results' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: task-isolated 'results' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:156:41: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
154 |
155 |                 DispatchQueue.main.async {
156 |                     completion(results, language, error)
    |                                         |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
157 |                 }
158 |
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:130:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
128 |                 guard let pages = query["pages"] as? [JSONDictionary] else {
129 |                     DispatchQueue.main.async {
130 |                         completion (nil, language, .notFound)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
131 |                     }
132 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:130:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
128 |                 guard let pages = query["pages"] as? [JSONDictionary] else {
129 |                     DispatchQueue.main.async {
130 |                         completion (nil, language, .notFound)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
131 |                     }
132 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:115:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
113 |                         // there is no “query” key,
114 |                         // but unfortunately no error message either
115 |                         completion (nil, language, .notFound)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
116 |                     }
117 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:115:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
113 |                         // there is no “query” key,
114 |                         // but unfortunately no error message either
115 |                         completion (nil, language, .notFound)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
116 |                     }
117 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:105:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
103 |                 guard let jsonDictionary = jsonDictionary else {
104 |                     DispatchQueue.main.async {
105 |                         completion (nil, language, .decodingError)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 |                     }
107 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:105:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
103 |                 guard let jsonDictionary = jsonDictionary else {
104 |                     DispatchQueue.main.async {
105 |                         completion (nil, language, .decodingError)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
106 |                     }
107 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:98:25: warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
 96 |                     // (also occurs when the request was cancelled programmatically)
 97 |                     DispatchQueue.main.async {
 98 |                         completion (nil, language, error)
    |                         |- warning: sending 'completion' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'completion' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 99 |                     }
100 |                     return
/host/spi-builder-workspace/Sources/Wikipedia+NearbySearch.swift:98:42: warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
 96 |                     // (also occurs when the request was cancelled programmatically)
 97 |                     DispatchQueue.main.async {
 98 |                         completion (nil, language, error)
    |                                          |- warning: sending 'language' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'language' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 99 |                     }
100 |                     return
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.1-latest swift build --swift-sdk aarch64-unknown-linux-android24 2>&1
android-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:fe1962677657b2408c217cb5cceb3c09bc1d91486e360cebbc6eee461a5945d8
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.1-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[2/27] Emitting module WikipediaKit
/host/spi-builder-workspace/Sources/WikipediaLanguage.swift:98:41: warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
 96 |     public static var systemLanguageCode: String = {
 97 |         guard let preferredLanguage = Locale.preferredLanguages.first else { return "en" }
 98 |         let languageComponents = Locale.components(fromIdentifier: preferredLanguage)
    |                                         `- warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
 99 |         let languageCode = languageComponents[NSLocale.Key.languageCode.rawValue]
100 |         return languageCode ?? "en"
/host/spi-builder-workspace/Sources/WikipediaLanguage.swift:129:45: warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
127 |             guard language.hasPrefix("zh") else { continue }
128 |
129 |             let languageComponents = Locale.components(fromIdentifier: language)
    |                                             `- warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
130 |             let languageCode = languageComponents[NSLocale.Key.languageCode.rawValue]
131 |             guard let variant = languageComponents[NSLocale.Key.scriptCode.rawValue]?.lowercased(),
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:156:53: error: cannot find 'kCFBundleExecutableKey' in scope
154 |         #if !os(Linux)
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
    |                                                     `- error: cannot find 'kCFBundleExecutableKey' in scope
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:157:51: error: cannot find 'kCFBundleIdentifierKey' in scope
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
    |                                                   `- error: cannot find 'kCFBundleIdentifierKey' in scope
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
159 |                     userAgent = "\(bundleName)/\(marketingVersionString) (\(bundleID); \(WikipediaNetworking.appAuthorEmailForAPI)) \(framework)"
[3/30] Compiling WikipediaKit WikipediaNamespace.swift
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:156:53: error: cannot find 'kCFBundleExecutableKey' in scope
154 |         #if !os(Linux)
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
    |                                                     `- error: cannot find 'kCFBundleExecutableKey' in scope
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:157:51: error: cannot find 'kCFBundleIdentifierKey' in scope
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
    |                                                   `- error: cannot find 'kCFBundleIdentifierKey' in scope
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
159 |                     userAgent = "\(bundleName)/\(marketingVersionString) (\(bundleID); \(WikipediaNetworking.appAuthorEmailForAPI)) \(framework)"
[4/30] Compiling WikipediaKit WikipediaNetworking.swift
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:156:53: error: cannot find 'kCFBundleExecutableKey' in scope
154 |         #if !os(Linux)
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
    |                                                     `- error: cannot find 'kCFBundleExecutableKey' in scope
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:157:51: error: cannot find 'kCFBundleIdentifierKey' in scope
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
    |                                                   `- error: cannot find 'kCFBundleIdentifierKey' in scope
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
159 |                     userAgent = "\(bundleName)/\(marketingVersionString) (\(bundleID); \(WikipediaNetworking.appAuthorEmailForAPI)) \(framework)"
[5/30] Compiling WikipediaKit WikipediaNetworkingActivityDelegate.swift
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:156:53: error: cannot find 'kCFBundleExecutableKey' in scope
154 |         #if !os(Linux)
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
    |                                                     `- error: cannot find 'kCFBundleExecutableKey' in scope
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
/host/spi-builder-workspace/Sources/WikipediaNetworking.swift:157:51: error: cannot find 'kCFBundleIdentifierKey' in scope
155 |             if let infoDictionary = Bundle.main.infoDictionary {
156 |                     let bundleName = infoDictionary[kCFBundleExecutableKey as String] as? String ?? "Unknown App"
157 |                     let bundleID = infoDictionary[kCFBundleIdentifierKey as String] as? String ?? "Unkown Bundle ID"
    |                                                   `- error: cannot find 'kCFBundleIdentifierKey' in scope
158 |                     let marketingVersionString = infoDictionary["CFBundleShortVersionString"] as? String ?? "Unknown Version"
159 |                     userAgent = "\(bundleName)/\(marketingVersionString) (\(bundleID); \(WikipediaNetworking.appAuthorEmailForAPI)) \(framework)"
[6/30] Compiling WikipediaKit String+Wikipedia.swift
[7/30] Compiling WikipediaKit URL+Wikipedia.swift
[8/30] Compiling WikipediaKit Wikipedia+Article.swift
[9/30] Compiling WikipediaKit Wikipedia+ArticleSummary.swift
[10/30] Compiling WikipediaKit WikipediaArticleCache.swift
[11/30] Compiling WikipediaKit WikipediaArticleLanguageLink.swift
[12/30] Compiling WikipediaKit WikipediaArticlePreview.swift
[13/30] Compiling WikipediaKit WikipediaError.swift
[14/30] Compiling WikipediaKit WikipediaSearchResultsCache.swift
[15/30] Compiling WikipediaKit WikipediaTOCItem.swift
[16/30] Compiling WikipediaKit WikipediaTextFormattingDelegate.swift
[17/30] Compiling WikipediaKit WikipediaRandomArticlesBuffer.swift
[18/30] Compiling WikipediaKit WikipediaSearchMethod.swift
[19/30] Compiling WikipediaKit WikipediaSearchResults.swift
[20/30] Compiling WikipediaKit Wikipedia+Featured.swift
[21/30] Compiling WikipediaKit Wikipedia+ImageMeta.swift
[22/30] Compiling WikipediaKit Wikipedia+Languages.swift
[23/30] Compiling WikipediaKit Wikipedia+NearbySearch.swift
[24/30] Compiling WikipediaKit WikipediaFeatured.swift
/host/spi-builder-workspace/Sources/WikipediaLanguage.swift:98:41: warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
 96 |     public static var systemLanguageCode: String = {
 97 |         guard let preferredLanguage = Locale.preferredLanguages.first else { return "en" }
 98 |         let languageComponents = Locale.components(fromIdentifier: preferredLanguage)
    |                                         `- warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
 99 |         let languageCode = languageComponents[NSLocale.Key.languageCode.rawValue]
100 |         return languageCode ?? "en"
/host/spi-builder-workspace/Sources/WikipediaLanguage.swift:129:45: warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
127 |             guard language.hasPrefix("zh") else { continue }
128 |
129 |             let languageComponents = Locale.components(fromIdentifier: language)
    |                                             `- warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
130 |             let languageCode = languageComponents[NSLocale.Key.languageCode.rawValue]
131 |             guard let variant = languageComponents[NSLocale.Key.scriptCode.rawValue]?.lowercased(),
[25/30] Compiling WikipediaKit WikipediaImage.swift
/host/spi-builder-workspace/Sources/WikipediaLanguage.swift:98:41: warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
 96 |     public static var systemLanguageCode: String = {
 97 |         guard let preferredLanguage = Locale.preferredLanguages.first else { return "en" }
 98 |         let languageComponents = Locale.components(fromIdentifier: preferredLanguage)
    |                                         `- warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
 99 |         let languageCode = languageComponents[NSLocale.Key.languageCode.rawValue]
100 |         return languageCode ?? "en"
/host/spi-builder-workspace/Sources/WikipediaLanguage.swift:129:45: warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
127 |             guard language.hasPrefix("zh") else { continue }
128 |
129 |             let languageComponents = Locale.components(fromIdentifier: language)
    |                                             `- warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
130 |             let languageCode = languageComponents[NSLocale.Key.languageCode.rawValue]
131 |             guard let variant = languageComponents[NSLocale.Key.scriptCode.rawValue]?.lowercased(),
[26/30] Compiling WikipediaKit WikipediaLanguage.swift
/host/spi-builder-workspace/Sources/WikipediaLanguage.swift:98:41: warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
 96 |     public static var systemLanguageCode: String = {
 97 |         guard let preferredLanguage = Locale.preferredLanguages.first else { return "en" }
 98 |         let languageComponents = Locale.components(fromIdentifier: preferredLanguage)
    |                                         `- warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
 99 |         let languageCode = languageComponents[NSLocale.Key.languageCode.rawValue]
100 |         return languageCode ?? "en"
/host/spi-builder-workspace/Sources/WikipediaLanguage.swift:129:45: warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
127 |             guard language.hasPrefix("zh") else { continue }
128 |
129 |             let languageComponents = Locale.components(fromIdentifier: language)
    |                                             `- warning: 'components(fromIdentifier:)' is deprecated: Use `Locale.Components(identifier:)` to access components
130 |             let languageCode = languageComponents[NSLocale.Key.languageCode.rawValue]
131 |             guard let variant = languageComponents[NSLocale.Key.scriptCode.rawValue]?.lowercased(),
[27/30] Compiling WikipediaKit Wikipedia+RandomArticles.swift
[28/30] Compiling WikipediaKit Wikipedia+Search.swift
[29/30] Compiling WikipediaKit Wikipedia.swift
[30/30] Compiling WikipediaKit WikipediaArticle.swift
BUILD FAILURE 6.1 android