The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Failed to build Siesta, reference 1.5.2 (43f340), with Swift 6.0 for Linux on 27 Nov 2024 20:08:01 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
265 |
266 |     /// Transformation from an ADT to a domain-specific model.
267 |     public static let model = PipelineStageKey(description: "model")
    |                       |- warning: static property 'model' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'model' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
268 |
269 |     /// Error handling, validation, or any other general mop-up.
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineConfiguration.swift:270:23: warning: static property 'cleanup' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
242 |       }
243 | */
244 | public final class PipelineStageKey: _OpenEnum, CustomStringConvertible
    |                    `- note: class 'PipelineStageKey' does not conform to the 'Sendable' protocol
245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
268 |
269 |     /// Error handling, validation, or any other general mop-up.
270 |     public static let cleanup = PipelineStageKey(description: "cleanup")
    |                       |- warning: static property 'cleanup' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'cleanup' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
271 |     }
272 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:154:17: warning: capture of 'rawInfo' with non-sendable type 'ResponseInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
152 |             {
153 |             let processedInfo =
154 |                 rawInfo.isNew
    |                 `- warning: capture of 'rawInfo' with non-sendable type 'ResponseInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
155 |                     ? ResponseInfo(response: processor(), isNew: true)
156 |                     : rawInfo
/host/spi-builder-workspace/Source/Siesta/Request/Request.swift:249:15: note: consider making struct 'ResponseInfo' conform to the 'Sendable' protocol
247 |
248 | /// A `Response`, plus metadata about the nature of the response.
249 | public struct ResponseInfo
    |               `- note: consider making struct 'ResponseInfo' conform to the 'Sendable' protocol
250 |     {
251 |     /// The result of a `Request`.
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:155:46: warning: capture of 'processor' with non-sendable type '() -> Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
153 |             let processedInfo =
154 |                 rawInfo.isNew
155 |                     ? ResponseInfo(response: processor(), isNew: true)
    |                                              |- warning: capture of 'processor' with non-sendable type '() -> Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
156 |                     : rawInfo
157 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:159:19: warning: capture of 'afterTransformation' with non-sendable type '(ResponseInfo) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
157 |
158 |             DispatchQueue.main.async
159 |                 { afterTransformation(processedInfo) }
    |                   |- warning: capture of 'afterTransformation' with non-sendable type '(ResponseInfo) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
160 |             }
161 |         }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:31:13: error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
29 |
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
   |             `- error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:32:21: error: cannot find 'kCFAllocatorDefault' in scope
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
   |                     `- error: cannot find 'kCFAllocatorDefault' in scope
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:33:21: error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
   |                     `- error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:35:31: error: cannot infer type of closure parameter '_' without a type annotation
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
   |                               `- error: cannot infer type of closure parameter '_' without a type annotation
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
37 |         }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:9: error: cannot find 'CFRunLoopAddTimer' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |         `- error: cannot find 'CFRunLoopAddTimer' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:27: error: cannot find 'CFRunLoopGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                           `- error: cannot find 'CFRunLoopGetCurrent' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:71: error: cannot find 'CFRunLoopMode' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                                                                       `- error: cannot find 'CFRunLoopMode' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/Request.swift:43:25: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[RequestMethod]' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |   See the various `Resource.request(...)` methods.
 15 | */
 16 | public enum RequestMethod: String
    |             `- note: consider making enum 'RequestMethod' conform to the 'Sendable' protocol
 17 |     {
 18 |     /// OPTIONS
    :
 41 |     case delete
 42 |
 43 |     internal static let all: [RequestMethod] = [.get, .post, .put, .patch, .delete, .head, .options]
    |                         |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[RequestMethod]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |     }
 45 |
/host/spi-builder-workspace/Source/Siesta/Request/Request.swift:265:25: warning: static property 'cancellation' is not concurrency-safe because non-'Sendable' type 'ResponseInfo' may have shared mutable state; this is an error in the Swift 6 language mode
247 |
248 | /// A `Response`, plus metadata about the nature of the response.
249 | public struct ResponseInfo
    |               `- note: consider making struct 'ResponseInfo' conform to the 'Sendable' protocol
250 |     {
251 |     /// The result of a `Request`.
    :
263 |         }
264 |
265 |     internal static let cancellation =
    |                         |- warning: static property 'cancellation' is not concurrency-safe because non-'Sendable' type 'ResponseInfo' may have shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: annotate 'cancellation' with '@MainActor' if property should only be accessed from the main actor
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
266 |         ResponseInfo(
267 |             response: .failure(RequestError(
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:20:39: error: cannot find type 'URLRequest' in scope
 18 |
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
    |                                       `- error: cannot find type 'URLRequest' in scope
 21 |     private let underlyingRequest: URLRequest
 22 |     internal var networking: RequestNetworking?       // present only after start()
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:21:36: error: cannot find type 'URLRequest' in scope
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
 21 |     private let underlyingRequest: URLRequest
    |                                    `- error: cannot find type 'URLRequest' in scope
 22 |     internal var networking: RequestNetworking?       // present only after start()
 23 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:86:33: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |     // Entry point for response handling. Triggered by RequestNetworking completion callback.
 85 |     private func responseReceived(
 86 |             underlyingResponse: HTTPURLResponse?,
    |                                 `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 87 |             body: Data?,
 88 |             error: Error?,
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:115:35: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
113 |
114 |     private func interpretResponse(
115 |             _ underlyingResponse: HTTPURLResponse?,
    |                                   `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 |             _ body: Data?,
117 |             _ error: Error?)
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:93:68: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 91 |         DispatchQueue.mainThreadPrecondition()
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
    |                                                                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:94:86: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
    |                                                                                      `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
 96 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:120:56: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 |         -> ResponseInfo
119 |         {
120 |         if isError(httpStatusCode: underlyingResponse?.statusCode) || error != nil
    |                                                        `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 |             {
122 |             return ResponseInfo(
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:125:37: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
123 |                 response: .failure(RequestError(response: underlyingResponse, content: body, cause: error)))
124 |             }
125 |         else if underlyingResponse?.statusCode == 304
    |                                     `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
126 |             {
127 |             if let entity = resource.latestData
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineConfiguration.swift:258:23: warning: static property 'rawData' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
242 |       }
243 | */
244 | public final class PipelineStageKey: _OpenEnum, CustomStringConvertible
    |                    `- note: class 'PipelineStageKey' does not conform to the 'Sendable' protocol
245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
256 |     {
257 |     /// Response data still unprocessed. The stage typically contains no transformers.
258 |     public static let rawData = PipelineStageKey(description: "rawData")
    |                       |- warning: static property 'rawData' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'rawData' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
259 |
260 |     /// Any bytes-to-bytes processing, such as decryption or decompression, not already performed by the network lib.
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineConfiguration.swift:261:23: warning: static property 'decoding' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
242 |       }
243 | */
244 | public final class PipelineStageKey: _OpenEnum, CustomStringConvertible
    |                    `- note: class 'PipelineStageKey' does not conform to the 'Sendable' protocol
245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
259 |
260 |     /// Any bytes-to-bytes processing, such as decryption or decompression, not already performed by the network lib.
261 |     public static let decoding = PipelineStageKey(description: "decoding")
    |                       |- warning: static property 'decoding' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'decoding' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
262 |
263 |     /// Transformation of bytes to an ADT or other generic data structure, e.g. a string, dictionary, or image.
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineConfiguration.swift:264:23: warning: static property 'parsing' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
242 |       }
243 | */
244 | public final class PipelineStageKey: _OpenEnum, CustomStringConvertible
    |                    `- note: class 'PipelineStageKey' does not conform to the 'Sendable' protocol
245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
262 |
263 |     /// Transformation of bytes to an ADT or other generic data structure, e.g. a string, dictionary, or image.
264 |     public static let parsing = PipelineStageKey(description: "parsing")
    |                       |- warning: static property 'parsing' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'parsing' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
265 |
266 |     /// Transformation from an ADT to a domain-specific model.
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineConfiguration.swift:267:23: warning: static property 'model' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
242 |       }
243 | */
244 | public final class PipelineStageKey: _OpenEnum, CustomStringConvertible
    |                    `- note: class 'PipelineStageKey' does not conform to the 'Sendable' protocol
245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
265 |
266 |     /// Transformation from an ADT to a domain-specific model.
267 |     public static let model = PipelineStageKey(description: "model")
    |                       |- warning: static property 'model' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'model' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
268 |
269 |     /// Error handling, validation, or any other general mop-up.
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineConfiguration.swift:270:23: warning: static property 'cleanup' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
242 |       }
243 | */
244 | public final class PipelineStageKey: _OpenEnum, CustomStringConvertible
    |                    `- note: class 'PipelineStageKey' does not conform to the 'Sendable' protocol
245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
268 |
269 |     /// Error handling, validation, or any other general mop-up.
270 |     public static let cleanup = PipelineStageKey(description: "cleanup")
    |                       |- warning: static property 'cleanup' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'cleanup' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
271 |     }
272 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:154:17: warning: capture of 'rawInfo' with non-sendable type 'ResponseInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
152 |             {
153 |             let processedInfo =
154 |                 rawInfo.isNew
    |                 `- warning: capture of 'rawInfo' with non-sendable type 'ResponseInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
155 |                     ? ResponseInfo(response: processor(), isNew: true)
156 |                     : rawInfo
/host/spi-builder-workspace/Source/Siesta/Request/Request.swift:249:15: note: consider making struct 'ResponseInfo' conform to the 'Sendable' protocol
247 |
248 | /// A `Response`, plus metadata about the nature of the response.
249 | public struct ResponseInfo
    |               `- note: consider making struct 'ResponseInfo' conform to the 'Sendable' protocol
250 |     {
251 |     /// The result of a `Request`.
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:155:46: warning: capture of 'processor' with non-sendable type '() -> Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
153 |             let processedInfo =
154 |                 rawInfo.isNew
155 |                     ? ResponseInfo(response: processor(), isNew: true)
    |                                              |- warning: capture of 'processor' with non-sendable type '() -> Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
156 |                     : rawInfo
157 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:159:19: warning: capture of 'afterTransformation' with non-sendable type '(ResponseInfo) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
157 |
158 |             DispatchQueue.main.async
159 |                 { afterTransformation(processedInfo) }
    |                   |- warning: capture of 'afterTransformation' with non-sendable type '(ResponseInfo) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
160 |             }
161 |         }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:31:13: error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
29 |
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
   |             `- error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:32:21: error: cannot find 'kCFAllocatorDefault' in scope
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
   |                     `- error: cannot find 'kCFAllocatorDefault' in scope
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:33:21: error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
   |                     `- error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:35:31: error: cannot infer type of closure parameter '_' without a type annotation
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
   |                               `- error: cannot infer type of closure parameter '_' without a type annotation
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
37 |         }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:9: error: cannot find 'CFRunLoopAddTimer' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |         `- error: cannot find 'CFRunLoopAddTimer' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:27: error: cannot find 'CFRunLoopGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                           `- error: cannot find 'CFRunLoopGetCurrent' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:71: error: cannot find 'CFRunLoopMode' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                                                                       `- error: cannot find 'CFRunLoopMode' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/Request.swift:43:25: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[RequestMethod]' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |   See the various `Resource.request(...)` methods.
 15 | */
 16 | public enum RequestMethod: String
    |             `- note: consider making enum 'RequestMethod' conform to the 'Sendable' protocol
 17 |     {
 18 |     /// OPTIONS
    :
 41 |     case delete
 42 |
 43 |     internal static let all: [RequestMethod] = [.get, .post, .put, .patch, .delete, .head, .options]
    |                         |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[RequestMethod]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |     }
 45 |
