Build Information
Successful build of Kubrick, reference main (de9b0d
), with Swift 6.0 for macOS (SPM) on 8 Nov 2024 16:29:41 UTC.
Swift 6 data race errors: 23
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
| `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 | var task: URLSessionTask { get }
:
487 |
488 | queueTask(session: session) {
489 | guard let (_, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
| `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
490 | logger.jobTrace {
491 | $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
:
552 | public func execute() async throws -> ResultValue {
553 |
554 | let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
| `- warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
555 |
556 | guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
:
611 | public func execute() async throws -> URLSessionJobResponse {
612 |
613 | let response = try await manager.upload(fromFile: fromFile,
| `- warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
614 | request: request,
615 | onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:45:9: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 |
44 | struct UserNotificationJobInfo {
45 | let future: Future<UNNotificationResponse, Error>
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 | }
47 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'UserNotifications'
11 | import AsyncObjects
12 | import Foundation
13 | import UserNotifications
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'UserNotifications'
14 | import OSLog
15 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
33 | }
34 |
35 | Task { await jobInfo.future.fulfill(producing: response) }
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
36 | }
37 | catch {
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
28 |
29 | do {
30 | guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
| `- warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
31 | // TODO: log
32 | return
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
| `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 | public var id: JobID
19 | public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
28 |
29 | do {
30 | guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
| `- warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
31 | // TODO: log
32 | return
:
42 | }
43 |
44 | struct UserNotificationJobInfo {
| `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
45 | let future: Future<UNNotificationResponse, Error>
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
72 | try await UNUserNotificationCenter.current().add(request)
73 |
74 | return UserNotificationJobInfo(future: Future())
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
75 | }
76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
72 | try await UNUserNotificationCenter.current().add(request)
73 |
74 | return UserNotificationJobInfo(future: Future())
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
75 | }
76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 |
77 | return try await withTaskCancellationHandler {
78 | try await jobInfo.future.get()
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:35: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
78 | try await jobInfo.future.get()
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
81 | }
82 | }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:64:57: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
62 | }
63 |
64 | let extJobKey = ExternalJobKey(directorId: director.id, jobKey: jobKey)
| `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
65 |
66 | let request = UNNotificationRequest(identifier: extJobKey.value,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
18 | /// persistence, etc.)
19 | ///
20 | public struct JobDirectorID: RawRepresentable, Hashable {
| `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
21 |
22 | public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
42 | }
43 |
44 | struct UserNotificationJobInfo {
| `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
45 | let future: Future<UNNotificationResponse, Error>
46 | }
:
68 | trigger: trigger)
69 |
70 | let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
| `- warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
71 |
72 | try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: non-sendable type 'Future<UNNotificationResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
72 | try await UNUserNotificationCenter.current().add(request)
73 |
74 | return UserNotificationJobInfo(future: Future())
| `- warning: non-sendable type 'Future<UNNotificationResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
75 | }
76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
76 |
77 | return try await withTaskCancellationHandler {
78 | try await jobInfo.future.get()
| `- warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:20: warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | struct UserNotificationJobInfo {
| `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
45 | let future: Future<UNNotificationResponse, Error>
46 | }
:
78 | try await jobInfo.future.get()
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
| `- warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
81 | }
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:20: warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in an isolated closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | struct UserNotificationJobInfo {
| `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
45 | let future: Future<UNNotificationResponse, Error>
46 | }
:
78 | try await jobInfo.future.get()
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
| `- warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in an isolated closure; this is an error in the Swift 6 language mode
81 | }
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:87:45: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | guard
86 | let externalJobKey = ExternalJobKey(string: notification.request.identifier),
87 | externalJobKey.directorId == director.id
| `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
88 | else {
89 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
18 | /// persistence, etc.)
19 | ///
20 | public struct JobDirectorID: RawRepresentable, Hashable {
| `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
21 |
22 | public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:91:71: warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
42 | }
43 |
44 | struct UserNotificationJobInfo {
| `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
45 | let future: Future<UNNotificationResponse, Error>
46 | }
:
89 | return nil
90 | }
91 | return (externalJobKey.jobKey, try await notificationJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
| `- warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
92 | }
93 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:113:38: warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
111 | public func execute() async throws -> ResultValue {
112 |
113 | let response = try await manager.show(content: content)
| `- warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
114 |
115 | return try await transform(response)
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:52:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
50 |
51 | if let error {
52 | return await future.fulfill(throwing: error)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
53 | }
54 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:86:20: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
84 |
85 |
86 | await future.fulfill(producing: (url, response))
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
87 | }
88 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:63:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
61 | let httpURL = httpResponse.url
62 | else {
63 | return await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
64 | }
65 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:56:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
54 |
55 | guard let url else {
56 | return await future.fulfill(throwing: URLSessionJobManagerError.downloadedFileMissing)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
57 | }
58 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:105:22: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
103 |
104 | if let error {
105 | await future.fulfill(throwing: error)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
106 | return
107 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:136:20: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
134 | statusCode: httpResponse.statusCode)
135 |
136 | await future.fulfill(producing: response)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
137 | }
138 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:113:22: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
111 | let httpURL = httpResponse.url
112 | else {
113 | await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
114 | return
115 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:192:50: warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
190 | logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
193 |
194 | let downloadTask: URLSessionDownloadTask
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:196:78: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
190 | logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- note: access can happen concurrently
193 |
194 | let downloadTask: URLSessionDownloadTask
195 | if
196 | let (existingTask, existingSession) = await self.findJobTask(jobKey: jobKey),
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'jobKey' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
197 | let existingDownloadTask = existingTask as? URLSessionDownloadTask
198 | {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:209:63: warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
190 | logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- note: access can happen concurrently
193 |
194 | let downloadTask: URLSessionDownloadTask
:
207 | }
208 | else {
209 | downloadTask = self.primarySession.downloadTask(with: request)
| |- warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onStart' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
210 | downloadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
211 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:192:50: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
190 | logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and local actor-isolated uses
193 |
194 | let downloadTask: URLSessionDownloadTask
:
221 | } as! DownloadTaskJobInfo
222 |
223 | logger.jobTrace { $0.debug("[\(jobKey)] Waiting on download") }
| `- note: access can happen concurrently
224 |
225 | if let error = taskJobInfo.task.error {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:319:27: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
317 | let allSessions = [primarySession] + secondardarySessions
318 | for session in allSessions {
319 | if let task = await find(in: session) {
| `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
320 | return (task, session)
321 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:14: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
217 | }
218 |
219 | return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
| `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
220 |
221 | } as! DownloadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:14: warning: sending 'self'-isolated value of type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
217 | }
218 |
219 | return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
| `- warning: sending 'self'-isolated value of type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
220 |
221 | } as! DownloadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:230:36: warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
228 |
229 | return try await withTaskCancellationHandler {
230 | try await taskJobInfo.future.get()
| |- warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'taskJobInfo'-isolated 'taskJobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and 'taskJobInfo'-isolated uses
231 | } onCancel: {
232 | Task { try await cancel(jobKey: jobKey) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:331:32: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
329 | logger.info("[\(jobKey)] Cancelling task")
330 |
331 | try await taskJobInfoCache.valueIfRegistered(for: jobKey)?.task.cancel()
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'valueIfRegistered(for:)' risks causing data races between actor-isolated and 'self'-isolated uses
332 | }
333 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:249:50: warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
247 | logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
250 |
251 | let uploadTask: URLSessionUploadTask
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:283:25: warning: sending 'taskJobInfo' risks causing data races; this is an error in the Swift 6 language mode
281 |
282 | if let error = taskJobInfo.task.error {
283 | await taskJobInfo.finish(response: nil, error: error)
| |- warning: sending 'taskJobInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self.taskJobInfoCache'-isolated 'taskJobInfo' to nonisolated instance method 'finish(response:error:)' risks causing data races between nonisolated and 'self.taskJobInfoCache'-isolated uses
284 | }
285 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:253:78: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
247 | logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- note: access can happen concurrently
250 |
251 | let uploadTask: URLSessionUploadTask
252 | if
253 | let (existingTask, existingSession) = await self.findJobTask(jobKey: jobKey),
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'jobKey' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
254 | let existingUploadTask = existingTask as? URLSessionUploadTask
255 | {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:266:78: warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
247 | logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- note: access can happen concurrently
250 |
251 | let uploadTask: URLSessionUploadTask
:
264 | }
265 | else {
266 | uploadTask = self.primarySession.uploadTask(with: request, fromFile: file)
| |- warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onStart' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
267 | uploadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
268 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:273:19: warning: sending 'onProgress' risks causing data races; this is an error in the Swift 6 language mode
271 | uploadTask.resume()
272 |
273 | try await onStart?(self.director, uploadTask)
| |- warning: sending 'onProgress' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onProgress' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
274 | }
275 |
:
284 | }
285 |
286 | return try await withTaskCancellationHandler {
| `- note: access can happen concurrently
287 | try await taskJobInfo.future.get()
288 | } onCancel: {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:249:50: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
247 | logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and local actor-isolated uses
250 |
251 | let uploadTask: URLSessionUploadTask
:
278 | } as! UploadTaskJobInfo
279 |
280 | logger.jobTrace { $0.debug("[\(jobKey)] Waiting on upload") }
| `- note: access can happen concurrently
281 |
282 | if let error = taskJobInfo.task.error {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:276:14: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
274 | }
275 |
276 | return UploadTaskJobInfo(task: uploadTask, future: .init(), onProgress: onProgress)
| `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
277 |
278 | } as! UploadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:287:36: warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
285 |
286 | return try await withTaskCancellationHandler {
287 | try await taskJobInfo.future.get()
| |- warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'taskJobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
288 | } onCancel: {
289 | Task { try await cancel(jobKey: jobKey) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:301:63: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
299 | return nil
300 | }
301 | return (externalJobKey.jobKey, try await taskJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
| `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
302 | }
303 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:386:28: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
384 | logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
385 |
386 | await owner.director.runAs(jobKey: jobKey) {
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'runAs(jobKey:operation:)' risks causing data races between actor-isolated and 'self'-isolated uses
387 | await taskJobInfo.onProgress?(Int(bytesSent), Int(totalBytesSent), Int(totalBytesExpectedToSend))
388 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:386:28: warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
384 | logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
385 |
386 | await owner.director.runAs(jobKey: jobKey) {
| `- warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
387 | await taskJobInfo.onProgress?(Int(bytesSent), Int(totalBytesSent), Int(totalBytesExpectedToSend))
388 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:413:28: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
411 | logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
412 |
413 | await owner.director.runAs(jobKey: jobKey) {
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'runAs(jobKey:operation:)' risks causing data races between actor-isolated and 'self'-isolated uses
414 | await taskJobInfo.onProgress?(Int(bytesWritten), Int(totalBytesWritten), Int(totalBytesExpectedToWrite))
415 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:413:28: warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
411 | logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
412 |
413 | await owner.director.runAs(jobKey: jobKey) {
| `- warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
414 | await taskJobInfo.onProgress?(Int(bytesWritten), Int(totalBytesWritten), Int(totalBytesExpectedToWrite))
415 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:473:42: warning: sending 'downloadTaskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
471 | logger.jobTrace { $0.trace("[\(task.taskIdentifier)] Reporting copy failure to job") }
472 |
473 | await downloadTaskJobInfo.future.fulfill(throwing: error)
| |- warning: sending 'downloadTaskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'downloadTaskJobInfo'-isolated 'downloadTaskJobInfo.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'downloadTaskJobInfo'-isolated uses
474 | }
475 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
552 | public func execute() async throws -> ResultValue {
553 |
554 | let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
| |- warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.onStart' to actor-isolated instance method 'download(request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
555 |
556 | guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
552 | public func execute() async throws -> ResultValue {
553 |
554 | let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
| |- warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.onProgress' to actor-isolated instance method 'download(request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
555 |
556 | guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
611 | public func execute() async throws -> URLSessionJobResponse {
612 |
613 | let response = try await manager.upload(fromFile: fromFile,
| |- warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.onStart' to actor-isolated instance method 'upload(fromFile:request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
614 | request: request,
615 | onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
611 | public func execute() async throws -> URLSessionJobResponse {
612 |
613 | let response = try await manager.upload(fromFile: fromFile,
| |- warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.onProgress' to actor-isolated instance method 'upload(fromFile:request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
614 | request: request,
615 | onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:48:26: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in conformance of nonisolated property 'id' to protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
46 | @TaskLocal static var currentJobInputResults: JobInputResults?
47 |
48 | public nonisolated let id: ID
| `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in conformance of nonisolated property 'id' to protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
49 | public nonisolated let mode: JobDirectorMode
50 | public nonisolated let injected: JobInjectValues
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
18 | /// persistence, etc.)
19 | ///
20 | public struct JobDirectorID: RawRepresentable, Hashable {
| `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
21 |
22 | public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:91:71: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
89 | return nil
90 | }
91 | return (externalJobKey.jobKey, try await notificationJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
| `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
92 | }
93 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: sending 'response.notification' risks causing data races; this is an error in the Swift 6 language mode
28 |
29 | do {
30 | guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
| |- warning: sending 'response.notification' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'response.notification' to actor-isolated instance method 'findJobInfo(notification:)' risks causing data races between actor-isolated and task-isolated uses
31 | // TODO: log
32 | return
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:14: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
33 | }
34 |
35 | Task { await jobInfo.future.fulfill(producing: response) }
| | | `- note: closure captures non-Sendable 'response'
| | `- note: closure captures non-Sendable 'jobInfo'
| `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
36 | }
37 | catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
33 | }
34 |
35 | Task { await jobInfo.future.fulfill(producing: response) }
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'response' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
36 | }
37 | catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
33 | }
34 |
35 | Task { await jobInfo.future.fulfill(producing: response) }
| |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'jobInfo.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
36 | }
37 | catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
68 | trigger: trigger)
69 |
70 | let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self.director'-isolated 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and 'self.director'-isolated uses
71 |
72 | try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: sending 'self'-isolated value of type '() async throws -> UserNotificationJobManager.UserNotificationJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
68 | trigger: trigger)
69 |
70 | let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
| `- warning: sending 'self'-isolated value of type '() async throws -> UserNotificationJobManager.UserNotificationJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
71 |
72 | try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
76 |
77 | return try await withTaskCancellationHandler {
78 | try await jobInfo.future.get()
| |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'jobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:35: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
78 | try await jobInfo.future.get()
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
| |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'jobInfo.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
81 | }
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:113:38: warning: sending 'self.content' risks causing data races; this is an error in the Swift 6 language mode
111 | public func execute() async throws -> ResultValue {
112 |
113 | let response = try await manager.show(content: content)
| |- warning: sending 'self.content' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.content' to actor-isolated instance method 'show(content:trigger:)' risks causing data races between actor-isolated and task-isolated uses
114 |
115 | return try await transform(response)
[379/379] Compiling Kubrick resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:36:9: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
34 | let task: URLSessionTask
35 | let onProgress: OnProgress?
36 | let future: Future<Result, Error>
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
37 | var url: URL?
38 |
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:39:5: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
37 | var url: URL?
38 |
39 | init(task: URLSessionTask, future: Future<Result, Error>, onProgress: OnProgress?) {
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
40 | self.task = task
41 | self.future = future
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
28 | public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
29 |
30 | actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
| `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
31 |
32 | typealias Result = (fileURL: URL, response: URLSessionJobResponse)
33 |
34 | let task: URLSessionTask
35 | let onProgress: OnProgress?
| `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
36 | let future: Future<Result, Error>
37 | var url: URL?
:
350 |
351 | var task: URLSessionTask { get }
352 | var onProgress: URLSessionJobManager.OnProgress? { get }
| `- note: 'onProgress' declared here
353 |
354 | func finish(response: URLResponse?, error: Error?) async
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:94:9: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
92 | let task: URLSessionTask
93 | let onProgress: OnProgress?
94 | let future: Future<URLSessionJobResponse, Error>
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
95 |
96 | init(task: URLSessionTask, future: Future<URLSessionJobResponse, Error>, onProgress: OnProgress?) {
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:96:5: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
94 | let future: Future<URLSessionJobResponse, Error>
95 |
96 | init(task: URLSessionTask, future: Future<URLSessionJobResponse, Error>, onProgress: OnProgress?) {
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
97 | self.task = task
98 | self.onProgress = onProgress
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:361:12: warning: non-final class 'URLSessionJobManagerDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
359 | // MARK: Delegate
360 |
361 | open class URLSessionJobManagerDelegate: NSObject, URLSessionDownloadDelegate {
| `- warning: non-final class 'URLSessionJobManagerDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
362 |
363 | weak var owner: URLSessionJobManager?
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:363:12: warning: stored property 'owner' of 'Sendable'-conforming class 'URLSessionJobManagerDelegate' is mutable; this is an error in the Swift 6 language mode
361 | open class URLSessionJobManagerDelegate: NSObject, URLSessionDownloadDelegate {
362 |
363 | weak var owner: URLSessionJobManager?
| `- warning: stored property 'owner' of 'Sendable'-conforming class 'URLSessionJobManagerDelegate' is mutable; this is an error in the Swift 6 language mode
364 |
365 | open func urlSession(
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:52:29: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
50 |
51 | if let error {
52 | return await future.fulfill(throwing: error)
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 | }
54 |
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:56:29: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
54 |
55 | guard let url else {
56 | return await future.fulfill(throwing: URLSessionJobManagerError.downloadedFileMissing)
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
57 | }
58 |
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:63:29: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
61 | let httpURL = httpResponse.url
62 | else {
63 | return await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
64 | }
65 |
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:86:20: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
84 |
85 |
86 | await future.fulfill(producing: (url, response))
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
87 | }
88 | }
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:105:22: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
103 |
104 | if let error {
105 | await future.fulfill(throwing: error)
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
106 | return
107 | }
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:113:22: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | let httpURL = httpResponse.url
112 | else {
113 | await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
114 | return
115 | }
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:136:20: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 | statusCode: httpResponse.statusCode)
135 |
136 | await future.fulfill(producing: response)
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
137 | }
138 | }
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:63: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
217 | }
218 |
219 | return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
220 |
221 | } as! DownloadTaskJobInfo
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:230:36: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
228 |
229 | return try await withTaskCancellationHandler {
230 | try await taskJobInfo.future.get()
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
231 | } onCancel: {
232 | Task { try await cancel(jobKey: jobKey) }
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:192:50: warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
190 | logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
193 |
194 | let downloadTask: URLSessionDownloadTask
:
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
| `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 | var task: URLSessionTask { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:210:81: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
208 | else {
209 | downloadTask = self.primarySession.downloadTask(with: request)
210 | downloadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
| `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
211 |
212 | logger.info("[\(jobKey)] Started download task: identifier=\(downloadTask.taskIdentifier)")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
18 | /// persistence, etc.)
19 | ///
20 | public struct JobDirectorID: RawRepresentable, Hashable {
| `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
21 |
22 | public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:63: warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
217 | }
218 |
219 | return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
| `- warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
220 |
221 | } as! DownloadTaskJobInfo
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:230:36: warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
228 |
229 | return try await withTaskCancellationHandler {
230 | try await taskJobInfo.future.get()
| `- warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
231 | } onCancel: {
232 | Task { try await cancel(jobKey: jobKey) }
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:230:29: warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') in implicitly asynchronous access to actor-isolated property 'future' cannot cross actor boundary; this is an error in the Swift 6 language mode
228 |
229 | return try await withTaskCancellationHandler {
230 | try await taskJobInfo.future.get()
| `- warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') in implicitly asynchronous access to actor-isolated property 'future' cannot cross actor boundary; this is an error in the Swift 6 language mode
231 | } onCancel: {
232 | Task { try await cancel(jobKey: jobKey) }
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:232:39: warning: capture of 'jobKey' with non-sendable type 'JobKey' in a `@Sendable` closure; this is an error in the Swift 6 language mode
230 | try await taskJobInfo.future.get()
231 | } onCancel: {
232 | Task { try await cancel(jobKey: jobKey) }
| `- warning: capture of 'jobKey' with non-sendable type 'JobKey' in a `@Sendable` closure; this is an error in the Swift 6 language mode
233 | }
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
| `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 | public var id: JobID
19 | public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:232:39: warning: capture of 'jobKey' with non-sendable type 'JobKey' in an isolated closure; this is an error in the Swift 6 language mode
230 | try await taskJobInfo.future.get()
231 | } onCancel: {
232 | Task { try await cancel(jobKey: jobKey) }
| `- warning: capture of 'jobKey' with non-sendable type 'JobKey' in an isolated closure; this is an error in the Swift 6 language mode
233 | }
234 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
| `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 | public var id: JobID
19 | public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:276:59: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
274 | }
275 |
276 | return UploadTaskJobInfo(task: uploadTask, future: .init(), onProgress: onProgress)
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
277 |
278 | } as! UploadTaskJobInfo
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:287:36: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
285 |
286 | return try await withTaskCancellationHandler {
287 | try await taskJobInfo.future.get()
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
288 | } onCancel: {
289 | Task { try await cancel(jobKey: jobKey) }
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:249:50: warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
247 | logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
250 |
251 | let uploadTask: URLSessionUploadTask
:
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
| `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 | var task: URLSessionTask { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:267:79: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
265 | else {
266 | uploadTask = self.primarySession.uploadTask(with: request, fromFile: file)
267 | uploadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
| `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
268 |
269 | logger.info("[\(jobKey)] Started upload task: identifier=\(uploadTask.taskIdentifier)")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
18 | /// persistence, etc.)
19 | ///
20 | public struct JobDirectorID: RawRepresentable, Hashable {
| `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
21 |
22 | public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:276:59: warning: non-sendable type 'Future<URLSessionJobResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
274 | }
275 |
276 | return UploadTaskJobInfo(task: uploadTask, future: .init(), onProgress: onProgress)
| `- warning: non-sendable type 'Future<URLSessionJobResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
277 |
278 | } as! UploadTaskJobInfo
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:287:36: warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
285 |
286 | return try await withTaskCancellationHandler {
287 | try await taskJobInfo.future.get()
| `- warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
288 | } onCancel: {
289 | Task { try await cancel(jobKey: jobKey) }
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:289:39: warning: capture of 'jobKey' with non-sendable type 'JobKey' in a `@Sendable` closure; this is an error in the Swift 6 language mode
287 | try await taskJobInfo.future.get()
288 | } onCancel: {
289 | Task { try await cancel(jobKey: jobKey) }
| `- warning: capture of 'jobKey' with non-sendable type 'JobKey' in a `@Sendable` closure; this is an error in the Swift 6 language mode
290 | }
291 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
| `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 | public var id: JobID
19 | public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:289:39: warning: capture of 'jobKey' with non-sendable type 'JobKey' in an isolated closure; this is an error in the Swift 6 language mode
287 | try await taskJobInfo.future.get()
288 | } onCancel: {
289 | Task { try await cancel(jobKey: jobKey) }
| `- warning: capture of 'jobKey' with non-sendable type 'JobKey' in an isolated closure; this is an error in the Swift 6 language mode
290 | }
291 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
| `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 | public var id: JobID
19 | public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:297:45: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
295 | let taskDescription = task.taskDescription,
296 | let externalJobKey = ExternalJobKey(string: taskDescription),
297 | externalJobKey.directorId == director.id
| `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
298 | else {
299 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
18 | /// persistence, etc.)
19 | ///
20 | public struct JobDirectorID: RawRepresentable, Hashable {
| `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
21 |
22 | public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:301:63: warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
299 | return nil
300 | }
301 | return (externalJobKey.jobKey, try await taskJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
| `- warning: non-sendable type 'any URLSessionTaskJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
302 | }
303 |
:
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
| `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 | var task: URLSessionTask { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:305:62: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
303 |
304 | func findJobTask(jobKey: JobKey) async -> (URLSessionTask, URLSession)? {
305 | let externalJobKey = ExternalJobKey(directorId: director.id, jobKey: jobKey)
| `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
306 |
307 | func find(in session: URLSession) async -> URLSessionTask? {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
18 | /// persistence, etc.)
19 | ///
20 | public struct JobDirectorID: RawRepresentable, Hashable {
| `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
21 |
22 | public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:331:32: warning: non-sendable type '(any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
329 | logger.info("[\(jobKey)] Cancelling task")
330 |
331 | try await taskJobInfoCache.valueIfRegistered(for: jobKey)?.task.cancel()
| `- warning: non-sendable type '(any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
332 | }
333 |
:
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
| `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 | var task: URLSessionTask { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:377:57: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
375 |
376 | queueTask(session: session) {
377 | guard let (jobKey, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
| `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
378 | logger.jobTrace {
379 | $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
| `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 | public var id: JobID
19 | public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:377:57: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
| `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 | var task: URLSessionTask { get }
:
375 |
376 | queueTask(session: session) {
377 | guard let (jobKey, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
| `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
378 | logger.jobTrace {
379 | $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:404:57: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
402 |
403 | queueTask(session: session) {
404 | guard let (jobKey, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
| `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
405 | logger.jobTrace {
406 | $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
| `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 | public var id: JobID
19 | public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:404:57: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
| `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 | var task: URLSessionTask { get }
:
402 |
403 | queueTask(session: session) {
404 | guard let (jobKey, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
| `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
405 | logger.jobTrace {
406 | $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:473:42: warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
471 | logger.jobTrace { $0.trace("[\(task.taskIdentifier)] Reporting copy failure to job") }
472 |
473 | await downloadTaskJobInfo.future.fulfill(throwing: error)
| `- warning: type 'URLSessionJobResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
474 | }
475 | }
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:468:49: warning: capture of 'result' with non-sendable type 'ExecuteResult<URL>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
466 | logger.jobTrace { $0.trace("[\(task.taskIdentifier)] Reporting url to job") }
467 |
468 | await downloadTaskJobInfo.save(url: try result.get())
| `- warning: capture of 'result' with non-sendable type 'ExecuteResult<URL>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
469 | }
470 | catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobResult.swift:17:13: note: consider making generic enum 'ExecuteResult' conform to the 'Sendable' protocol
15 | #if !DISABLE_RESULT_REPLACE
16 |
17 | public enum ExecuteResult<Success> {
| `- note: consider making generic enum 'ExecuteResult' conform to the 'Sendable' protocol
18 | case success(Success)
19 | case failure(Error)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:453:52: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
451 |
452 | queueTask(session: session) {
453 | guard let (_, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
| `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
454 | logger.jobTrace {
455 | $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
| `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 | public var id: JobID
19 | public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:453:52: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
| `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 | var task: URLSessionTask { get }
:
451 |
452 | queueTask(session: session) {
453 | guard let (_, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
| `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
454 | logger.jobTrace {
455 | $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:473:35: warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') in implicitly asynchronous access to actor-isolated property 'future' cannot cross actor boundary; this is an error in the Swift 6 language mode
471 | logger.jobTrace { $0.trace("[\(task.taskIdentifier)] Reporting copy failure to job") }
472 |
473 | await downloadTaskJobInfo.future.fulfill(throwing: error)
| `- warning: non-sendable type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') in implicitly asynchronous access to actor-isolated property 'future' cannot cross actor boundary; this is an error in the Swift 6 language mode
474 | }
475 | }
:
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:489:52: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
487 |
488 | queueTask(session: session) {
489 | guard let (_, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
| `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
490 | logger.jobTrace {
491 | $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
| `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 | public var id: JobID
19 | public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:489:52: warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
347 | // MARK: Supporting Protocols
348 |
349 | protocol URLSessionTaskJobInfo {
| `- note: protocol 'URLSessionTaskJobInfo' does not conform to the 'Sendable' protocol
350 |
351 | var task: URLSessionTask { get }
:
487 |
488 | queueTask(session: session) {
489 | guard let (_, taskJobInfo) = try await owner.findTaskJobInfo(task: task) else {
| `- warning: non-sendable type '(JobKey, any URLSessionTaskJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
490 | logger.jobTrace {
491 | $0.trace("[\(task.taskIdentifier)] Unrelated task: task-description=\(task.taskDescription ?? "")")
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
:
552 | public func execute() async throws -> ResultValue {
553 |
554 | let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
| `- warning: non-sendable type 'URLSessionJobManager.DownloadTaskJobInfo.Result' (aka '(fileURL: URL, response: URLSessionJobResponse)') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
555 |
556 | guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
514 |
515 |
516 | public struct URLSessionJobResponse: Codable, JobHashable {
| `- note: consider making struct 'URLSessionJobResponse' conform to the 'Sendable' protocol
517 | public var url: URL
518 | public var headers: [String: [String]]
:
611 | public func execute() async throws -> URLSessionJobResponse {
612 |
613 | let response = try await manager.upload(fromFile: fromFile,
| `- warning: non-sendable type 'URLSessionJobResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
614 | request: request,
615 | onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:45:9: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
43 |
44 | struct UserNotificationJobInfo {
45 | let future: Future<UNNotificationResponse, Error>
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
46 | }
47 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'UserNotifications'
11 | import AsyncObjects
12 | import Foundation
13 | import UserNotifications
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'UserNotifications'
14 | import OSLog
15 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
33 | }
34 |
35 | Task { await jobInfo.future.fulfill(producing: response) }
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
36 | }
37 | catch {
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
28 |
29 | do {
30 | guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
| `- warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
31 | // TODO: log
32 | return
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobKey.swift:17:15: note: consider making struct 'JobKey' conform to the 'Sendable' protocol
15 |
16 |
17 | public struct JobKey: Equatable, Hashable, Codable {
| `- note: consider making struct 'JobKey' conform to the 'Sendable' protocol
18 | public var id: JobID
19 | public var fingerprint: Data
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
28 |
29 | do {
30 | guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
| `- warning: non-sendable type '(JobKey, UserNotificationJobManager.UserNotificationJobInfo)?' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
31 | // TODO: log
32 | return
:
42 | }
43 |
44 | struct UserNotificationJobInfo {
| `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
45 | let future: Future<UNNotificationResponse, Error>
46 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
72 | try await UNUserNotificationCenter.current().add(request)
73 |
74 | return UserNotificationJobInfo(future: Future())
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
75 | }
76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
72 | try await UNUserNotificationCenter.current().add(request)
73 |
74 | return UserNotificationJobInfo(future: Future())
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
75 | }
76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 |
77 | return try await withTaskCancellationHandler {
78 | try await jobInfo.future.get()
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:35: warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
78 | try await jobInfo.future.get()
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
| `- warning: type 'UNNotificationResponse' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
81 | }
82 | }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:64:57: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
62 | }
63 |
64 | let extJobKey = ExternalJobKey(directorId: director.id, jobKey: jobKey)
| `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
65 |
66 | let request = UNNotificationRequest(identifier: extJobKey.value,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
18 | /// persistence, etc.)
19 | ///
20 | public struct JobDirectorID: RawRepresentable, Hashable {
| `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
21 |
22 | public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
42 | }
43 |
44 | struct UserNotificationJobInfo {
| `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
45 | let future: Future<UNNotificationResponse, Error>
46 | }
:
68 | trigger: trigger)
69 |
70 | let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
| `- warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
71 |
72 | try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:74:46: warning: non-sendable type 'Future<UNNotificationResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
72 | try await UNUserNotificationCenter.current().add(request)
73 |
74 | return UserNotificationJobInfo(future: Future())
| `- warning: non-sendable type 'Future<UNNotificationResponse, any Error>' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
75 | }
76 |
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
76 |
77 | return try await withTaskCancellationHandler {
78 | try await jobInfo.future.get()
| `- warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:20: warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | struct UserNotificationJobInfo {
| `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
45 | let future: Future<UNNotificationResponse, Error>
46 | }
:
78 | try await jobInfo.future.get()
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
| `- warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
81 | }
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:20: warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in an isolated closure; this is an error in the Swift 6 language mode
42 | }
43 |
44 | struct UserNotificationJobInfo {
| `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
45 | let future: Future<UNNotificationResponse, Error>
46 | }
:
78 | try await jobInfo.future.get()
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
| `- warning: capture of 'jobInfo' with non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' in an isolated closure; this is an error in the Swift 6 language mode
81 | }
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:87:45: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
85 | guard
86 | let externalJobKey = ExternalJobKey(string: notification.request.identifier),
87 | externalJobKey.directorId == director.id
| `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in asynchronous access to nonisolated property 'id' cannot cross actor boundary; this is an error in the Swift 6 language mode
88 | else {
89 | return nil
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
18 | /// persistence, etc.)
19 | ///
20 | public struct JobDirectorID: RawRepresentable, Hashable {
| `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
21 |
22 | public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:91:71: warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
42 | }
43 |
44 | struct UserNotificationJobInfo {
| `- note: consider making struct 'UserNotificationJobInfo' conform to the 'Sendable' protocol
45 | let future: Future<UNNotificationResponse, Error>
46 | }
:
89 | return nil
90 | }
91 | return (externalJobKey.jobKey, try await notificationJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
| `- warning: non-sendable type 'UserNotificationJobManager.UserNotificationJobInfo' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
92 | }
93 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:113:38: warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
111 | public func execute() async throws -> ResultValue {
112 |
113 | let response = try await manager.show(content: content)
| `- warning: non-sendable type 'UNNotificationResponse' returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
114 |
115 | return try await transform(response)
UserNotifications.UNNotificationResponse:2:12: note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.14, *)
2 | open class UNNotificationResponse : NSObject, NSCopying, NSSecureCoding {
| `- note: class 'UNNotificationResponse' does not conform to the 'Sendable' protocol
3 | @NSCopying open var notification: UNNotification { get }
4 | open var actionIdentifier: String { get }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:52:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
50 |
51 | if let error {
52 | return await future.fulfill(throwing: error)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
53 | }
54 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:86:20: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
84 |
85 |
86 | await future.fulfill(producing: (url, response))
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
87 | }
88 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:63:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
61 | let httpURL = httpResponse.url
62 | else {
63 | return await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
64 | }
65 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:56:29: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
54 |
55 | guard let url else {
56 | return await future.fulfill(throwing: URLSessionJobManagerError.downloadedFileMissing)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'self'-isolated uses
57 | }
58 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:105:22: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
103 |
104 | if let error {
105 | await future.fulfill(throwing: error)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
106 | return
107 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:136:20: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
134 | statusCode: httpResponse.statusCode)
135 |
136 | await future.fulfill(producing: response)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
137 | }
138 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:113:22: warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
111 | let httpURL = httpResponse.url
112 | else {
113 | await future.fulfill(throwing: URLSessionJobManagerError.invalidResponse)
| |- warning: sending 'self.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
114 | return
115 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:192:50: warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
190 | logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
193 |
194 | let downloadTask: URLSessionDownloadTask
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:196:78: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
190 | logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- note: access can happen concurrently
193 |
194 | let downloadTask: URLSessionDownloadTask
195 | if
196 | let (existingTask, existingSession) = await self.findJobTask(jobKey: jobKey),
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'jobKey' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
197 | let existingDownloadTask = existingTask as? URLSessionDownloadTask
198 | {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:209:63: warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
190 | logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- note: access can happen concurrently
193 |
194 | let downloadTask: URLSessionDownloadTask
:
207 | }
208 | else {
209 | downloadTask = self.primarySession.downloadTask(with: request)
| |- warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onStart' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
210 | downloadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
211 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:192:50: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
190 | logger.jobTrace { $0.trace("[\(jobKey)] Registering download: request=\(request)") }
191 |
192 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and local actor-isolated uses
193 |
194 | let downloadTask: URLSessionDownloadTask
:
221 | } as! DownloadTaskJobInfo
222 |
223 | logger.jobTrace { $0.debug("[\(jobKey)] Waiting on download") }
| `- note: access can happen concurrently
224 |
225 | if let error = taskJobInfo.task.error {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:319:27: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
317 | let allSessions = [primarySession] + secondardarySessions
318 | for session in allSessions {
319 | if let task = await find(in: session) {
| `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
320 | return (task, session)
321 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:14: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
217 | }
218 |
219 | return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
| `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
220 |
221 | } as! DownloadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:219:14: warning: sending 'self'-isolated value of type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
217 | }
218 |
219 | return DownloadTaskJobInfo(task: downloadTask, future: .init(), onProgress: onProgress)
| `- warning: sending 'self'-isolated value of type 'Future<URLSessionJobManager.DownloadTaskJobInfo.Result, any Error>' (aka 'Future<(fileURL: URL, response: URLSessionJobResponse), any Error>') with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
220 |
221 | } as! DownloadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:230:36: warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
228 |
229 | return try await withTaskCancellationHandler {
230 | try await taskJobInfo.future.get()
| |- warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'taskJobInfo'-isolated 'taskJobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and 'taskJobInfo'-isolated uses
231 | } onCancel: {
232 | Task { try await cancel(jobKey: jobKey) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:331:32: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
329 | logger.info("[\(jobKey)] Cancelling task")
330 |
331 | try await taskJobInfoCache.valueIfRegistered(for: jobKey)?.task.cancel()
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'valueIfRegistered(for:)' risks causing data races between actor-isolated and 'self'-isolated uses
332 | }
333 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:249:50: warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
247 | logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- warning: sending 'self'-isolated value of type '() async throws -> any URLSessionTaskJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
250 |
251 | let uploadTask: URLSessionUploadTask
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:283:25: warning: sending 'taskJobInfo' risks causing data races; this is an error in the Swift 6 language mode
281 |
282 | if let error = taskJobInfo.task.error {
283 | await taskJobInfo.finish(response: nil, error: error)
| |- warning: sending 'taskJobInfo' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self.taskJobInfoCache'-isolated 'taskJobInfo' to nonisolated instance method 'finish(response:error:)' risks causing data races between nonisolated and 'self.taskJobInfoCache'-isolated uses
284 | }
285 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:253:78: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
247 | logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- note: access can happen concurrently
250 |
251 | let uploadTask: URLSessionUploadTask
252 | if
253 | let (existingTask, existingSession) = await self.findJobTask(jobKey: jobKey),
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'jobKey' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
254 | let existingUploadTask = existingTask as? URLSessionUploadTask
255 | {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:266:78: warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
247 | logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| `- note: access can happen concurrently
250 |
251 | let uploadTask: URLSessionUploadTask
:
264 | }
265 | else {
266 | uploadTask = self.primarySession.uploadTask(with: request, fromFile: file)
| |- warning: sending 'onStart' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onStart' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
267 | uploadTask.taskDescription = ExternalJobKey(directorId: self.director.id, jobKey: jobKey).value
268 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:273:19: warning: sending 'onProgress' risks causing data races; this is an error in the Swift 6 language mode
271 | uploadTask.resume()
272 |
273 | try await onStart?(self.director, uploadTask)
| |- warning: sending 'onProgress' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onProgress' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
274 | }
275 |
:
284 | }
285 |
286 | return try await withTaskCancellationHandler {
| `- note: access can happen concurrently
287 | try await taskJobInfo.future.get()
288 | } onCancel: {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:249:50: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
247 | logger.jobTrace { $0.trace("[\(jobKey)] Registering upload: request=\(request)") }
248 |
249 | let taskJobInfo = try await taskJobInfoCache.register(for: jobKey) {
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and local actor-isolated uses
250 |
251 | let uploadTask: URLSessionUploadTask
:
278 | } as! UploadTaskJobInfo
279 |
280 | logger.jobTrace { $0.debug("[\(jobKey)] Waiting on upload") }
| `- note: access can happen concurrently
281 |
282 | if let error = taskJobInfo.task.error {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:276:14: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
274 | }
275 |
276 | return UploadTaskJobInfo(task: uploadTask, future: .init(), onProgress: onProgress)
| `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
277 |
278 | } as! UploadTaskJobInfo
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:287:36: warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
285 |
286 | return try await withTaskCancellationHandler {
287 | try await taskJobInfo.future.get()
| |- warning: sending 'taskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'taskJobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
288 | } onCancel: {
289 | Task { try await cancel(jobKey: jobKey) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:301:63: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
299 | return nil
300 | }
301 | return (externalJobKey.jobKey, try await taskJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
| `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
302 | }
303 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:386:28: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
384 | logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
385 |
386 | await owner.director.runAs(jobKey: jobKey) {
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'runAs(jobKey:operation:)' risks causing data races between actor-isolated and 'self'-isolated uses
387 | await taskJobInfo.onProgress?(Int(bytesSent), Int(totalBytesSent), Int(totalBytesExpectedToSend))
388 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:386:28: warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
384 | logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
385 |
386 | await owner.director.runAs(jobKey: jobKey) {
| `- warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
387 | await taskJobInfo.onProgress?(Int(bytesSent), Int(totalBytesSent), Int(totalBytesExpectedToSend))
388 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:413:28: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
411 | logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
412 |
413 | await owner.director.runAs(jobKey: jobKey) {
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'jobKey' to actor-isolated instance method 'runAs(jobKey:operation:)' risks causing data races between actor-isolated and 'self'-isolated uses
414 | await taskJobInfo.onProgress?(Int(bytesWritten), Int(totalBytesWritten), Int(totalBytesExpectedToWrite))
415 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:413:28: warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
411 | logger.jobTrace { $0.debug("[\(task.taskIdentifier)] Reporting progress to job handler") }
412 |
413 | await owner.director.runAs(jobKey: jobKey) {
| `- warning: sending 'self'-isolated value of type '() async -> Void' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
414 | await taskJobInfo.onProgress?(Int(bytesWritten), Int(totalBytesWritten), Int(totalBytesExpectedToWrite))
415 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:473:42: warning: sending 'downloadTaskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
471 | logger.jobTrace { $0.trace("[\(task.taskIdentifier)] Reporting copy failure to job") }
472 |
473 | await downloadTaskJobInfo.future.fulfill(throwing: error)
| |- warning: sending 'downloadTaskJobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'downloadTaskJobInfo'-isolated 'downloadTaskJobInfo.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and 'downloadTaskJobInfo'-isolated uses
474 | }
475 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
552 | public func execute() async throws -> ResultValue {
553 |
554 | let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
| |- warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.onStart' to actor-isolated instance method 'download(request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
555 |
556 | guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:554:49: warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
552 | public func execute() async throws -> ResultValue {
553 |
554 | let (fileURL, response) = try await manager.download(request: request, onStart: onStart, onProgress: onProgress)
| |- warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.onProgress' to actor-isolated instance method 'download(request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
555 |
556 | guard (200 ..< 299).contains(response.statusCode) else {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
611 | public func execute() async throws -> URLSessionJobResponse {
612 |
613 | let response = try await manager.upload(fromFile: fromFile,
| |- warning: sending 'self.onStart' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.onStart' to actor-isolated instance method 'upload(fromFile:request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
614 | request: request,
615 | onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:613:38: warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
611 | public func execute() async throws -> URLSessionJobResponse {
612 |
613 | let response = try await manager.upload(fromFile: fromFile,
| |- warning: sending 'self.onProgress' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.onProgress' to actor-isolated instance method 'upload(fromFile:request:onStart:onProgress:)' risks causing data races between actor-isolated and task-isolated uses
614 | request: request,
615 | onStart: onStart,
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:48:26: warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in conformance of nonisolated property 'id' to protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
46 | @TaskLocal static var currentJobInputResults: JobInputResults?
47 |
48 | public nonisolated let id: ID
| `- warning: non-sendable type 'JobDirector.ID' (aka 'JobDirectorID') in conformance of nonisolated property 'id' to protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
49 | public nonisolated let mode: JobDirectorMode
50 | public nonisolated let injected: JobInjectValues
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirectorID.swift:20:15: note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
18 | /// persistence, etc.)
19 | ///
20 | public struct JobDirectorID: RawRepresentable, Hashable {
| `- note: consider making struct 'JobDirectorID' conform to the 'Sendable' protocol
21 |
22 | public private(set) var rawValue: String
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:91:71: warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
89 | return nil
90 | }
91 | return (externalJobKey.jobKey, try await notificationJobInfoCache.valueWhenAvailable(for: externalJobKey.jobKey))
| `- warning: pattern that the region based isolation checker does not understand how to check. Please file a bug; this is an error in the Swift 6 language mode
92 | }
93 |
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:30:50: warning: sending 'response.notification' risks causing data races; this is an error in the Swift 6 language mode
28 |
29 | do {
30 | guard let (_, jobInfo) = try await owner.findJobInfo(notification: response.notification) else {
| |- warning: sending 'response.notification' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'response.notification' to actor-isolated instance method 'findJobInfo(notification:)' risks causing data races between actor-isolated and task-isolated uses
31 | // TODO: log
32 | return
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:14: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
33 | }
34 |
35 | Task { await jobInfo.future.fulfill(producing: response) }
| | | `- note: closure captures non-Sendable 'response'
| | `- note: closure captures non-Sendable 'jobInfo'
| `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
36 | }
37 | catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
33 | }
34 |
35 | Task { await jobInfo.future.fulfill(producing: response) }
| |- warning: sending 'response' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'response' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
36 | }
37 | catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:35:37: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
33 | }
34 |
35 | Task { await jobInfo.future.fulfill(producing: response) }
| |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'jobInfo.future' to actor-isolated instance method 'fulfill(producing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
36 | }
37 | catch {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
68 | trigger: trigger)
69 |
70 | let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
| |- warning: sending 'jobKey' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self.director'-isolated 'jobKey' to actor-isolated instance method 'register(for:initializer:)' risks causing data races between actor-isolated and 'self.director'-isolated uses
71 |
72 | try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:70:54: warning: sending 'self'-isolated value of type '() async throws -> UserNotificationJobManager.UserNotificationJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
68 | trigger: trigger)
69 |
70 | let jobInfo = try await notificationJobInfoCache.register(for: jobKey) {
| `- warning: sending 'self'-isolated value of type '() async throws -> UserNotificationJobManager.UserNotificationJobInfo' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
71 |
72 | try await UNUserNotificationCenter.current().add(request)
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:78:32: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
76 |
77 | return try await withTaskCancellationHandler {
78 | try await jobInfo.future.get()
| |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'jobInfo.future' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:80:35: warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
78 | try await jobInfo.future.get()
79 | } onCancel: {
80 | Task { await jobInfo.future.fulfill(throwing: CancellationError()) }
| |- warning: sending 'jobInfo.future' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'jobInfo.future' to actor-isolated instance method 'fulfill(throwing:file:function:line:)' risks causing data races between actor-isolated and task-isolated uses
81 | }
82 | }
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/UserNotificationJobManager.swift:113:38: warning: sending 'self.content' risks causing data races; this is an error in the Swift 6 language mode
111 | public func execute() async throws -> ResultValue {
112 |
113 | let response = try await manager.show(content: content)
| |- warning: sending 'self.content' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self.content' to actor-isolated instance method 'show(content:trigger:)' risks causing data races between actor-isolated and task-isolated uses
114 |
115 | return try await transform(response)
Build complete! (77.25s)
Build complete.
{
"dependencies" : [
{
"identity" : "asyncobjects",
"requirement" : {
"range" : [
{
"lower_bound" : "2.1.0",
"upper_bound" : "2.2.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/SwiftyLab/AsyncObjects.git"
},
{
"identity" : "potentcodables",
"requirement" : {
"range" : [
{
"lower_bound" : "3.2.0",
"upper_bound" : "3.3.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/outfoxx/potentcodables.git"
},
{
"identity" : "swiftfriendlyid",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.1",
"upper_bound" : "1.4.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/kdubb/SwiftFriendlyId.git"
},
{
"identity" : "iostreams",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.2",
"upper_bound" : "1.5.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/outfoxx/IOStreams.git"
},
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.3.0",
"upper_bound" : "1.4.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "Kubrick",
"name" : "Kubrick",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
}
],
"products" : [
{
"name" : "Kubrick",
"targets" : [
"Kubrick"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Kubrick",
"module_type" : "SwiftTarget",
"name" : "Kubrick",
"path" : "Sources/Kubrick",
"product_dependencies" : [
"AsyncObjects",
"IOStreams",
"PotentCodables",
"FriendlyId"
],
"product_memberships" : [
"Kubrick"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/Kubrick.docc",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"AssistantsWatcher.swift",
"Base64URL.swift",
"BatchJob.swift",
"CatchJob.swift",
"DirectoryWatcher.swift",
"DynamicJobDirector.swift",
"ExecutableJob.swift",
"ExternalJobKey.swift",
"FileHandles.swift",
"Job.swift",
"JobBinding.swift",
"JobBuilder.swift",
"JobCodable.swift",
"JobDirector.swift",
"JobDirectorID.swift",
"JobDirectorMode.swift",
"JobDirectorStore.swift",
"JobEnvironment.swift",
"JobEnvironmentValue.swift",
"JobError.swift",
"JobErrorBox.swift",
"JobExecutionError.swift",
"JobHashable.swift",
"JobHasher.swift",
"JobID.swift",
"JobInject.swift",
"JobInjectManagable.swift",
"JobInput.swift",
"JobInputDescriptor.swift",
"JobInputResults.swift",
"JobKey.swift",
"JobResult.swift",
"JobTransferError.swift",
"JobValue.swift",
"Logging.swift",
"MapJob.swift",
"NoValue.swift",
"RegEx.swift",
"RegisterCache.swift",
"ResultJob.swift",
"RetryJob.swift",
"SubmittableJob.swift",
"SubmittableJobStore.swift",
"Tasks.swift",
"TimeDuration.swift",
"TypeResolvers.swift",
"URLSessionJobManager.swift",
"UUIDs.swift",
"UniqueID.swift",
"UserNotificationJobManager.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/outfoxx/kubrick/main
Repository: outfoxx/Kubrick
Swift version used: 6.0
.package(url: "https://github.com/apple/swift-docc-plugin", .upToNextMinor(from: "1.3.0"))
Target: Kubrick
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
* branch 88815688627177b9716a01ca41da19397bd30e47 -> FETCH_HEAD
HEAD is now at 8881568 Update the artifact
Generating documentation for 'Kubrick'...
Converting documentation...
Conversion complete! (0.39s)
Generated DocC archive at '/Users/admin/builder/spi-builder-workspace/.docs/outfoxx/kubrick/main'
Building for debugging...
[0/8] Write sources
[3/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version--7754E27361AE5C74.txt
[6/53] Compiling SymbolKit Names.swift
[7/53] Compiling SymbolKit SPI.swift
[8/53] Compiling SymbolKit Snippet.swift
[9/53] Compiling SymbolKit Extension.swift
[10/57] Emitting module SymbolKit
[11/57] Compiling SymbolKit SemanticVersion.swift
[12/57] Compiling SymbolKit AccessControl.swift
[13/57] Compiling SymbolKit Availability.swift
[14/57] Compiling SymbolKit AvailabilityItem.swift
[15/57] Compiling SymbolKit Domain.swift
[16/57] Compiling SymbolKit GenericConstraint.swift
[17/57] Compiling SymbolKit GenericParameter.swift
[18/57] Compiling SymbolKit Generics.swift
[19/57] Compiling SymbolKit Namespace.swift
[20/57] Compiling SymbolKit DeclarationFragments.swift
[21/57] Compiling SymbolKit Fragment.swift
[22/57] Compiling SymbolKit FragmentKind.swift
[23/57] Compiling SymbolKit FunctionParameter.swift
[24/57] Compiling SymbolKit FunctionSignature.swift
[25/57] Compiling SymbolKit Mixin+Equals.swift
[26/57] Compiling SymbolKit Mixin+Hash.swift
[27/57] Compiling SymbolKit Mixin.swift
[28/57] Compiling SymbolKit LineList.swift
[29/57] Compiling SymbolKit Position.swift
[30/57] Compiling SymbolKit Relationship.swift
[31/57] Compiling SymbolKit RelationshipKind.swift
[32/57] Compiling SymbolKit SourceOrigin.swift
[33/57] Compiling SymbolKit GenericConstraints.swift
[34/57] Compiling SymbolKit Swift.swift
[35/57] Compiling SymbolKit SourceRange.swift
[36/57] Compiling SymbolKit Metadata.swift
[37/57] Compiling SymbolKit Module.swift
[38/57] Compiling SymbolKit OperatingSystem.swift
[39/57] Compiling SymbolKit Platform.swift
[40/57] Compiling SymbolKit Identifier.swift
[41/57] Compiling SymbolKit KindIdentifier.swift
[42/57] Compiling SymbolKit Location.swift
[43/57] Compiling SymbolKit Mutability.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Emitting module Snippets
[53/57] Compiling Snippets Snippet.swift
[54/57] Compiling Snippets SnippetParser.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SnippetBuildCommand.swift
[57/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.89s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/115] Compiling Atomics Primitives.native.swift
[3/116] Compiling OrderedCollections OrderedDictionary+CustomDebugStringConvertible.swift
[4/116] Compiling OrderedCollections OrderedSet+Equatable.swift
[5/117] Compiling RealModule Float80+Real.swift
[6/117] Compiling RealModule Real.swift
[7/118] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[8/118] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[9/118] Compiling OrderedCollections OrderedSet+Diffing.swift
[10/118] Compiling OrderedCollections OrderedSet+Invariants.swift
[11/118] Compiling RealModule RealFunctions.swift
[12/118] Compiling RealModule Float16+Real.swift
[13/118] Compiling RealModule Float+Real.swift
[14/118] Compiling RealModule ElementaryFunctions.swift
[15/118] Compiling RealModule Double+Real.swift
[16/118] Compiling RealModule AugmentedArithmetic.swift
[17/118] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[18/118] Compiling OrderedCollections _HashTable.swift
[19/118] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[20/118] Compiling OrderedCollections OrderedSet+Hashable.swift
[24/118] Compiling OrderedCollections OrderedSet+Initializers.swift
[25/118] Compiling OrderedCollections OrderedSet+Insertions.swift
[28/123] Compiling RealModule ApproximateEquality.swift
[29/123] Compiling RealModule AlgebraicField.swift
[30/123] Emitting module RealModule
[31/123] Compiling ArgumentParserToolInfo ToolInfo.swift
[32/123] Emitting module ArgumentParserToolInfo
[33/123] Compiling DequeModule _UnsafeWrappedBuffer.swift
[34/123] Compiling Atomics PointerConformances.swift
[35/127] Compiling OrderedCollections OrderedSet+Codable.swift
[36/127] Compiling OrderedCollections OrderedSet+CustomDebugStringConvertible.swift
[37/127] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[38/127] Compiling OrderedCollections OrderedSet+CustomStringConvertible.swift
[43/127] Compiling OrderedCollections _Hashtable+Header.swift
[44/127] Compiling OrderedCollections OrderedDictionary+Codable.swift
[54/127] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[55/127] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[56/127] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[57/127] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[58/127] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[59/127] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Predicates.swift
[60/127] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[61/127] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[62/127] Compiling OrderedCollections OrderedSet+SubSequence.swift
[63/127] Compiling OrderedCollections OrderedSet+Testing.swift
[64/127] Compiling OrderedCollections _HashTable+Bucket.swift
[65/127] Compiling OrderedCollections _HashTable+BucketIterator.swift
[66/127] Compiling OrderedCollections _HashTable+Constants.swift
[67/127] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[68/127] Compiling OrderedCollections _HashTable+Testing.swift
[69/127] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
[70/127] Compiling OrderedCollections OrderedDictionary+CustomStringConvertible.swift
[71/127] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[72/127] Compiling OrderedCollections OrderedDictionary+Elements+SubSequence.swift
[73/127] Compiling OrderedCollections OrderedDictionary+Elements.swift
[77/127] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[78/127] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Operations.swift
[79/127] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[80/127] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[81/127] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[82/127] Compiling OrderedCollections OrderedDictionary+Values.swift
[83/127] Compiling OrderedCollections OrderedDictionary.swift
[86/127] Compiling Atomics IntegerConformances.swift
[89/162] Compiling ArgumentParser Name.swift
[90/162] Compiling ArgumentParser Argument.swift
[91/164] Compiling ArgumentParser OptionGroup.swift
[92/164] Compiling ArgumentParser ParsableArgumentsValidation.swift
[93/164] Compiling ArgumentParser NameSpecification.swift
[94/164] Compiling ArgumentParser Option.swift
[95/164] Compiling ArgumentParser Errors.swift
[96/164] Compiling ArgumentParser Flag.swift
[97/164] Compiling ArgumentParser ArgumentHelp.swift
[98/164] Compiling ArgumentParser CompletionKind.swift
[99/164] Compiling ArgumentParser CommandParser.swift
[100/164] Compiling ArgumentParser InputOrigin.swift
[101/164] Compiling ArgumentParser BashCompletionsGenerator.swift
[102/164] Compiling ArgumentParser CompletionsGenerator.swift
[103/164] Compiling ArgumentParser FishCompletionsGenerator.swift
[104/164] Compiling ArgumentParser ZshCompletionsGenerator.swift
[105/164] Compiling ArgumentParser DumpHelpGenerator.swift
[106/164] Emitting module BigInt
[110/164] Emitting module DequeModule
[111/164] Compiling Atomics Primitives.shims.swift
[112/164] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[113/164] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[114/164] Compiling OrderedCollections OrderedSet.swift
[115/164] Compiling OrderedCollections RandomAccessCollection+Offsets.swift
[116/164] Compiling OrderedCollections _UnsafeBitset.swift
[117/164] Compiling Float16 float16.swift
[118/164] Compiling Float16 Real.swift
[119/164] Emitting module Float16
[120/164] Compiling Float16 Concurrency.swift
[123/164] Compiling ArgumentParser HelpCommand.swift
[124/164] Compiling ArgumentParser HelpGenerator.swift
[125/164] Compiling ArgumentParser ArgumentSet.swift
[126/164] Emitting module ArgumentParser
[127/164] Compiling ArgumentParser MessageInfo.swift
[128/164] Compiling ArgumentParser UsageGenerator.swift
[129/164] Compiling ArgumentParser CollectionExtensions.swift
[130/167] Emitting module Atomics
[131/167] Compiling ArgumentParser CommandConfiguration.swift
[132/167] Compiling ArgumentParser EnumerableFlag.swift
[133/167] Compiling ArgumentParser ExpressibleByArgument.swift
[134/167] Compiling ArgumentParser ParsableArguments.swift
[135/167] Compiling ArgumentParser Parsed.swift
[136/167] Compiling ArgumentParser ParsedValues.swift
[137/167] Compiling ArgumentParser ParserError.swift
[138/167] Compiling ArgumentParser SplitArguments.swift
[139/167] Emitting module OrderedCollections
[140/167] Compiling BigInt Subtraction.swift
[141/167] Compiling BigInt Words and Bits.swift
[160/167] Compiling ArgumentParser ArgumentDefinition.swift
[165/209] Compiling Collections Collections.swift
[166/209] Emitting module Collections
[167/230] Compiling IOStreams Stream.swift
[168/231] Compiling ArgumentParser SequenceExtensions.swift
[169/231] Compiling ArgumentParser StringExtensions.swift
[170/231] Compiling ArgumentParser Tree.swift
[171/231] Compiling PotentCodables AnyValueDecoder.swift
[172/231] Compiling PotentCodables KeyStrategy.swift
[173/231] Compiling PotentCodables KeyedNestedDecoder.swift
[174/233] Compiling IOStreams Source.swift
[175/233] Compiling IOStreams Sink.swift
[176/233] Compiling IOStreams IOError.swift
[177/238] Compiling PotentCodables Errors.swift
[178/238] Compiling PotentCodables Float16.swift
[179/238] Compiling PotentCodables KeyedNestedEncoder.swift
[180/238] Compiling PotentCodables Refs.swift
[181/238] Compiling PotentCodables AnyValueEncoder.swift
[182/238] Compiling PotentCodables DecoderSupport.swift
[183/238] Compiling PotentCodables TreeValueDecodingContainer.swift
[184/238] Compiling PotentCodables Value.swift
[185/238] Emitting module IOStreams
[186/238] Compiling PotentCodables ValueTransformer.swift
[187/238] Compiling PotentCodables ValueTransformerProviding.swift
[188/238] Compiling AsyncObjects Exclusible.swift
[189/238] Compiling AsyncObjects Locker.swift
[190/238] Compiling PotentCodables ValueEncoder.swift
[191/238] Compiling AsyncObjects ContinuableCollectionActor.swift
[192/238] Compiling AsyncObjects GlobalContinuation.swift
[193/238] Compiling PotentCodables TimeZone.swift
[194/238] Compiling PotentCodables TopLevel.swift
[195/238] Compiling PotentCodables ValueDecoder.swift
[198/238] Compiling PotentCodables EncoderSupport.swift
[202/238] Compiling PotentCodables AnyCodingKey.swift
[203/238] Compiling PotentCodables AnyValue.swift
[209/238] Compiling IOStreams URLSessionStreams.swift
[210/238] Emitting module AsyncObjects
[211/238] Compiling FriendlyId Id.swift
[212/238] Compiling FriendlyId FriendlyId.swift
[213/238] Emitting module FriendlyId
[214/238] Compiling FriendlyId BigUints.swift
[215/238] Compiling FriendlyId Base62.swift
[216/238] Compiling AsyncObjects TaskQueue.swift
[217/238] Compiling AsyncObjects TaskTracker.swift
[218/238] Emitting module PotentCodables
[219/240] Compiling PotentCodables ZonedDate.swift
[220/240] Compiling PotentCodables resource_bundle_accessor.swift
[241/281] Compiling PotentASN1 Tagged.swift
[242/282] Compiling PotentYAML YAMLWriter.swift
[243/282] Compiling PotentYAML YAMLSerialization.swift
[244/282] Compiling PotentJSON JSONWriter.swift
[245/282] Compiling PotentJSON JSONSerialization.swift
[246/282] Compiling PotentASN1 SchemaState.swift
[247/282] Compiling PotentCBOR CBORStream.swift
[248/282] Compiling PotentCBOR CBORWriter.swift
[249/282] Compiling PotentCBOR CBORSerialization.swift
[250/282] Compiling PotentJSON JSONReader.swift
[251/282] Compiling PotentYAML YAMLReader.swift
[252/282] Compiling PotentASN1 TaggedValue.swift
[253/282] Compiling PotentASN1 BigInts.swift
[254/282] Compiling PotentASN1 BitString.swift
[255/282] Compiling PotentASN1 AnyString.swift
[256/282] Compiling PotentASN1 AnyTime.swift
[257/282] Compiling PotentJSON JSON.swift
[258/282] Compiling PotentJSON Errors.swift
[259/282] Emitting module PotentJSON
[260/282] Compiling PotentYAML YAMLEncoder.swift
[261/282] Emitting module PotentYAML
[262/282] Compiling PotentYAML Errors.swift
[263/282] Compiling PotentYAML YAMLDecoder.swift
[264/282] Compiling PotentYAML YAML.swift
[265/282] Compiling PotentASN1 Dates.swift
[266/282] Compiling PotentASN1 ObjectIdentifier.swift
[267/282] Compiling PotentASN1 Schema.swift
[268/282] Compiling PotentASN1 SchemaSpecified.swift
[269/282] Compiling PotentJSON JSONDecoder.swift
[270/282] Compiling PotentJSON JSONEncoder.swift
[271/282] Compiling PotentASN1 ASN1Encoder.swift
[272/282] Compiling PotentASN1 ASN1Serialization.swift
[273/282] Compiling PotentCBOR CBORReader.swift
[274/282] Compiling PotentCBOR CBORDecoder.swift
[275/282] Compiling PotentCBOR CBOREncoder.swift
[276/282] Emitting module PotentCBOR
[277/282] Compiling PotentCBOR CBOR.swift
[278/282] Compiling PotentASN1 ASN1DERWriter.swift
[279/282] Compiling PotentASN1 ASN1Decoder.swift
[280/282] Emitting module PotentASN1
[281/282] Compiling PotentASN1 ASN1.swift
[282/282] Compiling PotentASN1 ASN1DERReader.swift
[283/329] Compiling Kubrick JobResult.swift
[284/329] Compiling Kubrick JobTransferError.swift
[285/329] Compiling Kubrick JobValue.swift
[286/329] Compiling Kubrick Logging.swift
[287/329] Compiling Kubrick MapJob.swift
[288/334] Compiling Kubrick JobInjectManagable.swift
[289/334] Compiling Kubrick JobInput.swift
[290/334] Compiling Kubrick JobInputDescriptor.swift
[291/334] Compiling Kubrick JobInputResults.swift
[292/334] Compiling Kubrick JobKey.swift
[293/334] Compiling Kubrick SubmittableJob.swift
[294/334] Compiling Kubrick SubmittableJobStore.swift
[295/334] Compiling Kubrick Tasks.swift
[296/334] Compiling Kubrick TimeDuration.swift
[297/334] Compiling Kubrick TypeResolvers.swift
[298/334] Compiling Kubrick NoValue.swift
[299/334] Compiling Kubrick RegEx.swift
[300/334] Compiling Kubrick RegisterCache.swift
[301/334] Compiling Kubrick ResultJob.swift
[302/334] Compiling Kubrick RetryJob.swift
[303/334] Compiling Kubrick JobExecutionError.swift
[304/334] Compiling Kubrick JobHashable.swift
[305/334] Compiling Kubrick JobHasher.swift
[306/334] Compiling Kubrick JobID.swift
[307/334] Compiling Kubrick JobInject.swift
[308/334] Compiling Kubrick ExecutableJob.swift
[309/334] Compiling Kubrick ExternalJobKey.swift
[310/334] Compiling Kubrick FileHandles.swift
[311/334] Compiling Kubrick Job.swift
[312/334] Compiling Kubrick JobBinding.swift
[313/334] Compiling Kubrick JobDirectorStore.swift
[314/334] Compiling Kubrick JobEnvironment.swift
[315/334] Compiling Kubrick JobEnvironmentValue.swift
[316/334] Compiling Kubrick JobError.swift
[317/334] Compiling Kubrick JobErrorBox.swift
[318/334] Emitting module Kubrick
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
190 |
191 | public var description: String {
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
28 | public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
29 |
30 | actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
| `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
31 |
32 | typealias Result = (fileURL: URL, response: URLSessionJobResponse)
33 |
34 | let task: URLSessionTask
35 | let onProgress: OnProgress?
| `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
36 | let future: Future<Result, Error>
37 | var url: URL?
:
350 |
351 | var task: URLSessionTask { get }
352 | var onProgress: URLSessionJobManager.OnProgress? { get }
| `- note: 'onProgress' declared here
353 |
354 | func finish(response: URLResponse?, error: Error?) async
[319/334] Compiling Kubrick JobBuilder.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:342:25: warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
340 | jobTask { [self] in
341 | do {
342 | let jobHandle = try FileHandle(forDirectory: store.url(for: .jobPackage(id: jobID)))
| | `- note: property access is 'async'
| `- warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
343 | try jobHandle.lock()
344 | defer { try? jobHandle.unlock() }
[320/334] Compiling Kubrick JobCodable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:342:25: warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
340 | jobTask { [self] in
341 | do {
342 | let jobHandle = try FileHandle(forDirectory: store.url(for: .jobPackage(id: jobID)))
| | `- note: property access is 'async'
| `- warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
343 | try jobHandle.lock()
344 | defer { try? jobHandle.unlock() }
[321/334] Compiling Kubrick JobDirector.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:342:25: warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
340 | jobTask { [self] in
341 | do {
342 | let jobHandle = try FileHandle(forDirectory: store.url(for: .jobPackage(id: jobID)))
| | `- note: property access is 'async'
| `- warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
343 | try jobHandle.lock()
344 | defer { try? jobHandle.unlock() }
[322/334] Compiling Kubrick JobDirectorID.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:342:25: warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
340 | jobTask { [self] in
341 | do {
342 | let jobHandle = try FileHandle(forDirectory: store.url(for: .jobPackage(id: jobID)))
| | `- note: property access is 'async'
| `- warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
343 | try jobHandle.lock()
344 | defer { try? jobHandle.unlock() }
[323/334] Compiling Kubrick JobDirectorMode.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/JobDirector.swift:342:25: warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
340 | jobTask { [self] in
341 | do {
342 | let jobHandle = try FileHandle(forDirectory: store.url(for: .jobPackage(id: jobID)))
| | `- note: property access is 'async'
| `- warning: expression is 'async' but is not marked with 'await'; this is an error in the Swift 6 language mode
343 | try jobHandle.lock()
344 | defer { try? jobHandle.unlock() }
[324/334] Compiling Kubrick AssistantsWatcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
190 |
191 | public var description: String {
[325/334] Compiling Kubrick Base64URL.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
190 |
191 | public var description: String {
[326/334] Compiling Kubrick BatchJob.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
190 |
191 | public var description: String {
[327/334] Compiling Kubrick CatchJob.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
190 |
191 | public var description: String {
[328/334] Compiling Kubrick DirectoryWatcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
190 |
191 | public var description: String {
[329/334] Compiling Kubrick DynamicJobDirector.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/DirectoryWatcher.swift:189:1: warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
187 | }
188 |
189 | extension DispatchSource.FileSystemEvent: CustomStringConvertible {
| |- warning: extension declares a conformance of imported type 'FileSystemEvent' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Dispatch' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
190 |
191 | public var description: String {
[330/334] Compiling Kubrick URLSessionJobManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
28 | public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
29 |
30 | actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
| `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
31 |
32 | typealias Result = (fileURL: URL, response: URLSessionJobResponse)
33 |
34 | let task: URLSessionTask
35 | let onProgress: OnProgress?
| `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
36 | let future: Future<Result, Error>
37 | var url: URL?
:
350 |
351 | var task: URLSessionTask { get }
352 | var onProgress: URLSessionJobManager.OnProgress? { get }
| `- note: 'onProgress' declared here
353 |
354 | func finish(response: URLResponse?, error: Error?) async
[331/334] Compiling Kubrick UUIDs.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
28 | public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
29 |
30 | actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
| `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
31 |
32 | typealias Result = (fileURL: URL, response: URLSessionJobResponse)
33 |
34 | let task: URLSessionTask
35 | let onProgress: OnProgress?
| `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
36 | let future: Future<Result, Error>
37 | var url: URL?
:
350 |
351 | var task: URLSessionTask { get }
352 | var onProgress: URLSessionJobManager.OnProgress? { get }
| `- note: 'onProgress' declared here
353 |
354 | func finish(response: URLResponse?, error: Error?) async
[332/334] Compiling Kubrick UniqueID.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
28 | public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
29 |
30 | actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
| `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
31 |
32 | typealias Result = (fileURL: URL, response: URLSessionJobResponse)
33 |
34 | let task: URLSessionTask
35 | let onProgress: OnProgress?
| `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
36 | let future: Future<Result, Error>
37 | var url: URL?
:
350 |
351 | var task: URLSessionTask { get }
352 | var onProgress: URLSessionJobManager.OnProgress? { get }
| `- note: 'onProgress' declared here
353 |
354 | func finish(response: URLResponse?, error: Error?) async
[333/334] Compiling Kubrick UserNotificationJobManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
28 | public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
29 |
30 | actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
| `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
31 |
32 | typealias Result = (fileURL: URL, response: URLSessionJobResponse)
33 |
34 | let task: URLSessionTask
35 | let onProgress: OnProgress?
| `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
36 | let future: Future<Result, Error>
37 | var url: URL?
:
350 |
351 | var task: URLSessionTask { get }
352 | var onProgress: URLSessionJobManager.OnProgress? { get }
| `- note: 'onProgress' declared here
353 |
354 | func finish(response: URLResponse?, error: Error?) async
[334/334] Compiling Kubrick resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/Kubrick/URLSessionJobManager.swift:35:9: warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
28 | public typealias OnProgress = (_ progressedBytes: Int, _ transferredBytes: Int, _ totalBytes: Int) async -> Void
29 |
30 | actor DownloadTaskJobInfo: URLSessionTaskJobInfo {
| `- note: add '@preconcurrency' to the 'URLSessionTaskJobInfo' conformance to defer isolation checking to run time
31 |
32 | typealias Result = (fileURL: URL, response: URLSessionJobResponse)
33 |
34 | let task: URLSessionTask
35 | let onProgress: OnProgress?
| `- warning: actor-isolated property 'onProgress' cannot be used to satisfy nonisolated protocol requirement; this is an error in the Swift 6 language mode
36 | let future: Future<Result, Error>
37 | var url: URL?
:
350 |
351 | var task: URLSessionTask { get }
352 | var onProgress: URLSessionJobManager.OnProgress? { get }
| `- note: 'onProgress' declared here
353 |
354 | func finish(response: URLResponse?, error: Error?) async
Build of target: 'Kubrick' complete! (8.81s)
1317
11 /Users/admin/builder/spi-builder-workspace/.docs/outfoxx/kubrick/main
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/outfoxx/kubrick/main
File count: 1317
Doc size: 11.0MB
Preparing doc bundle ...
Uploading prod-outfoxx-kubrick-main-a037773b.zip to s3://spi-docs-inbox/prod-outfoxx-kubrick-main-a037773b.zip
Copying... [11%]
Copying... [21%]
Copying... [31%]
Copying... [41%]
Copying... [50%]
Copying... [60%]
Copying... [72%]
Copying... [81%]
Copying... [91%]
Copying... [100%]
Done.