/host/spi-builder-workspace/Source/Siesta/Request/Request.swift:265:25: warning: static property 'cancellation' is not concurrency-safe because non-'Sendable' type 'ResponseInfo' may have shared mutable state; this is an error in the Swift 6 language mode
247 |
248 | /// A `Response`, plus metadata about the nature of the response.
249 | public struct ResponseInfo
    |               `- note: consider making struct 'ResponseInfo' conform to the 'Sendable' protocol
250 |     {
251 |     /// The result of a `Request`.
    :
263 |         }
264 |
265 |     internal static let cancellation =
    |                         |- warning: static property 'cancellation' is not concurrency-safe because non-'Sendable' type 'ResponseInfo' may have shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: annotate 'cancellation' with '@MainActor' if property should only be accessed from the main actor
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
266 |         ResponseInfo(
267 |             response: .failure(RequestError(
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:20:39: error: cannot find type 'URLRequest' in scope
 18 |
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
    |                                       `- error: cannot find type 'URLRequest' in scope
 21 |     private let underlyingRequest: URLRequest
 22 |     internal var networking: RequestNetworking?       // present only after start()
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:21:36: error: cannot find type 'URLRequest' in scope
 19 |     // Networking
 20 |     private let requestBuilder: () -> URLRequest      // so repeated() can re-read config
 21 |     private let underlyingRequest: URLRequest
    |                                    `- error: cannot find type 'URLRequest' in scope
 22 |     internal var networking: RequestNetworking?       // present only after start()
 23 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:62: error: cannot find type 'URLRequest' in scope
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                                              `- error: cannot find type 'URLRequest' in scope
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:29:46: error: @escaping attribute only applies to function types
 27 |     // MARK: Managing request
 28 |
 29 |     init(resource: Resource, requestBuilder: @escaping () -> URLRequest)
    |                                              `- error: @escaping attribute only applies to function types
 30 |         {
 31 |         self.resource = resource
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:86:33: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 84 |     // Entry point for response handling. Triggered by RequestNetworking completion callback.
 85 |     private func responseReceived(
 86 |             underlyingResponse: HTTPURLResponse?,
    |                                 `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 87 |             body: Data?,
 88 |             error: Error?,
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:115:35: error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
113 |
114 |     private func interpretResponse(
115 |             _ underlyingResponse: HTTPURLResponse?,
    |                                   `- error: 'HTTPURLResponse' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
116 |             _ body: Data?,
117 |             _ error: Error?)
Foundation.HTTPURLResponse:2:18: note: 'HTTPURLResponse' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias HTTPURLResponse = AnyObject
  |                  `- note: 'HTTPURLResponse' has been explicitly marked unavailable here
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:71:46: error: cannot find type 'URLRequest' in scope
 69 |         }
 70 |
 71 |     internal func configuration(for request: URLRequest) -> Configuration
    |                                              `- error: cannot find type 'URLRequest' in scope
 72 |         {
 73 |         return configuration(for:
/host/spi-builder-workspace/Source/Siesta/Networking.swift:34:24: error: cannot find type 'URLRequest' in scope
 32 |     */
 33 |     func startRequest(
 34 |             _ request: URLRequest,
    |                        `- error: cannot find type 'URLRequest' in scope
 35 |             completion: @escaping RequestNetworkingCompletionCallback)
 36 |         -> RequestNetworking
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:93:68: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 91 |         DispatchQueue.mainThreadPrecondition()
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
    |                                                                    `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:94:86: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 92 |
 93 |         SiestaLog.log(.network, ["Response: ", underlyingResponse?.statusCode ?? error, "←", requestDescription])
 94 |         SiestaLog.log(.networkDetails, ["Raw response headers:", underlyingResponse?.allHeaderFields])
    |                                                                                      `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'allHeaderFields'
 95 |         SiestaLog.log(.networkDetails, ["Raw response body:", body?.count ?? 0, "bytes"])
 96 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:120:56: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
118 |         -> ResponseInfo
119 |         {
120 |         if isError(httpStatusCode: underlyingResponse?.statusCode) || error != nil
    |                                                        `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
121 |             {
122 |             return ResponseInfo(
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:125:37: error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
123 |                 response: .failure(RequestError(response: underlyingResponse, content: body, cause: error)))
124 |             }
125 |         else if underlyingResponse?.statusCode == 304
    |                                     `- error: value of type 'HTTPURLResponse' (aka 'AnyObject') has no member 'statusCode'
126 |             {
127 |             if let entity = resource.latestData
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineConfiguration.swift:258:23: warning: static property 'rawData' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
242 |       }
243 | */
244 | public final class PipelineStageKey: _OpenEnum, CustomStringConvertible
    |                    `- note: class 'PipelineStageKey' does not conform to the 'Sendable' protocol
245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
256 |     {
257 |     /// Response data still unprocessed. The stage typically contains no transformers.
258 |     public static let rawData = PipelineStageKey(description: "rawData")
    |                       |- warning: static property 'rawData' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'rawData' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
259 |
260 |     /// Any bytes-to-bytes processing, such as decryption or decompression, not already performed by the network lib.
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineConfiguration.swift:261:23: warning: static property 'decoding' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
242 |       }
243 | */
244 | public final class PipelineStageKey: _OpenEnum, CustomStringConvertible
    |                    `- note: class 'PipelineStageKey' does not conform to the 'Sendable' protocol
245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
259 |
260 |     /// Any bytes-to-bytes processing, such as decryption or decompression, not already performed by the network lib.
261 |     public static let decoding = PipelineStageKey(description: "decoding")
    |                       |- warning: static property 'decoding' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'decoding' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
262 |
263 |     /// Transformation of bytes to an ADT or other generic data structure, e.g. a string, dictionary, or image.
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineConfiguration.swift:264:23: warning: static property 'parsing' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
242 |       }
243 | */
244 | public final class PipelineStageKey: _OpenEnum, CustomStringConvertible
    |                    `- note: class 'PipelineStageKey' does not conform to the 'Sendable' protocol
245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
262 |
263 |     /// Transformation of bytes to an ADT or other generic data structure, e.g. a string, dictionary, or image.
264 |     public static let parsing = PipelineStageKey(description: "parsing")
    |                       |- warning: static property 'parsing' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'parsing' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
265 |
266 |     /// Transformation from an ADT to a domain-specific model.
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineConfiguration.swift:267:23: warning: static property 'model' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
242 |       }
243 | */
244 | public final class PipelineStageKey: _OpenEnum, CustomStringConvertible
    |                    `- note: class 'PipelineStageKey' does not conform to the 'Sendable' protocol
245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
265 |
266 |     /// Transformation from an ADT to a domain-specific model.
267 |     public static let model = PipelineStageKey(description: "model")
    |                       |- warning: static property 'model' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'model' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
268 |
269 |     /// Error handling, validation, or any other general mop-up.
/host/spi-builder-workspace/Source/Siesta/Pipeline/PipelineConfiguration.swift:270:23: warning: static property 'cleanup' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
242 |       }
243 | */
244 | public final class PipelineStageKey: _OpenEnum, CustomStringConvertible
    |                    `- note: class 'PipelineStageKey' does not conform to the 'Sendable' protocol
245 |     {
246 |     /// A human-readable name for this key. Does not affect uniqueness, or any other logical behavior.
    :
268 |
269 |     /// Error handling, validation, or any other general mop-up.
270 |     public static let cleanup = PipelineStageKey(description: "cleanup")
    |                       |- warning: static property 'cleanup' is not concurrency-safe because non-'Sendable' type 'PipelineStageKey' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'cleanup' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
271 |     }
272 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:154:17: warning: capture of 'rawInfo' with non-sendable type 'ResponseInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
152 |             {
153 |             let processedInfo =
154 |                 rawInfo.isNew
    |                 `- warning: capture of 'rawInfo' with non-sendable type 'ResponseInfo' in a `@Sendable` closure; this is an error in the Swift 6 language mode
155 |                     ? ResponseInfo(response: processor(), isNew: true)
156 |                     : rawInfo
/host/spi-builder-workspace/Source/Siesta/Request/Request.swift:249:15: note: consider making struct 'ResponseInfo' conform to the 'Sendable' protocol
247 |
248 | /// A `Response`, plus metadata about the nature of the response.
249 | public struct ResponseInfo
    |               `- note: consider making struct 'ResponseInfo' conform to the 'Sendable' protocol
250 |     {
251 |     /// The result of a `Request`.
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:155:46: warning: capture of 'processor' with non-sendable type '() -> Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
153 |             let processedInfo =
154 |                 rawInfo.isNew
155 |                     ? ResponseInfo(response: processor(), isNew: true)
    |                                              |- warning: capture of 'processor' with non-sendable type '() -> Response' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
156 |                     : rawInfo
157 |
/host/spi-builder-workspace/Source/Siesta/Request/NetworkRequest.swift:159:19: warning: capture of 'afterTransformation' with non-sendable type '(ResponseInfo) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
157 |
158 |             DispatchQueue.main.async
159 |                 { afterTransformation(processedInfo) }
    |                   |- warning: capture of 'afterTransformation' with non-sendable type '(ResponseInfo) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |                   `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
160 |             }
161 |         }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:31:13: error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
29 |
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
   |             `- error: cannot find 'CFRunLoopTimerCreateWithHandler' in scope
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:32:21: error: cannot find 'kCFAllocatorDefault' in scope
30 |         progressUpdateTimer =
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
   |                     `- error: cannot find 'kCFAllocatorDefault' in scope
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:33:21: error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
31 |             CFRunLoopTimerCreateWithHandler(
32 |                     kCFAllocatorDefault,
33 |                     CFAbsoluteTimeGetCurrent(),
   |                     `- error: cannot find 'CFAbsoluteTimeGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:35:31: error: cannot infer type of closure parameter '_' without a type annotation
33 |                     CFAbsoluteTimeGetCurrent(),
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
   |                               `- error: cannot infer type of closure parameter '_' without a type annotation
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
37 |         }
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:9: error: cannot find 'CFRunLoopAddTimer' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |         `- error: cannot find 'CFRunLoopAddTimer' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:27: error: cannot find 'CFRunLoopGetCurrent' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                           `- error: cannot find 'CFRunLoopGetCurrent' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/ProgressTracker.swift:36:71: error: cannot find 'CFRunLoopMode' in scope
34 |                     reportingInterval, 0, 0)
35 |                 { [weak self] _ in self?.updateProgress() }
36 |         CFRunLoopAddTimer(CFRunLoopGetCurrent(), progressUpdateTimer, CFRunLoopMode.commonModes)
   |                                                                       `- error: cannot find 'CFRunLoopMode' in scope
37 |         }
38 |
/host/spi-builder-workspace/Source/Siesta/Request/Request.swift:43:25: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[RequestMethod]' may have shared mutable state; this is an error in the Swift 6 language mode
 14 |   See the various `Resource.request(...)` methods.
 15 | */
 16 | public enum RequestMethod: String
    |             `- note: consider making enum 'RequestMethod' conform to the 'Sendable' protocol
 17 |     {
 18 |     /// OPTIONS
    :
 41 |     case delete
 42 |
 43 |     internal static let all: [RequestMethod] = [.get, .post, .put, .patch, .delete, .head, .options]
    |                         |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[RequestMethod]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                         |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
    |                         `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 44 |     }
 45 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:12:14: warning: var 'now' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | // Overridable for testing
 12 | internal var now = { Date.timeIntervalSinceReferenceDate }
    |              |- warning: var 'now' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |              |- note: convert 'now' to a 'let' constant to make 'Sendable' shared state immutable
    |              |- note: annotate 'now' with '@MainActor' if property should only be accessed from the main actor
    |              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |
 14 | /**
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:48:2: error: Objective-C interoperability is disabled
 46 | // happen via overrideLocalData() so that observers always know about changes.)
 47 |
 48 | @objc(BOSEntity)
    |  `- error: Objective-C interoperability is disabled
 49 | public class _objc_Entity: NSObject
 50 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:51:6: error: Objective-C interoperability is disabled
 49 | public class _objc_Entity: NSObject
 50 |     {
 51 |     @objc public var content: AnyObject
    |      `- error: Objective-C interoperability is disabled
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:52:6: error: Objective-C interoperability is disabled
 50 |     {
 51 |     @objc public var content: AnyObject
 52 |     @objc public var contentType: String
    |      `- error: Objective-C interoperability is disabled
 53 |     @objc public var charset: String?
 54 |     @objc public var etag: String?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:53:6: error: Objective-C interoperability is disabled
 51 |     @objc public var content: AnyObject
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
    |      `- error: Objective-C interoperability is disabled
 54 |     @objc public var etag: String?
 55 |     fileprivate var headers: [String:String]
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:54:6: error: Objective-C interoperability is disabled
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
 54 |     @objc public var etag: String?
    |      `- error: Objective-C interoperability is disabled
 55 |     fileprivate var headers: [String:String]
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:56:6: error: Objective-C interoperability is disabled
 54 |     @objc public var etag: String?
 55 |     fileprivate var headers: [String:String]
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
    |      `- error: Objective-C interoperability is disabled
 57 |
 58 |     @objc public init(content: AnyObject, contentType: String, headers: [String:String])
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:58:6: error: Objective-C interoperability is disabled
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
 57 |
 58 |     @objc public init(content: AnyObject, contentType: String, headers: [String:String])
    |      `- error: Objective-C interoperability is disabled
 59 |         {
 60 |         self.content = content
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:65:6: error: Objective-C interoperability is disabled
 63 |         }
 64 |
 65 |     @objc public convenience init(content: AnyObject, contentType: String)
    |      `- error: Objective-C interoperability is disabled
 66 |         { self.init(content: content, contentType: contentType, headers: [:]) }
 67 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:77:6: error: Objective-C interoperability is disabled
 75 |         }
 76 |
 77 |     @objc public func header(_ key: String) -> String?
    |      `- error: Objective-C interoperability is disabled
 78 |         { return headers[key.lowercased()] }
 79 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:80:6: error: Objective-C interoperability is disabled
 78 |         { return headers[key.lowercased()] }
 79 |
 80 |     @objc public override var description: String
    |      `- error: Objective-C interoperability is disabled
 81 |         { return debugStr(Entity<Any>.convertedFromObjc(self)) }
 82 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:92:2: error: Objective-C interoperability is disabled
 90 |     }
 91 |
 92 | @objc(BOSError)
    |  `- error: Objective-C interoperability is disabled
 93 | public class _objc_Error: NSObject
 94 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:95:6: error: Objective-C interoperability is disabled
 93 | public class _objc_Error: NSObject
 94 |     {
 95 |     @objc public var httpStatusCode: Int
    |      `- error: Objective-C interoperability is disabled
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:96:6: error: Objective-C interoperability is disabled
 94 |     {
 95 |     @objc public var httpStatusCode: Int
 96 |     @objc public var cause: NSError?
    |      `- error: Objective-C interoperability is disabled
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:97:6: error: Objective-C interoperability is disabled
 95 |     @objc public var httpStatusCode: Int
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
    |      `- error: Objective-C interoperability is disabled
 98 |     @objc public var entity: _objc_Entity?
 99 |     @objc public let timestamp: TimeInterval
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:98:6: error: Objective-C interoperability is disabled
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
    |      `- error: Objective-C interoperability is disabled
 99 |     @objc public let timestamp: TimeInterval
100 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:99:6: error: Objective-C interoperability is disabled
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
 99 |     @objc public let timestamp: TimeInterval
    |      `- error: Objective-C interoperability is disabled
100 |
101 |     internal init(_ error: RequestError)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:114:6: error: Objective-C interoperability is disabled
112 | extension Service
113 |     {
114 |     @objc(resourceWithAbsoluteURL:)
    |      `- error: Objective-C interoperability is disabled
115 |     public final func _objc_resourceWithAbsoluteURL(absoluteURL url: URL?) -> Resource
116 |         { return resource(absoluteURL: url) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:118:6: error: Objective-C interoperability is disabled
116 |         { return resource(absoluteURL: url) }
117 |
118 |     @objc(resourceWithAbsoluteURLString:)
    |      `- error: Objective-C interoperability is disabled
119 |     public final func _objc_resourceWithAbsoluteURLString(absoluteURL url: String?) -> Resource
120 |         { return resource(absoluteURL: url) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:125:6: error: Objective-C interoperability is disabled
123 | extension Resource
124 |     {
125 |     @objc(latestData)
    |      `- error: Objective-C interoperability is disabled
126 |     public var _objc_latestData: _objc_Entity?
127 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:134:6: error: Objective-C interoperability is disabled
132 |         }
133 |
134 |     @objc(latestError)
    |      `- error: Objective-C interoperability is disabled
135 |     public var _objc_latestError: _objc_Error?
136 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:143:6: error: Objective-C interoperability is disabled
141 |         }
142 |
143 |     @objc(jsonDict)
    |      `- error: Objective-C interoperability is disabled
144 |     public var _objc_jsonDict: NSDictionary
145 |         { return jsonDict as NSDictionary }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:147:6: error: Objective-C interoperability is disabled
145 |         { return jsonDict as NSDictionary }
146 |
147 |     @objc(jsonArray)
    |      `- error: Objective-C interoperability is disabled
148 |     public var _objc_jsonArray: NSArray
149 |         { return jsonArray as NSArray }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:151:6: error: Objective-C interoperability is disabled
149 |         { return jsonArray as NSArray }
150 |
151 |     @objc(text)
    |      `- error: Objective-C interoperability is disabled
152 |     public var _objc_text: String
153 |         { return text }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:155:6: error: Objective-C interoperability is disabled
153 |         { return text }
154 |
155 |     @objc(overrideLocalData:)
    |      `- error: Objective-C interoperability is disabled
156 |     public func _objc_overrideLocalData(_ entity: _objc_Entity)
157 |         { overrideLocalData(with: Entity<Any>.convertedFromObjc(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:159:6: error: Objective-C interoperability is disabled
157 |         { overrideLocalData(with: Entity<Any>.convertedFromObjc(entity)) }
158 |
159 |     @objc(withParams:)
    |      `- error: Objective-C interoperability is disabled
160 |     public func _objc_withParams(_ params: [String:NSObject]) -> Resource
161 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:182:2: error: Objective-C interoperability is disabled
180 | // MARK: - Because Swift closures aren’t exposed as Obj-C blocks
181 |
182 | @objc(BOSRequest)
    |  `- error: Objective-C interoperability is disabled
183 | public class _objc_Request: NSObject
184 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:111: error: '(_objc_Entity?, _objc_Error?) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |                                                                                                               `- error: '(_objc_Entity?, _objc_Error?) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:52: error: @escaping attribute only applies to function types
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |                                                    `- error: @escaping attribute only applies to function types
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:6: error: Objective-C interoperability is disabled
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:93: error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                                                             `- error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:49: error: @escaping attribute only applies to function types
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:6: error: Objective-C interoperability is disabled
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:93: error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                                                             `- error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:49: error: @escaping attribute only applies to function types
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:6: error: Objective-C interoperability is disabled
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:218:6: error: Objective-C interoperability is disabled
216 |         }
217 |
218 |     @objc public func onNotModified(_ objcCallback: @escaping @convention(block) () -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
219 |         {
220 |         request.onNotModified(objcCallback)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:92: error: '(_objc_Error) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |                                                                                            `- error: '(_objc_Error) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:49: error: @escaping attribute only applies to function types
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:6: error: Objective-C interoperability is disabled
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:230:6: error: Objective-C interoperability is disabled
228 |         }
229 |
230 |     @objc public func onProgress(_ objcCallback: @escaping @convention(block) (Float) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
231 |         {
232 |         request.onProgress { p in objcCallback(Float(p)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:236:6: error: Objective-C interoperability is disabled
234 |         }
235 |
236 |     @objc public func cancel()
    |      `- error: Objective-C interoperability is disabled
237 |         { request.cancel() }
238 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:239:6: error: Objective-C interoperability is disabled
237 |         { request.cancel() }
238 |
239 |     @objc public override var description: String
    |      `- error: Objective-C interoperability is disabled
240 |         { return debugStr(request) }
241 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:245:6: error: Objective-C interoperability is disabled
243 | extension Resource
244 |     {
245 |     @objc(load)
    |      `- error: Objective-C interoperability is disabled
246 |     public func _objc_load() -> _objc_Request
247 |         { return _objc_Request(load()) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:249:6: error: Objective-C interoperability is disabled
247 |         { return _objc_Request(load()) }
248 |
249 |     @objc(loadIfNeeded)
    |      `- error: Objective-C interoperability is disabled
250 |     public func _objc_loadIfNeeded() -> _objc_Request?
251 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:261:2: error: Objective-C interoperability is disabled
259 | // MARK: - Because Swift enums aren’t exposed to Obj-C
260 |
261 | @objc(BOSResourceObserver)
    |  `- error: Objective-C interoperability is disabled
262 | public protocol _objc_ResourceObserver
263 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:265:11: error: 'optional' can only be applied to members of an @objc protocol
263 |     {
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
    |           `- error: 'optional' can only be applied to members of an @objc protocol
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
267 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:265:6: error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
263 |     {
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
    |      `- error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
267 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:266:11: error: 'optional' can only be applied to members of an @objc protocol
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
    |           `- error: 'optional' can only be applied to members of an @objc protocol
267 |     }
268 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:266:6: error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
    |      `- error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
267 |     }
268 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:313:6: error: Objective-C interoperability is disabled
311 | extension Resource
312 |     {
313 |     @objc(addObserver:)
    |      `- error: Objective-C interoperability is disabled
314 |     public func _objc_addObserver(_ observerAndOwner: _objc_ResourceObserver & AnyObject) -> Self
315 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: observerAndOwner), owner: observerAndOwner) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:317:6: error: Objective-C interoperability is disabled
315 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: observerAndOwner), owner: observerAndOwner) }
316 |
317 |     @objc(addObserver:owner:)
    |      `- error: Objective-C interoperability is disabled
318 |     public func _objc_addObserver(_ objcObserver: _objc_ResourceObserver, owner: AnyObject) -> Self
319 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: objcObserver), owner: owner) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:322:108: error: '(Resource, String) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
320 |
321 |     @objc(addObserverWithOwner:callback:)
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
    |                                                                                                            `- error: '(Resource, String) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
323 |         {
324 |         return addObserver(owner: owner)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:322:60: error: @escaping attribute only applies to function types
320 |
321 |     @objc(addObserverWithOwner:callback:)
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
    |                                                            `- error: @escaping attribute only applies to function types
323 |         {
324 |         return addObserver(owner: owner)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:321:6: error: Objective-C interoperability is disabled
319 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: objcObserver), owner: owner) }
320 |
321 |     @objc(addObserverWithOwner:callback:)
    |      `- error: Objective-C interoperability is disabled
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
323 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:366:69: error: cannot find type 'NSMutableURLRequest' in scope
364 |         }
365 |
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
    |                                                                     `- error: cannot find type 'NSMutableURLRequest' in scope
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:366:119: error: cannot find type 'URLRequest' in scope
364 |         }
365 |
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
    |                                                                                                                       `- error: cannot find type 'URLRequest' in scope
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:376:51: error: cannot find type 'NSMutableURLRequest' in scope
374 |     public func _objc_request(
375 |             _ method:          String,
376 |             requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                   `- error: cannot find type 'NSMutableURLRequest' in scope
377 |         -> _objc_Request
378 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:373:6: error: Objective-C interoperability is disabled
371 |         }
372 |
373 |     @objc(requestWithMethod:requestMutation:)
    |      `- error: Objective-C interoperability is disabled
374 |     public func _objc_request(
375 |             _ method:          String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:386:6: error: Objective-C interoperability is disabled
384 |         }
385 |
386 |     @objc(requestWithMethod:)
    |      `- error: Objective-C interoperability is disabled
387 |     public func _objc_request(_ method: String)
388 |         -> _objc_Request
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:399:51: error: cannot find type 'NSMutableURLRequest' in scope
397 |             data:            Data,
398 |             contentType:     String,
399 |             requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                   `- error: cannot find type 'NSMutableURLRequest' in scope
400 |         -> _objc_Request
401 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:394:6: error: Objective-C interoperability is disabled
392 |         }
393 |
394 |     @objc(requestWithMethod:data:contentType:requestMutation:)
    |      `- error: Objective-C interoperability is disabled
395 |     public func _objc_request(
396 |             _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:409:7: error: Objective-C interoperability is disabled
407 |         }
408 |
409 |      @objc(requestWithMethod:text:)
    |       `- error: Objective-C interoperability is disabled
410 |      public func _objc_request(
411 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:425:52: error: cannot find type 'NSMutableURLRequest' in scope
423 |              contentType:     String,
424 |              encoding:        UInt = String.Encoding.utf8.rawValue,
425 |              requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                    `- error: cannot find type 'NSMutableURLRequest' in scope
426 |          -> _objc_Request
427 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:419:7: error: Objective-C interoperability is disabled
417 |          }
418 |
419 |      @objc(requestWithMethod:text:contentType:encoding:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
420 |      public func _objc_request(
421 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:435:7: error: Objective-C interoperability is disabled
433 |          }
434 |
435 |      @objc(requestWithMethod:json:)
    |       `- error: Objective-C interoperability is disabled
436 |      public func _objc_request(
437 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:450:52: error: cannot find type 'NSMutableURLRequest' in scope
448 |              json:            NSObject?,
449 |              contentType:     String,
450 |              requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                    `- error: cannot find type 'NSMutableURLRequest' in scope
451 |          -> _objc_Request
452 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:445:7: error: Objective-C interoperability is disabled
443 |          }
444 |
445 |      @objc(requestWithMethod:json:contentType:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
446 |      public func _objc_request(
447 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:464:54: error: cannot find type 'NSMutableURLRequest' in scope
462 |              _ method:          String,
463 |              urlEncoded params: [String:String],
464 |              requestMutation:   (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                      `- error: cannot find type 'NSMutableURLRequest' in scope
465 |          -> _objc_Request
466 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:460:7: error: Objective-C interoperability is disabled
458 |          }
459 |
460 |      @objc(requestWithMethod:urlEncoded:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
461 |      public func _objc_request(
462 |              _ method:          String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:474:6: error: Objective-C interoperability is disabled
472 |          }
473 |
474 |     @objc(loadUsingRequest:)
    |      `- error: Objective-C interoperability is disabled
475 |     public func _objc_load(using req: _objc_Request) -> _objc_Request
476 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:197:56: error: 'nil' requires a contextual type
195 |                 {
196 |                 case .success(let entity):
197 |                     objcCallback(_objc_Entity(entity), nil)
    |                                                        `- error: 'nil' requires a contextual type
198 |
199 |                 case .failure(let error):
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:280:52: error: cannot use optional chaining on non-optional value of type '(Resource) -> ()'
278 |         {
279 |         if let resource = resource
280 |             { objcObserver.stoppedObservingResource?(resource) }
    |                                                    `- error: cannot use optional chaining on non-optional value of type '(Resource) -> ()'
281 |         }
282 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:291:47: error: cannot use optional chaining on non-optional value of type '(Resource, Double) -> ()'
289 |
290 |     func resourceRequestProgress(_ resource: Resource, progress: Double)
291 |         { objcObserver.resourceRequestProgress?(resource, progress: progress) }
    |                                               `- error: cannot use optional chaining on non-optional value of type '(Resource, Double) -> ()'
292 |
293 |     var observerIdentity: AnyHashable
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:294:35: error: argument type 'any _objc_ResourceObserver' expected to be an instance of a class or class-constrained type
292 |
293 |     var observerIdentity: AnyHashable
294 |         { return ObjectIdentifier(objcObserver) }
    |                                   `- error: argument type 'any _objc_ResourceObserver' expected to be an instance of a class or class-constrained type
295 |
296 |     var debugDescription: String
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:368:38: error: cannot find type 'NSURLRequest' in scope
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
    |                                      `- error: cannot find type 'NSURLRequest' in scope
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:368:70: error: cannot find type 'NSMutableURLRequest' in scope
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
    |                                                                      `- error: cannot find type 'NSMutableURLRequest' in scope
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:370:33: error: cannot find type 'URLRequest' in scope
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
    |                                 `- error: cannot find type 'URLRequest' in scope
371 |         }
372 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:222:47: error: cannot find type 'URLRequest' in scope
220 |       - SeeAlso: `Resource.request(...)`
221 |     */
222 |     public typealias RequestMutation = (inout URLRequest) -> Void
    |                                               `- error: cannot find type 'URLRequest' in scope
223 |
224 |     /**
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:257:44: error: @escaping attribute only applies to function types
255 |     public func request(
256 |             _ method: RequestMethod,
257 |             requestMutation adHocMutation: @escaping RequestMutation = { _ in })
    |                                            `- error: @escaping attribute only applies to function types
258 |         -> Request
259 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:30:30: error: @escaping attribute only applies to function types
 28 |             data:            Data,
 29 |             contentType:     String,
 30 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 31 |         -> Request
 32 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:57:30: error: @escaping attribute only applies to function types
 55 |             contentType:     String = "text/plain",
 56 |             encoding:        String.Encoding = String.Encoding.utf8,
 57 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 58 |         -> Request
 59 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:88:30: error: @escaping attribute only applies to function types
 86 |             json:            JSONConvertible,
 87 |             contentType:     String = "application/json",
 88 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 89 |         -> Request
 90 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:127:32: error: @escaping attribute only applies to function types
125 |             _ method:          RequestMethod,
126 |             urlEncoded params: [String:String],
127 |             requestMutation:   @escaping RequestMutation = { _ in })
    |                                `- error: @escaping attribute only applies to function types
128 |         -> Request
129 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:12:14: warning: var 'now' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | // Overridable for testing
 12 | internal var now = { Date.timeIntervalSinceReferenceDate }
    |              |- warning: var 'now' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |              |- note: convert 'now' to a 'let' constant to make 'Sendable' shared state immutable
    |              |- note: annotate 'now' with '@MainActor' if property should only be accessed from the main actor
    |              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |
 14 | /**
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:48:2: error: Objective-C interoperability is disabled
 46 | // happen via overrideLocalData() so that observers always know about changes.)
 47 |
 48 | @objc(BOSEntity)
    |  `- error: Objective-C interoperability is disabled
 49 | public class _objc_Entity: NSObject
 50 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:51:6: error: Objective-C interoperability is disabled
 49 | public class _objc_Entity: NSObject
 50 |     {
 51 |     @objc public var content: AnyObject
    |      `- error: Objective-C interoperability is disabled
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:52:6: error: Objective-C interoperability is disabled
 50 |     {
 51 |     @objc public var content: AnyObject
 52 |     @objc public var contentType: String
    |      `- error: Objective-C interoperability is disabled
 53 |     @objc public var charset: String?
 54 |     @objc public var etag: String?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:53:6: error: Objective-C interoperability is disabled
 51 |     @objc public var content: AnyObject
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
    |      `- error: Objective-C interoperability is disabled
 54 |     @objc public var etag: String?
 55 |     fileprivate var headers: [String:String]
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:54:6: error: Objective-C interoperability is disabled
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
 54 |     @objc public var etag: String?
    |      `- error: Objective-C interoperability is disabled
 55 |     fileprivate var headers: [String:String]
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:56:6: error: Objective-C interoperability is disabled
 54 |     @objc public var etag: String?
 55 |     fileprivate var headers: [String:String]
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
    |      `- error: Objective-C interoperability is disabled
 57 |
 58 |     @objc public init(content: AnyObject, contentType: String, headers: [String:String])
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:58:6: error: Objective-C interoperability is disabled
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
 57 |
 58 |     @objc public init(content: AnyObject, contentType: String, headers: [String:String])
    |      `- error: Objective-C interoperability is disabled
 59 |         {
 60 |         self.content = content
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:65:6: error: Objective-C interoperability is disabled
 63 |         }
 64 |
 65 |     @objc public convenience init(content: AnyObject, contentType: String)
    |      `- error: Objective-C interoperability is disabled
 66 |         { self.init(content: content, contentType: contentType, headers: [:]) }
 67 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:77:6: error: Objective-C interoperability is disabled
 75 |         }
 76 |
 77 |     @objc public func header(_ key: String) -> String?
    |      `- error: Objective-C interoperability is disabled
 78 |         { return headers[key.lowercased()] }
 79 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:80:6: error: Objective-C interoperability is disabled
 78 |         { return headers[key.lowercased()] }
 79 |
 80 |     @objc public override var description: String
    |      `- error: Objective-C interoperability is disabled
 81 |         { return debugStr(Entity<Any>.convertedFromObjc(self)) }
 82 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:92:2: error: Objective-C interoperability is disabled
 90 |     }
 91 |
 92 | @objc(BOSError)
    |  `- error: Objective-C interoperability is disabled
 93 | public class _objc_Error: NSObject
 94 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:95:6: error: Objective-C interoperability is disabled
 93 | public class _objc_Error: NSObject
 94 |     {
 95 |     @objc public var httpStatusCode: Int
    |      `- error: Objective-C interoperability is disabled
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:96:6: error: Objective-C interoperability is disabled
 94 |     {
 95 |     @objc public var httpStatusCode: Int
 96 |     @objc public var cause: NSError?
    |      `- error: Objective-C interoperability is disabled
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:97:6: error: Objective-C interoperability is disabled
 95 |     @objc public var httpStatusCode: Int
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
    |      `- error: Objective-C interoperability is disabled
 98 |     @objc public var entity: _objc_Entity?
 99 |     @objc public let timestamp: TimeInterval
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:98:6: error: Objective-C interoperability is disabled
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
    |      `- error: Objective-C interoperability is disabled
 99 |     @objc public let timestamp: TimeInterval
100 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:99:6: error: Objective-C interoperability is disabled
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
 99 |     @objc public let timestamp: TimeInterval
    |      `- error: Objective-C interoperability is disabled
100 |
101 |     internal init(_ error: RequestError)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:114:6: error: Objective-C interoperability is disabled
112 | extension Service
113 |     {
114 |     @objc(resourceWithAbsoluteURL:)
    |      `- error: Objective-C interoperability is disabled
115 |     public final func _objc_resourceWithAbsoluteURL(absoluteURL url: URL?) -> Resource
116 |         { return resource(absoluteURL: url) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:118:6: error: Objective-C interoperability is disabled
116 |         { return resource(absoluteURL: url) }
117 |
118 |     @objc(resourceWithAbsoluteURLString:)
    |      `- error: Objective-C interoperability is disabled
119 |     public final func _objc_resourceWithAbsoluteURLString(absoluteURL url: String?) -> Resource
120 |         { return resource(absoluteURL: url) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:125:6: error: Objective-C interoperability is disabled
123 | extension Resource
124 |     {
125 |     @objc(latestData)
    |      `- error: Objective-C interoperability is disabled
126 |     public var _objc_latestData: _objc_Entity?
127 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:134:6: error: Objective-C interoperability is disabled
132 |         }
133 |
134 |     @objc(latestError)
    |      `- error: Objective-C interoperability is disabled
135 |     public var _objc_latestError: _objc_Error?
136 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:143:6: error: Objective-C interoperability is disabled
141 |         }
142 |
143 |     @objc(jsonDict)
    |      `- error: Objective-C interoperability is disabled
144 |     public var _objc_jsonDict: NSDictionary
145 |         { return jsonDict as NSDictionary }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:147:6: error: Objective-C interoperability is disabled
145 |         { return jsonDict as NSDictionary }
146 |
147 |     @objc(jsonArray)
    |      `- error: Objective-C interoperability is disabled
148 |     public var _objc_jsonArray: NSArray
149 |         { return jsonArray as NSArray }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:151:6: error: Objective-C interoperability is disabled
149 |         { return jsonArray as NSArray }
150 |
151 |     @objc(text)
    |      `- error: Objective-C interoperability is disabled
152 |     public var _objc_text: String
153 |         { return text }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:155:6: error: Objective-C interoperability is disabled
153 |         { return text }
154 |
155 |     @objc(overrideLocalData:)
    |      `- error: Objective-C interoperability is disabled
156 |     public func _objc_overrideLocalData(_ entity: _objc_Entity)
157 |         { overrideLocalData(with: Entity<Any>.convertedFromObjc(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:159:6: error: Objective-C interoperability is disabled
157 |         { overrideLocalData(with: Entity<Any>.convertedFromObjc(entity)) }
158 |
159 |     @objc(withParams:)
    |      `- error: Objective-C interoperability is disabled
160 |     public func _objc_withParams(_ params: [String:NSObject]) -> Resource
161 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:182:2: error: Objective-C interoperability is disabled
180 | // MARK: - Because Swift closures aren’t exposed as Obj-C blocks
181 |
182 | @objc(BOSRequest)
    |  `- error: Objective-C interoperability is disabled
183 | public class _objc_Request: NSObject
184 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:111: error: '(_objc_Entity?, _objc_Error?) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |                                                                                                               `- error: '(_objc_Entity?, _objc_Error?) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:52: error: @escaping attribute only applies to function types
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |                                                    `- error: @escaping attribute only applies to function types
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:6: error: Objective-C interoperability is disabled
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:93: error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                                                             `- error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:49: error: @escaping attribute only applies to function types
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:6: error: Objective-C interoperability is disabled
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:93: error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                                                             `- error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:49: error: @escaping attribute only applies to function types
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:6: error: Objective-C interoperability is disabled
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:218:6: error: Objective-C interoperability is disabled
216 |         }
217 |
218 |     @objc public func onNotModified(_ objcCallback: @escaping @convention(block) () -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
219 |         {
220 |         request.onNotModified(objcCallback)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:92: error: '(_objc_Error) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |                                                                                            `- error: '(_objc_Error) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:49: error: @escaping attribute only applies to function types
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:6: error: Objective-C interoperability is disabled
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:230:6: error: Objective-C interoperability is disabled
228 |         }
229 |
230 |     @objc public func onProgress(_ objcCallback: @escaping @convention(block) (Float) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
231 |         {
232 |         request.onProgress { p in objcCallback(Float(p)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:236:6: error: Objective-C interoperability is disabled
234 |         }
235 |
236 |     @objc public func cancel()
    |      `- error: Objective-C interoperability is disabled
237 |         { request.cancel() }
238 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:239:6: error: Objective-C interoperability is disabled
237 |         { request.cancel() }
238 |
239 |     @objc public override var description: String
    |      `- error: Objective-C interoperability is disabled
240 |         { return debugStr(request) }
241 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:245:6: error: Objective-C interoperability is disabled
243 | extension Resource
244 |     {
245 |     @objc(load)
    |      `- error: Objective-C interoperability is disabled
246 |     public func _objc_load() -> _objc_Request
247 |         { return _objc_Request(load()) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:249:6: error: Objective-C interoperability is disabled
247 |         { return _objc_Request(load()) }
248 |
249 |     @objc(loadIfNeeded)
    |      `- error: Objective-C interoperability is disabled
250 |     public func _objc_loadIfNeeded() -> _objc_Request?
251 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:261:2: error: Objective-C interoperability is disabled
259 | // MARK: - Because Swift enums aren’t exposed to Obj-C
260 |
261 | @objc(BOSResourceObserver)
    |  `- error: Objective-C interoperability is disabled
262 | public protocol _objc_ResourceObserver
263 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:265:11: error: 'optional' can only be applied to members of an @objc protocol
263 |     {
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
    |           `- error: 'optional' can only be applied to members of an @objc protocol
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
267 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:265:6: error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
263 |     {
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
    |      `- error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
267 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:266:11: error: 'optional' can only be applied to members of an @objc protocol
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
    |           `- error: 'optional' can only be applied to members of an @objc protocol
267 |     }
268 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:266:6: error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
    |      `- error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
267 |     }
268 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:313:6: error: Objective-C interoperability is disabled
311 | extension Resource
312 |     {
313 |     @objc(addObserver:)
    |      `- error: Objective-C interoperability is disabled
314 |     public func _objc_addObserver(_ observerAndOwner: _objc_ResourceObserver & AnyObject) -> Self
315 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: observerAndOwner), owner: observerAndOwner) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:317:6: error: Objective-C interoperability is disabled
315 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: observerAndOwner), owner: observerAndOwner) }
316 |
317 |     @objc(addObserver:owner:)
    |      `- error: Objective-C interoperability is disabled
318 |     public func _objc_addObserver(_ objcObserver: _objc_ResourceObserver, owner: AnyObject) -> Self
319 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: objcObserver), owner: owner) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:322:108: error: '(Resource, String) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
320 |
321 |     @objc(addObserverWithOwner:callback:)
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
    |                                                                                                            `- error: '(Resource, String) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
323 |         {
324 |         return addObserver(owner: owner)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:322:60: error: @escaping attribute only applies to function types
320 |
321 |     @objc(addObserverWithOwner:callback:)
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
    |                                                            `- error: @escaping attribute only applies to function types
323 |         {
324 |         return addObserver(owner: owner)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:321:6: error: Objective-C interoperability is disabled
319 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: objcObserver), owner: owner) }
320 |
321 |     @objc(addObserverWithOwner:callback:)
    |      `- error: Objective-C interoperability is disabled
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
323 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:366:69: error: cannot find type 'NSMutableURLRequest' in scope
364 |         }
365 |
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
    |                                                                     `- error: cannot find type 'NSMutableURLRequest' in scope
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:366:119: error: cannot find type 'URLRequest' in scope
364 |         }
365 |
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
    |                                                                                                                       `- error: cannot find type 'URLRequest' in scope
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:376:51: error: cannot find type 'NSMutableURLRequest' in scope
374 |     public func _objc_request(
375 |             _ method:          String,
376 |             requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                   `- error: cannot find type 'NSMutableURLRequest' in scope
377 |         -> _objc_Request
378 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:373:6: error: Objective-C interoperability is disabled
371 |         }
372 |
373 |     @objc(requestWithMethod:requestMutation:)
    |      `- error: Objective-C interoperability is disabled
374 |     public func _objc_request(
375 |             _ method:          String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:386:6: error: Objective-C interoperability is disabled
384 |         }
385 |
386 |     @objc(requestWithMethod:)
    |      `- error: Objective-C interoperability is disabled
387 |     public func _objc_request(_ method: String)
388 |         -> _objc_Request
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:399:51: error: cannot find type 'NSMutableURLRequest' in scope
397 |             data:            Data,
398 |             contentType:     String,
399 |             requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                   `- error: cannot find type 'NSMutableURLRequest' in scope
400 |         -> _objc_Request
401 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:394:6: error: Objective-C interoperability is disabled
392 |         }
393 |
394 |     @objc(requestWithMethod:data:contentType:requestMutation:)
    |      `- error: Objective-C interoperability is disabled
395 |     public func _objc_request(
396 |             _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:409:7: error: Objective-C interoperability is disabled
407 |         }
408 |
409 |      @objc(requestWithMethod:text:)
    |       `- error: Objective-C interoperability is disabled
410 |      public func _objc_request(
411 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:425:52: error: cannot find type 'NSMutableURLRequest' in scope
423 |              contentType:     String,
424 |              encoding:        UInt = String.Encoding.utf8.rawValue,
425 |              requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                    `- error: cannot find type 'NSMutableURLRequest' in scope
426 |          -> _objc_Request
427 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:419:7: error: Objective-C interoperability is disabled
417 |          }
418 |
419 |      @objc(requestWithMethod:text:contentType:encoding:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
420 |      public func _objc_request(
421 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:435:7: error: Objective-C interoperability is disabled
433 |          }
434 |
435 |      @objc(requestWithMethod:json:)
    |       `- error: Objective-C interoperability is disabled
436 |      public func _objc_request(
437 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:450:52: error: cannot find type 'NSMutableURLRequest' in scope
448 |              json:            NSObject?,
449 |              contentType:     String,
450 |              requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                    `- error: cannot find type 'NSMutableURLRequest' in scope
451 |          -> _objc_Request
452 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:445:7: error: Objective-C interoperability is disabled
443 |          }
444 |
445 |      @objc(requestWithMethod:json:contentType:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
446 |      public func _objc_request(
447 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:464:54: error: cannot find type 'NSMutableURLRequest' in scope
462 |              _ method:          String,
463 |              urlEncoded params: [String:String],
464 |              requestMutation:   (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                      `- error: cannot find type 'NSMutableURLRequest' in scope
465 |          -> _objc_Request
466 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:460:7: error: Objective-C interoperability is disabled
458 |          }
459 |
460 |      @objc(requestWithMethod:urlEncoded:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
461 |      public func _objc_request(
462 |              _ method:          String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:474:6: error: Objective-C interoperability is disabled
472 |          }
473 |
474 |     @objc(loadUsingRequest:)
    |      `- error: Objective-C interoperability is disabled
475 |     public func _objc_load(using req: _objc_Request) -> _objc_Request
476 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:197:56: error: 'nil' requires a contextual type
195 |                 {
196 |                 case .success(let entity):
197 |                     objcCallback(_objc_Entity(entity), nil)
    |                                                        `- error: 'nil' requires a contextual type
198 |
199 |                 case .failure(let error):
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:280:52: error: cannot use optional chaining on non-optional value of type '(Resource) -> ()'
278 |         {
279 |         if let resource = resource
280 |             { objcObserver.stoppedObservingResource?(resource) }
    |                                                    `- error: cannot use optional chaining on non-optional value of type '(Resource) -> ()'
281 |         }
282 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:291:47: error: cannot use optional chaining on non-optional value of type '(Resource, Double) -> ()'
289 |
290 |     func resourceRequestProgress(_ resource: Resource, progress: Double)
291 |         { objcObserver.resourceRequestProgress?(resource, progress: progress) }
    |                                               `- error: cannot use optional chaining on non-optional value of type '(Resource, Double) -> ()'
292 |
293 |     var observerIdentity: AnyHashable
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:294:35: error: argument type 'any _objc_ResourceObserver' expected to be an instance of a class or class-constrained type
292 |
293 |     var observerIdentity: AnyHashable
294 |         { return ObjectIdentifier(objcObserver) }
    |                                   `- error: argument type 'any _objc_ResourceObserver' expected to be an instance of a class or class-constrained type
295 |
296 |     var debugDescription: String
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:368:38: error: cannot find type 'NSURLRequest' in scope
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
    |                                      `- error: cannot find type 'NSURLRequest' in scope
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:368:70: error: cannot find type 'NSMutableURLRequest' in scope
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
    |                                                                      `- error: cannot find type 'NSMutableURLRequest' in scope
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:370:33: error: cannot find type 'URLRequest' in scope
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
    |                                 `- error: cannot find type 'URLRequest' in scope
371 |         }
372 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:222:47: error: cannot find type 'URLRequest' in scope
220 |       - SeeAlso: `Resource.request(...)`
221 |     */
222 |     public typealias RequestMutation = (inout URLRequest) -> Void
    |                                               `- error: cannot find type 'URLRequest' in scope
223 |
224 |     /**
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:257:44: error: @escaping attribute only applies to function types
255 |     public func request(
256 |             _ method: RequestMethod,
257 |             requestMutation adHocMutation: @escaping RequestMutation = { _ in })
    |                                            `- error: @escaping attribute only applies to function types
258 |         -> Request
259 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:30:30: error: @escaping attribute only applies to function types
 28 |             data:            Data,
 29 |             contentType:     String,
 30 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 31 |         -> Request
 32 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:57:30: error: @escaping attribute only applies to function types
 55 |             contentType:     String = "text/plain",
 56 |             encoding:        String.Encoding = String.Encoding.utf8,
 57 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 58 |         -> Request
 59 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:88:30: error: @escaping attribute only applies to function types
 86 |             json:            JSONConvertible,
 87 |             contentType:     String = "application/json",
 88 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 89 |         -> Request
 90 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:127:32: error: @escaping attribute only applies to function types
125 |             _ method:          RequestMethod,
126 |             urlEncoded params: [String:String],
127 |             requestMutation:   @escaping RequestMutation = { _ in })
    |                                `- error: @escaping attribute only applies to function types
128 |         -> Request
129 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:12:14: warning: var 'now' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | // Overridable for testing
 12 | internal var now = { Date.timeIntervalSinceReferenceDate }
    |              |- warning: var 'now' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |              |- note: convert 'now' to a 'let' constant to make 'Sendable' shared state immutable
    |              |- note: annotate 'now' with '@MainActor' if property should only be accessed from the main actor
    |              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |
 14 | /**
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:48:2: error: Objective-C interoperability is disabled
 46 | // happen via overrideLocalData() so that observers always know about changes.)
 47 |
 48 | @objc(BOSEntity)
    |  `- error: Objective-C interoperability is disabled
 49 | public class _objc_Entity: NSObject
 50 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:51:6: error: Objective-C interoperability is disabled
 49 | public class _objc_Entity: NSObject
 50 |     {
 51 |     @objc public var content: AnyObject
    |      `- error: Objective-C interoperability is disabled
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:52:6: error: Objective-C interoperability is disabled
 50 |     {
 51 |     @objc public var content: AnyObject
 52 |     @objc public var contentType: String
    |      `- error: Objective-C interoperability is disabled
 53 |     @objc public var charset: String?
 54 |     @objc public var etag: String?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:53:6: error: Objective-C interoperability is disabled
 51 |     @objc public var content: AnyObject
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
    |      `- error: Objective-C interoperability is disabled
 54 |     @objc public var etag: String?
 55 |     fileprivate var headers: [String:String]
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:54:6: error: Objective-C interoperability is disabled
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
 54 |     @objc public var etag: String?
    |      `- error: Objective-C interoperability is disabled
 55 |     fileprivate var headers: [String:String]
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:56:6: error: Objective-C interoperability is disabled
 54 |     @objc public var etag: String?
 55 |     fileprivate var headers: [String:String]
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
    |      `- error: Objective-C interoperability is disabled
 57 |
 58 |     @objc public init(content: AnyObject, contentType: String, headers: [String:String])
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:58:6: error: Objective-C interoperability is disabled
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
 57 |
 58 |     @objc public init(content: AnyObject, contentType: String, headers: [String:String])
    |      `- error: Objective-C interoperability is disabled
 59 |         {
 60 |         self.content = content
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:65:6: error: Objective-C interoperability is disabled
 63 |         }
 64 |
 65 |     @objc public convenience init(content: AnyObject, contentType: String)
    |      `- error: Objective-C interoperability is disabled
 66 |         { self.init(content: content, contentType: contentType, headers: [:]) }
 67 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:77:6: error: Objective-C interoperability is disabled
 75 |         }
 76 |
 77 |     @objc public func header(_ key: String) -> String?
    |      `- error: Objective-C interoperability is disabled
 78 |         { return headers[key.lowercased()] }
 79 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:80:6: error: Objective-C interoperability is disabled
 78 |         { return headers[key.lowercased()] }
 79 |
 80 |     @objc public override var description: String
    |      `- error: Objective-C interoperability is disabled
 81 |         { return debugStr(Entity<Any>.convertedFromObjc(self)) }
 82 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:92:2: error: Objective-C interoperability is disabled
 90 |     }
 91 |
 92 | @objc(BOSError)
    |  `- error: Objective-C interoperability is disabled
 93 | public class _objc_Error: NSObject
 94 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:95:6: error: Objective-C interoperability is disabled
 93 | public class _objc_Error: NSObject
 94 |     {
 95 |     @objc public var httpStatusCode: Int
    |      `- error: Objective-C interoperability is disabled
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:96:6: error: Objective-C interoperability is disabled
 94 |     {
 95 |     @objc public var httpStatusCode: Int
 96 |     @objc public var cause: NSError?
    |      `- error: Objective-C interoperability is disabled
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:97:6: error: Objective-C interoperability is disabled
 95 |     @objc public var httpStatusCode: Int
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
    |      `- error: Objective-C interoperability is disabled
 98 |     @objc public var entity: _objc_Entity?
 99 |     @objc public let timestamp: TimeInterval
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:98:6: error: Objective-C interoperability is disabled
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
    |      `- error: Objective-C interoperability is disabled
 99 |     @objc public let timestamp: TimeInterval
100 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:99:6: error: Objective-C interoperability is disabled
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
 99 |     @objc public let timestamp: TimeInterval
    |      `- error: Objective-C interoperability is disabled
100 |
101 |     internal init(_ error: RequestError)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:114:6: error: Objective-C interoperability is disabled
112 | extension Service
113 |     {
114 |     @objc(resourceWithAbsoluteURL:)
    |      `- error: Objective-C interoperability is disabled
115 |     public final func _objc_resourceWithAbsoluteURL(absoluteURL url: URL?) -> Resource
116 |         { return resource(absoluteURL: url) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:118:6: error: Objective-C interoperability is disabled
116 |         { return resource(absoluteURL: url) }
117 |
118 |     @objc(resourceWithAbsoluteURLString:)
    |      `- error: Objective-C interoperability is disabled
119 |     public final func _objc_resourceWithAbsoluteURLString(absoluteURL url: String?) -> Resource
120 |         { return resource(absoluteURL: url) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:125:6: error: Objective-C interoperability is disabled
123 | extension Resource
124 |     {
125 |     @objc(latestData)
    |      `- error: Objective-C interoperability is disabled
126 |     public var _objc_latestData: _objc_Entity?
127 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:134:6: error: Objective-C interoperability is disabled
132 |         }
133 |
134 |     @objc(latestError)
    |      `- error: Objective-C interoperability is disabled
135 |     public var _objc_latestError: _objc_Error?
136 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:143:6: error: Objective-C interoperability is disabled
141 |         }
142 |
143 |     @objc(jsonDict)
    |      `- error: Objective-C interoperability is disabled
144 |     public var _objc_jsonDict: NSDictionary
145 |         { return jsonDict as NSDictionary }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:147:6: error: Objective-C interoperability is disabled
145 |         { return jsonDict as NSDictionary }
146 |
147 |     @objc(jsonArray)
    |      `- error: Objective-C interoperability is disabled
148 |     public var _objc_jsonArray: NSArray
149 |         { return jsonArray as NSArray }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:151:6: error: Objective-C interoperability is disabled
149 |         { return jsonArray as NSArray }
150 |
151 |     @objc(text)
    |      `- error: Objective-C interoperability is disabled
152 |     public var _objc_text: String
153 |         { return text }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:155:6: error: Objective-C interoperability is disabled
153 |         { return text }
154 |
155 |     @objc(overrideLocalData:)
    |      `- error: Objective-C interoperability is disabled
156 |     public func _objc_overrideLocalData(_ entity: _objc_Entity)
157 |         { overrideLocalData(with: Entity<Any>.convertedFromObjc(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:159:6: error: Objective-C interoperability is disabled
157 |         { overrideLocalData(with: Entity<Any>.convertedFromObjc(entity)) }
158 |
159 |     @objc(withParams:)
    |      `- error: Objective-C interoperability is disabled
160 |     public func _objc_withParams(_ params: [String:NSObject]) -> Resource
161 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:182:2: error: Objective-C interoperability is disabled
180 | // MARK: - Because Swift closures aren’t exposed as Obj-C blocks
181 |
182 | @objc(BOSRequest)
    |  `- error: Objective-C interoperability is disabled
183 | public class _objc_Request: NSObject
184 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:111: error: '(_objc_Entity?, _objc_Error?) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |                                                                                                               `- error: '(_objc_Entity?, _objc_Error?) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:52: error: @escaping attribute only applies to function types
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |                                                    `- error: @escaping attribute only applies to function types
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:6: error: Objective-C interoperability is disabled
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:93: error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                                                             `- error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:49: error: @escaping attribute only applies to function types
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:6: error: Objective-C interoperability is disabled
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:93: error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                                                             `- error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:49: error: @escaping attribute only applies to function types
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:6: error: Objective-C interoperability is disabled
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:218:6: error: Objective-C interoperability is disabled
216 |         }
217 |
218 |     @objc public func onNotModified(_ objcCallback: @escaping @convention(block) () -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
219 |         {
220 |         request.onNotModified(objcCallback)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:92: error: '(_objc_Error) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |                                                                                            `- error: '(_objc_Error) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:49: error: @escaping attribute only applies to function types
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:6: error: Objective-C interoperability is disabled
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:230:6: error: Objective-C interoperability is disabled
228 |         }
229 |
230 |     @objc public func onProgress(_ objcCallback: @escaping @convention(block) (Float) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
231 |         {
232 |         request.onProgress { p in objcCallback(Float(p)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:236:6: error: Objective-C interoperability is disabled
234 |         }
235 |
236 |     @objc public func cancel()
    |      `- error: Objective-C interoperability is disabled
237 |         { request.cancel() }
238 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:239:6: error: Objective-C interoperability is disabled
237 |         { request.cancel() }
238 |
239 |     @objc public override var description: String
    |      `- error: Objective-C interoperability is disabled
240 |         { return debugStr(request) }
241 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:245:6: error: Objective-C interoperability is disabled
243 | extension Resource
244 |     {
245 |     @objc(load)
    |      `- error: Objective-C interoperability is disabled
246 |     public func _objc_load() -> _objc_Request
247 |         { return _objc_Request(load()) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:249:6: error: Objective-C interoperability is disabled
247 |         { return _objc_Request(load()) }
248 |
249 |     @objc(loadIfNeeded)
    |      `- error: Objective-C interoperability is disabled
250 |     public func _objc_loadIfNeeded() -> _objc_Request?
251 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:261:2: error: Objective-C interoperability is disabled
259 | // MARK: - Because Swift enums aren’t exposed to Obj-C
260 |
261 | @objc(BOSResourceObserver)
    |  `- error: Objective-C interoperability is disabled
262 | public protocol _objc_ResourceObserver
263 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:265:11: error: 'optional' can only be applied to members of an @objc protocol
263 |     {
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
    |           `- error: 'optional' can only be applied to members of an @objc protocol
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
267 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:265:6: error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
263 |     {
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
    |      `- error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
267 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:266:11: error: 'optional' can only be applied to members of an @objc protocol
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
    |           `- error: 'optional' can only be applied to members of an @objc protocol
267 |     }
268 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:266:6: error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
    |      `- error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
267 |     }
268 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:313:6: error: Objective-C interoperability is disabled
311 | extension Resource
312 |     {
313 |     @objc(addObserver:)
    |      `- error: Objective-C interoperability is disabled
314 |     public func _objc_addObserver(_ observerAndOwner: _objc_ResourceObserver & AnyObject) -> Self
315 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: observerAndOwner), owner: observerAndOwner) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:317:6: error: Objective-C interoperability is disabled
315 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: observerAndOwner), owner: observerAndOwner) }
316 |
317 |     @objc(addObserver:owner:)
    |      `- error: Objective-C interoperability is disabled
318 |     public func _objc_addObserver(_ objcObserver: _objc_ResourceObserver, owner: AnyObject) -> Self
319 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: objcObserver), owner: owner) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:322:108: error: '(Resource, String) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
320 |
321 |     @objc(addObserverWithOwner:callback:)
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
    |                                                                                                            `- error: '(Resource, String) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
323 |         {
324 |         return addObserver(owner: owner)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:322:60: error: @escaping attribute only applies to function types
320 |
321 |     @objc(addObserverWithOwner:callback:)
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
    |                                                            `- error: @escaping attribute only applies to function types
323 |         {
324 |         return addObserver(owner: owner)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:321:6: error: Objective-C interoperability is disabled
319 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: objcObserver), owner: owner) }
320 |
321 |     @objc(addObserverWithOwner:callback:)
    |      `- error: Objective-C interoperability is disabled
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
323 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:366:69: error: cannot find type 'NSMutableURLRequest' in scope
364 |         }
365 |
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
    |                                                                     `- error: cannot find type 'NSMutableURLRequest' in scope
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:366:119: error: cannot find type 'URLRequest' in scope
364 |         }
365 |
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
    |                                                                                                                       `- error: cannot find type 'URLRequest' in scope
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:376:51: error: cannot find type 'NSMutableURLRequest' in scope
374 |     public func _objc_request(
375 |             _ method:          String,
376 |             requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                   `- error: cannot find type 'NSMutableURLRequest' in scope
377 |         -> _objc_Request
378 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:373:6: error: Objective-C interoperability is disabled
371 |         }
372 |
373 |     @objc(requestWithMethod:requestMutation:)
    |      `- error: Objective-C interoperability is disabled
374 |     public func _objc_request(
375 |             _ method:          String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:386:6: error: Objective-C interoperability is disabled
384 |         }
385 |
386 |     @objc(requestWithMethod:)
    |      `- error: Objective-C interoperability is disabled
387 |     public func _objc_request(_ method: String)
388 |         -> _objc_Request
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:399:51: error: cannot find type 'NSMutableURLRequest' in scope
397 |             data:            Data,
398 |             contentType:     String,
399 |             requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                   `- error: cannot find type 'NSMutableURLRequest' in scope
400 |         -> _objc_Request
401 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:394:6: error: Objective-C interoperability is disabled
392 |         }
393 |
394 |     @objc(requestWithMethod:data:contentType:requestMutation:)
    |      `- error: Objective-C interoperability is disabled
395 |     public func _objc_request(
396 |             _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:409:7: error: Objective-C interoperability is disabled
407 |         }
408 |
409 |      @objc(requestWithMethod:text:)
    |       `- error: Objective-C interoperability is disabled
410 |      public func _objc_request(
411 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:425:52: error: cannot find type 'NSMutableURLRequest' in scope
423 |              contentType:     String,
424 |              encoding:        UInt = String.Encoding.utf8.rawValue,
425 |              requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                    `- error: cannot find type 'NSMutableURLRequest' in scope
426 |          -> _objc_Request
427 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:419:7: error: Objective-C interoperability is disabled
417 |          }
418 |
419 |      @objc(requestWithMethod:text:contentType:encoding:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
420 |      public func _objc_request(
421 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:435:7: error: Objective-C interoperability is disabled
433 |          }
434 |
435 |      @objc(requestWithMethod:json:)
    |       `- error: Objective-C interoperability is disabled
436 |      public func _objc_request(
437 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:450:52: error: cannot find type 'NSMutableURLRequest' in scope
448 |              json:            NSObject?,
449 |              contentType:     String,
450 |              requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                    `- error: cannot find type 'NSMutableURLRequest' in scope
451 |          -> _objc_Request
452 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:445:7: error: Objective-C interoperability is disabled
443 |          }
444 |
445 |      @objc(requestWithMethod:json:contentType:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
446 |      public func _objc_request(
447 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:464:54: error: cannot find type 'NSMutableURLRequest' in scope
462 |              _ method:          String,
463 |              urlEncoded params: [String:String],
464 |              requestMutation:   (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                      `- error: cannot find type 'NSMutableURLRequest' in scope
465 |          -> _objc_Request
466 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:460:7: error: Objective-C interoperability is disabled
458 |          }
459 |
460 |      @objc(requestWithMethod:urlEncoded:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
461 |      public func _objc_request(
462 |              _ method:          String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:474:6: error: Objective-C interoperability is disabled
472 |          }
473 |
474 |     @objc(loadUsingRequest:)
    |      `- error: Objective-C interoperability is disabled
475 |     public func _objc_load(using req: _objc_Request) -> _objc_Request
476 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:197:56: error: 'nil' requires a contextual type
195 |                 {
196 |                 case .success(let entity):
197 |                     objcCallback(_objc_Entity(entity), nil)
    |                                                        `- error: 'nil' requires a contextual type
198 |
199 |                 case .failure(let error):
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:280:52: error: cannot use optional chaining on non-optional value of type '(Resource) -> ()'
278 |         {
279 |         if let resource = resource
280 |             { objcObserver.stoppedObservingResource?(resource) }
    |                                                    `- error: cannot use optional chaining on non-optional value of type '(Resource) -> ()'
281 |         }
282 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:291:47: error: cannot use optional chaining on non-optional value of type '(Resource, Double) -> ()'
289 |
290 |     func resourceRequestProgress(_ resource: Resource, progress: Double)
291 |         { objcObserver.resourceRequestProgress?(resource, progress: progress) }
    |                                               `- error: cannot use optional chaining on non-optional value of type '(Resource, Double) -> ()'
292 |
293 |     var observerIdentity: AnyHashable
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:294:35: error: argument type 'any _objc_ResourceObserver' expected to be an instance of a class or class-constrained type
292 |
293 |     var observerIdentity: AnyHashable
294 |         { return ObjectIdentifier(objcObserver) }
    |                                   `- error: argument type 'any _objc_ResourceObserver' expected to be an instance of a class or class-constrained type
295 |
296 |     var debugDescription: String
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:368:38: error: cannot find type 'NSURLRequest' in scope
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
    |                                      `- error: cannot find type 'NSURLRequest' in scope
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:368:70: error: cannot find type 'NSMutableURLRequest' in scope
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
    |                                                                      `- error: cannot find type 'NSMutableURLRequest' in scope
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:370:33: error: cannot find type 'URLRequest' in scope
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
    |                                 `- error: cannot find type 'URLRequest' in scope
371 |         }
372 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:222:47: error: cannot find type 'URLRequest' in scope
220 |       - SeeAlso: `Resource.request(...)`
221 |     */
222 |     public typealias RequestMutation = (inout URLRequest) -> Void
    |                                               `- error: cannot find type 'URLRequest' in scope
223 |
224 |     /**
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:257:44: error: @escaping attribute only applies to function types
255 |     public func request(
256 |             _ method: RequestMethod,
257 |             requestMutation adHocMutation: @escaping RequestMutation = { _ in })
    |                                            `- error: @escaping attribute only applies to function types
258 |         -> Request
259 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:30:30: error: @escaping attribute only applies to function types
 28 |             data:            Data,
 29 |             contentType:     String,
 30 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 31 |         -> Request
 32 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:57:30: error: @escaping attribute only applies to function types
 55 |             contentType:     String = "text/plain",
 56 |             encoding:        String.Encoding = String.Encoding.utf8,
 57 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 58 |         -> Request
 59 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:88:30: error: @escaping attribute only applies to function types
 86 |             json:            JSONConvertible,
 87 |             contentType:     String = "application/json",
 88 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 89 |         -> Request
 90 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:127:32: error: @escaping attribute only applies to function types
125 |             _ method:          RequestMethod,
126 |             urlEncoded params: [String:String],
127 |             requestMutation:   @escaping RequestMutation = { _ in })
    |                                `- error: @escaping attribute only applies to function types
128 |         -> Request
129 |         {
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:12:14: warning: var 'now' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | // Overridable for testing
 12 | internal var now = { Date.timeIntervalSinceReferenceDate }
    |              |- warning: var 'now' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |              |- note: convert 'now' to a 'let' constant to make 'Sendable' shared state immutable
    |              |- note: annotate 'now' with '@MainActor' if property should only be accessed from the main actor
    |              `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |
 14 | /**
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:48:2: error: Objective-C interoperability is disabled
 46 | // happen via overrideLocalData() so that observers always know about changes.)
 47 |
 48 | @objc(BOSEntity)
    |  `- error: Objective-C interoperability is disabled
 49 | public class _objc_Entity: NSObject
 50 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:51:6: error: Objective-C interoperability is disabled
 49 | public class _objc_Entity: NSObject
 50 |     {
 51 |     @objc public var content: AnyObject
    |      `- error: Objective-C interoperability is disabled
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:52:6: error: Objective-C interoperability is disabled
 50 |     {
 51 |     @objc public var content: AnyObject
 52 |     @objc public var contentType: String
    |      `- error: Objective-C interoperability is disabled
 53 |     @objc public var charset: String?
 54 |     @objc public var etag: String?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:53:6: error: Objective-C interoperability is disabled
 51 |     @objc public var content: AnyObject
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
    |      `- error: Objective-C interoperability is disabled
 54 |     @objc public var etag: String?
 55 |     fileprivate var headers: [String:String]
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:54:6: error: Objective-C interoperability is disabled
 52 |     @objc public var contentType: String
 53 |     @objc public var charset: String?
 54 |     @objc public var etag: String?
    |      `- error: Objective-C interoperability is disabled
 55 |     fileprivate var headers: [String:String]
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:56:6: error: Objective-C interoperability is disabled
 54 |     @objc public var etag: String?
 55 |     fileprivate var headers: [String:String]
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
    |      `- error: Objective-C interoperability is disabled
 57 |
 58 |     @objc public init(content: AnyObject, contentType: String, headers: [String:String])
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:58:6: error: Objective-C interoperability is disabled
 56 |     @objc public private(set) var timestamp: TimeInterval = 0
 57 |
 58 |     @objc public init(content: AnyObject, contentType: String, headers: [String:String])
    |      `- error: Objective-C interoperability is disabled
 59 |         {
 60 |         self.content = content
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:65:6: error: Objective-C interoperability is disabled
 63 |         }
 64 |
 65 |     @objc public convenience init(content: AnyObject, contentType: String)
    |      `- error: Objective-C interoperability is disabled
 66 |         { self.init(content: content, contentType: contentType, headers: [:]) }
 67 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:77:6: error: Objective-C interoperability is disabled
 75 |         }
 76 |
 77 |     @objc public func header(_ key: String) -> String?
    |      `- error: Objective-C interoperability is disabled
 78 |         { return headers[key.lowercased()] }
 79 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:80:6: error: Objective-C interoperability is disabled
 78 |         { return headers[key.lowercased()] }
 79 |
 80 |     @objc public override var description: String
    |      `- error: Objective-C interoperability is disabled
 81 |         { return debugStr(Entity<Any>.convertedFromObjc(self)) }
 82 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:92:2: error: Objective-C interoperability is disabled
 90 |     }
 91 |
 92 | @objc(BOSError)
    |  `- error: Objective-C interoperability is disabled
 93 | public class _objc_Error: NSObject
 94 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:95:6: error: Objective-C interoperability is disabled
 93 | public class _objc_Error: NSObject
 94 |     {
 95 |     @objc public var httpStatusCode: Int
    |      `- error: Objective-C interoperability is disabled
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:96:6: error: Objective-C interoperability is disabled
 94 |     {
 95 |     @objc public var httpStatusCode: Int
 96 |     @objc public var cause: NSError?
    |      `- error: Objective-C interoperability is disabled
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:97:6: error: Objective-C interoperability is disabled
 95 |     @objc public var httpStatusCode: Int
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
    |      `- error: Objective-C interoperability is disabled
 98 |     @objc public var entity: _objc_Entity?
 99 |     @objc public let timestamp: TimeInterval
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:98:6: error: Objective-C interoperability is disabled
 96 |     @objc public var cause: NSError?
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
    |      `- error: Objective-C interoperability is disabled
 99 |     @objc public let timestamp: TimeInterval
100 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:99:6: error: Objective-C interoperability is disabled
 97 |     @objc public var userMessage: String
 98 |     @objc public var entity: _objc_Entity?
 99 |     @objc public let timestamp: TimeInterval
    |      `- error: Objective-C interoperability is disabled
100 |
101 |     internal init(_ error: RequestError)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:114:6: error: Objective-C interoperability is disabled
112 | extension Service
113 |     {
114 |     @objc(resourceWithAbsoluteURL:)
    |      `- error: Objective-C interoperability is disabled
115 |     public final func _objc_resourceWithAbsoluteURL(absoluteURL url: URL?) -> Resource
116 |         { return resource(absoluteURL: url) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:118:6: error: Objective-C interoperability is disabled
116 |         { return resource(absoluteURL: url) }
117 |
118 |     @objc(resourceWithAbsoluteURLString:)
    |      `- error: Objective-C interoperability is disabled
119 |     public final func _objc_resourceWithAbsoluteURLString(absoluteURL url: String?) -> Resource
120 |         { return resource(absoluteURL: url) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:125:6: error: Objective-C interoperability is disabled
123 | extension Resource
124 |     {
125 |     @objc(latestData)
    |      `- error: Objective-C interoperability is disabled
126 |     public var _objc_latestData: _objc_Entity?
127 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:134:6: error: Objective-C interoperability is disabled
132 |         }
133 |
134 |     @objc(latestError)
    |      `- error: Objective-C interoperability is disabled
135 |     public var _objc_latestError: _objc_Error?
136 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:143:6: error: Objective-C interoperability is disabled
141 |         }
142 |
143 |     @objc(jsonDict)
    |      `- error: Objective-C interoperability is disabled
144 |     public var _objc_jsonDict: NSDictionary
145 |         { return jsonDict as NSDictionary }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:147:6: error: Objective-C interoperability is disabled
145 |         { return jsonDict as NSDictionary }
146 |
147 |     @objc(jsonArray)
    |      `- error: Objective-C interoperability is disabled
148 |     public var _objc_jsonArray: NSArray
149 |         { return jsonArray as NSArray }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:151:6: error: Objective-C interoperability is disabled
149 |         { return jsonArray as NSArray }
150 |
151 |     @objc(text)
    |      `- error: Objective-C interoperability is disabled
152 |     public var _objc_text: String
153 |         { return text }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:155:6: error: Objective-C interoperability is disabled
153 |         { return text }
154 |
155 |     @objc(overrideLocalData:)
    |      `- error: Objective-C interoperability is disabled
156 |     public func _objc_overrideLocalData(_ entity: _objc_Entity)
157 |         { overrideLocalData(with: Entity<Any>.convertedFromObjc(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:159:6: error: Objective-C interoperability is disabled
157 |         { overrideLocalData(with: Entity<Any>.convertedFromObjc(entity)) }
158 |
159 |     @objc(withParams:)
    |      `- error: Objective-C interoperability is disabled
160 |     public func _objc_withParams(_ params: [String:NSObject]) -> Resource
161 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:182:2: error: Objective-C interoperability is disabled
180 | // MARK: - Because Swift closures aren’t exposed as Obj-C blocks
181 |
182 | @objc(BOSRequest)
    |  `- error: Objective-C interoperability is disabled
183 | public class _objc_Request: NSObject
184 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:111: error: '(_objc_Entity?, _objc_Error?) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |                                                                                                               `- error: '(_objc_Entity?, _objc_Error?) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:52: error: @escaping attribute only applies to function types
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |                                                    `- error: @escaping attribute only applies to function types
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:190:6: error: Objective-C interoperability is disabled
188 |         { self.request = request }
189 |
190 |     @objc public func onCompletion(_ objcCallback: @escaping @convention(block) (_objc_Entity?, _objc_Error?) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
191 |         {
192 |         request.onCompletion
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:93: error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                                                             `- error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:49: error: @escaping attribute only applies to function types
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:206:6: error: Objective-C interoperability is disabled
204 |         }
205 |
206 |     @objc public func onSuccess(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
207 |         {
208 |         request.onSuccess { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:93: error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                                                             `- error: '(_objc_Entity) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:49: error: @escaping attribute only applies to function types
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:212:6: error: Objective-C interoperability is disabled
210 |         }
211 |
212 |     @objc public func onNewData(_ objcCallback: @escaping @convention(block) (_objc_Entity) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
213 |         {
214 |         request.onNewData { entity in objcCallback(_objc_Entity(entity)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:218:6: error: Objective-C interoperability is disabled
216 |         }
217 |
218 |     @objc public func onNotModified(_ objcCallback: @escaping @convention(block) () -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
219 |         {
220 |         request.onNotModified(objcCallback)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:92: error: '(_objc_Error) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |                                                                                            `- error: '(_objc_Error) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:49: error: @escaping attribute only applies to function types
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |                                                 `- error: @escaping attribute only applies to function types
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:224:6: error: Objective-C interoperability is disabled
222 |         }
223 |
224 |     @objc public func onFailure(_ objcCallback: @escaping @convention(block) (_objc_Error) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
225 |         {
226 |         request.onFailure { error in objcCallback(_objc_Error(error)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:230:6: error: Objective-C interoperability is disabled
228 |         }
229 |
230 |     @objc public func onProgress(_ objcCallback: @escaping @convention(block) (Float) -> Void) -> _objc_Request
    |      `- error: Objective-C interoperability is disabled
231 |         {
232 |         request.onProgress { p in objcCallback(Float(p)) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:236:6: error: Objective-C interoperability is disabled
234 |         }
235 |
236 |     @objc public func cancel()
    |      `- error: Objective-C interoperability is disabled
237 |         { request.cancel() }
238 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:239:6: error: Objective-C interoperability is disabled
237 |         { request.cancel() }
238 |
239 |     @objc public override var description: String
    |      `- error: Objective-C interoperability is disabled
240 |         { return debugStr(request) }
241 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:245:6: error: Objective-C interoperability is disabled
243 | extension Resource
244 |     {
245 |     @objc(load)
    |      `- error: Objective-C interoperability is disabled
246 |     public func _objc_load() -> _objc_Request
247 |         { return _objc_Request(load()) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:249:6: error: Objective-C interoperability is disabled
247 |         { return _objc_Request(load()) }
248 |
249 |     @objc(loadIfNeeded)
    |      `- error: Objective-C interoperability is disabled
250 |     public func _objc_loadIfNeeded() -> _objc_Request?
251 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:261:2: error: Objective-C interoperability is disabled
259 | // MARK: - Because Swift enums aren’t exposed to Obj-C
260 |
261 | @objc(BOSResourceObserver)
    |  `- error: Objective-C interoperability is disabled
262 | public protocol _objc_ResourceObserver
263 |     {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:265:11: error: 'optional' can only be applied to members of an @objc protocol
263 |     {
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
    |           `- error: 'optional' can only be applied to members of an @objc protocol
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
267 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:265:6: error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
263 |     {
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
    |      `- error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
267 |     }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:266:11: error: 'optional' can only be applied to members of an @objc protocol
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
    |           `- error: 'optional' can only be applied to members of an @objc protocol
267 |     }
268 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:266:6: error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
264 |     func resourceChanged(_ resource: Resource, event: String)
265 |     @objc optional func resourceRequestProgress(_ resource: Resource, progress: Double)
266 |     @objc optional func stoppedObservingResource(_ resource: Resource)
    |      `- error: @objc can only be used with members of classes, @objc protocols, and concrete extensions of classes
267 |     }
268 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:313:6: error: Objective-C interoperability is disabled
311 | extension Resource
312 |     {
313 |     @objc(addObserver:)
    |      `- error: Objective-C interoperability is disabled
314 |     public func _objc_addObserver(_ observerAndOwner: _objc_ResourceObserver & AnyObject) -> Self
315 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: observerAndOwner), owner: observerAndOwner) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:317:6: error: Objective-C interoperability is disabled
315 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: observerAndOwner), owner: observerAndOwner) }
316 |
317 |     @objc(addObserver:owner:)
    |      `- error: Objective-C interoperability is disabled
318 |     public func _objc_addObserver(_ objcObserver: _objc_ResourceObserver, owner: AnyObject) -> Self
319 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: objcObserver), owner: owner) }
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:322:108: error: '(Resource, String) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
320 |
321 |     @objc(addObserverWithOwner:callback:)
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
    |                                                                                                            `- error: '(Resource, String) -> Void' is not representable in Objective-C, so it cannot be used with '@convention(block)'
323 |         {
324 |         return addObserver(owner: owner)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:322:60: error: @escaping attribute only applies to function types
320 |
321 |     @objc(addObserverWithOwner:callback:)
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
    |                                                            `- error: @escaping attribute only applies to function types
323 |         {
324 |         return addObserver(owner: owner)
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:321:6: error: Objective-C interoperability is disabled
319 |         { return addObserver(_objc_ResourceObserverGlue(objcObserver: objcObserver), owner: owner) }
320 |
321 |     @objc(addObserverWithOwner:callback:)
    |      `- error: Objective-C interoperability is disabled
322 |     public func _objc_addObserver(owner: AnyObject, block: @escaping @convention(block) (Resource, String) -> Void) -> Self
323 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:366:69: error: cannot find type 'NSMutableURLRequest' in scope
364 |         }
365 |
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
    |                                                                     `- error: cannot find type 'NSMutableURLRequest' in scope
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:366:119: error: cannot find type 'URLRequest' in scope
364 |         }
365 |
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
    |                                                                                                                       `- error: cannot find type 'URLRequest' in scope
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:376:51: error: cannot find type 'NSMutableURLRequest' in scope
374 |     public func _objc_request(
375 |             _ method:          String,
376 |             requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                   `- error: cannot find type 'NSMutableURLRequest' in scope
377 |         -> _objc_Request
378 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:373:6: error: Objective-C interoperability is disabled
371 |         }
372 |
373 |     @objc(requestWithMethod:requestMutation:)
    |      `- error: Objective-C interoperability is disabled
374 |     public func _objc_request(
375 |             _ method:          String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:386:6: error: Objective-C interoperability is disabled
384 |         }
385 |
386 |     @objc(requestWithMethod:)
    |      `- error: Objective-C interoperability is disabled
387 |     public func _objc_request(_ method: String)
388 |         -> _objc_Request
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:399:51: error: cannot find type 'NSMutableURLRequest' in scope
397 |             data:            Data,
398 |             contentType:     String,
399 |             requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                   `- error: cannot find type 'NSMutableURLRequest' in scope
400 |         -> _objc_Request
401 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:394:6: error: Objective-C interoperability is disabled
392 |         }
393 |
394 |     @objc(requestWithMethod:data:contentType:requestMutation:)
    |      `- error: Objective-C interoperability is disabled
395 |     public func _objc_request(
396 |             _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:409:7: error: Objective-C interoperability is disabled
407 |         }
408 |
409 |      @objc(requestWithMethod:text:)
    |       `- error: Objective-C interoperability is disabled
410 |      public func _objc_request(
411 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:425:52: error: cannot find type 'NSMutableURLRequest' in scope
423 |              contentType:     String,
424 |              encoding:        UInt = String.Encoding.utf8.rawValue,
425 |              requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                    `- error: cannot find type 'NSMutableURLRequest' in scope
426 |          -> _objc_Request
427 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:419:7: error: Objective-C interoperability is disabled
417 |          }
418 |
419 |      @objc(requestWithMethod:text:contentType:encoding:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
420 |      public func _objc_request(
421 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:435:7: error: Objective-C interoperability is disabled
433 |          }
434 |
435 |      @objc(requestWithMethod:json:)
    |       `- error: Objective-C interoperability is disabled
436 |      public func _objc_request(
437 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:450:52: error: cannot find type 'NSMutableURLRequest' in scope
448 |              json:            NSObject?,
449 |              contentType:     String,
450 |              requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                    `- error: cannot find type 'NSMutableURLRequest' in scope
451 |          -> _objc_Request
452 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:445:7: error: Objective-C interoperability is disabled
443 |          }
444 |
445 |      @objc(requestWithMethod:json:contentType:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
446 |      public func _objc_request(
447 |              _ method:        String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:464:54: error: cannot find type 'NSMutableURLRequest' in scope
462 |              _ method:          String,
463 |              urlEncoded params: [String:String],
464 |              requestMutation:   (@convention(block) (NSMutableURLRequest) -> Void)?)
    |                                                      `- error: cannot find type 'NSMutableURLRequest' in scope
465 |          -> _objc_Request
466 |          {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:460:7: error: Objective-C interoperability is disabled
458 |          }
459 |
460 |      @objc(requestWithMethod:urlEncoded:requestMutation:)
    |       `- error: Objective-C interoperability is disabled
461 |      public func _objc_request(
462 |              _ method:          String,
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:474:6: error: Objective-C interoperability is disabled
472 |          }
473 |
474 |     @objc(loadUsingRequest:)
    |      `- error: Objective-C interoperability is disabled
475 |     public func _objc_load(using req: _objc_Request) -> _objc_Request
476 |         {
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:197:56: error: 'nil' requires a contextual type
195 |                 {
196 |                 case .success(let entity):
197 |                     objcCallback(_objc_Entity(entity), nil)
    |                                                        `- error: 'nil' requires a contextual type
198 |
199 |                 case .failure(let error):
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:280:52: error: cannot use optional chaining on non-optional value of type '(Resource) -> ()'
278 |         {
279 |         if let resource = resource
280 |             { objcObserver.stoppedObservingResource?(resource) }
    |                                                    `- error: cannot use optional chaining on non-optional value of type '(Resource) -> ()'
281 |         }
282 |
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:291:47: error: cannot use optional chaining on non-optional value of type '(Resource, Double) -> ()'
289 |
290 |     func resourceRequestProgress(_ resource: Resource, progress: Double)
291 |         { objcObserver.resourceRequestProgress?(resource, progress: progress) }
    |                                               `- error: cannot use optional chaining on non-optional value of type '(Resource, Double) -> ()'
292 |
293 |     var observerIdentity: AnyHashable
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:294:35: error: argument type 'any _objc_ResourceObserver' expected to be an instance of a class or class-constrained type
292 |
293 |     var observerIdentity: AnyHashable
294 |         { return ObjectIdentifier(objcObserver) }
    |                                   `- error: argument type 'any _objc_ResourceObserver' expected to be an instance of a class or class-constrained type
295 |
296 |     var debugDescription: String
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:368:38: error: cannot find type 'NSURLRequest' in scope
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
    |                                      `- error: cannot find type 'NSURLRequest' in scope
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:368:70: error: cannot find type 'NSMutableURLRequest' in scope
366 |     private static func apply(requestMutation: (@convention(block) (NSMutableURLRequest) -> Void)?, to request: inout URLRequest)
367 |         {
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
    |                                                                      `- error: cannot find type 'NSMutableURLRequest' in scope
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
/host/spi-builder-workspace/Source/Siesta/Support/Siesta-ObjC.swift:370:33: error: cannot find type 'URLRequest' in scope
368 |         let mutableReq = (request as NSURLRequest).mutableCopy() as! NSMutableURLRequest
369 |         requestMutation?(mutableReq)
370 |         request = mutableReq as URLRequest
    |                                 `- error: cannot find type 'URLRequest' in scope
371 |         }
372 |
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:222:47: error: cannot find type 'URLRequest' in scope
220 |       - SeeAlso: `Resource.request(...)`
221 |     */
222 |     public typealias RequestMutation = (inout URLRequest) -> Void
    |                                               `- error: cannot find type 'URLRequest' in scope
223 |
224 |     /**
/host/spi-builder-workspace/Source/Siesta/Resource/Resource.swift:257:44: error: @escaping attribute only applies to function types
255 |     public func request(
256 |             _ method: RequestMethod,
257 |             requestMutation adHocMutation: @escaping RequestMutation = { _ in })
    |                                            `- error: @escaping attribute only applies to function types
258 |         -> Request
259 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:30:30: error: @escaping attribute only applies to function types
 28 |             data:            Data,
 29 |             contentType:     String,
 30 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 31 |         -> Request
 32 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:57:30: error: @escaping attribute only applies to function types
 55 |             contentType:     String = "text/plain",
 56 |             encoding:        String.Encoding = String.Encoding.utf8,
 57 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 58 |         -> Request
 59 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:88:30: error: @escaping attribute only applies to function types
 86 |             json:            JSONConvertible,
 87 |             contentType:     String = "application/json",
 88 |             requestMutation: @escaping RequestMutation = { _ in })
    |                              `- error: @escaping attribute only applies to function types
 89 |         -> Request
 90 |         {
/host/spi-builder-workspace/Source/Siesta/Request/RequestCreation.swift:127:32: error: @escaping attribute only applies to function types
125 |             _ method:          RequestMethod,
126 |             urlEncoded params: [String:String],
127 |             requestMutation:   @escaping RequestMutation = { _ in })
    |                                `- error: @escaping attribute only applies to function types
128 |         -> Request
129 |         {
BUILD FAILURE 6.0 linux