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

Successful build of TwitterAPIKit, reference main (7bbdd8), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 06:09:39 UTC.

Swift 6 data race errors: 24

Build Command

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

Build Log

138 |                 result: .failure(error),
139 |                 rateLimit: nil)
140 |             block(response)
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
141 |         }
142 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:119:30: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
117 |         group.enter()
118 |         taskQueue.async { [weak self] in
119 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
120 |
121 |             let response = self.getResponse().flatMap(transform)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:121:55: warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
119 |             guard let self = self else { return }
120 |
121 |             let response = self.getResponse().flatMap(transform)
    |                                                       |- warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
    |                                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
122 |
123 |             queue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:124:34: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
122 |
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
    |                                  `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
125 |                 block(response)
126 |                 self.group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:43:30: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
41 |     func append(chunk: Data) {
42 |         taskQueue.async { [weak self] in
43 |             guard let self = self else { return }
   |                              `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
44 |
45 |             guard let httpResponse = self.httpResponse else {
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:77:34: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
75 |         if let error = error {
76 |             taskQueue.async { [weak self] in
77 |                 guard let self = self else { return }
   |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
78 |                 self.notify(result: .failure(.responseFailed(reason: .invalidResponse(error: error))), rateLimit: nil)
79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:89:17: warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 87 |             group.enter()
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
    |                 `- warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 90 |                     responses.append($0)
 91 |                     group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIClient.swift:5:23: warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | open class TwitterAPIClient {
  4 |
  5 |     public static var defaultJSONDecoder: JSONDecoder = {
    |                       |- warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultJSONDecoder' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultJSONDecoder' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |         let decoder = JSONDecoder()
  7 |         decoder.keyDecodingStrategy = .convertFromSnakeCase
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:5:10: warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  3 | public enum TwitterAPIKitError: Error {
  4 |
  5 |     case requestFailed(reason: RequestFailureReason)
    |          `- warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  6 |     public enum RequestFailureReason {
    |                 `- note: consider making enum 'RequestFailureReason' conform to the 'Sendable' protocol
  7 |         case invalidURL(url: String)
  8 |         case invalidParameter(parameter: [String: Any], cause: String)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:14:10: warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 12 |     }
 13 |
 14 |     case responseFailed(reason: ResponseFailureReason)
    |          `- warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 15 |     public enum ResponseFailureReason {
    |                 `- note: consider making enum 'ResponseFailureReason' conform to the 'Sendable' protocol
 16 |         case invalidResponse(error: Error?)
 17 |         case unacceptableStatusCode(statusCode: Int, error: TwitterAPIErrorResponse, rateLimit: TwitterRateLimit?)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:20:10: warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 18 |     }
 19 |
 20 |     case responseSerializeFailed(reason: ResponseSerializationFailureReason)
    |          `- warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 21 |     public enum ResponseSerializationFailureReason {
    |                 `- note: consider making enum 'ResponseSerializationFailureReason' conform to the 'Sendable' protocol
 22 |         case jsonSerializationFailed(error: Error)
 23 |         case jsonDecodeFailed(error: Error)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:27:10: warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 25 |     }
 26 |
 27 |     case uploadMediaFailed(reason: UploadMediaFailureReason)
    |          `- warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 28 |     public enum UploadMediaFailureReason {
    |                 `- note: consider making enum 'UploadMediaFailureReason' conform to the 'Sendable' protocol
 29 |         case processingFailed(error: UploadMediaError)
 30 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:32:10: warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     case refreshOAuth20TokenFailed(reason: RefreshOAuth20TokenFailureReason)
    |          `- warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 33 |     public enum RefreshOAuth20TokenFailureReason {
    |                 `- note: consider making enum 'RefreshOAuth20TokenFailureReason' conform to the 'Sendable' protocol
 34 |         case invalidAuthenticationMethod(TwitterAuthenticationMethod)
 35 |         case refreshTokenIsMissing
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:12:7: warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
10 | }
11 |
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
   |       `- warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:14:17: warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
   |                 `- warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
15 |
16 |     func appendAndResume(task: URLSessionTask) -> TwitterAPISessionJSONTask {
[264/269] Compiling TwitterAPIKit TwitterAPIRequest.swift
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:21:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
 19 |     ) -> TwitterAPIFailedTask {
 20 |         queue.async {
 21 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 22 |                 TwitterAPIResponse<Data>(
 23 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:26:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 24 |                     response: nil,
 25 |                     data: nil,
 26 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 27 |                     rateLimit: nil)
 28 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:46:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
 44 |     ) -> TwitterAPIFailedTask {
 45 |         queue.async {
 46 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 47 |                 TwitterAPIResponse<Any>(
 48 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:51:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 49 |                     response: nil,
 50 |                     data: nil,
 51 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 52 |                     rateLimit: nil)
 53 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:74:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
 72 |     ) -> TwitterAPIFailedTask where T: Decodable {
 73 |         queue.async {
 74 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 75 |                 TwitterAPIResponse<T>(
 76 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:79:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 77 |                     response: nil,
 78 |                     data: nil,
 79 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 80 |                     rateLimit: nil)
 81 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:138:34: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
136 |                 response: nil,
137 |                 data: nil,
138 |                 result: .failure(error),
    |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
139 |                 rateLimit: nil)
140 |             block(response)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:140:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
138 |                 result: .failure(error),
139 |                 rateLimit: nil)
140 |             block(response)
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
141 |         }
142 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:119:30: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
117 |         group.enter()
118 |         taskQueue.async { [weak self] in
119 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
120 |
121 |             let response = self.getResponse().flatMap(transform)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:121:55: warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
119 |             guard let self = self else { return }
120 |
121 |             let response = self.getResponse().flatMap(transform)
    |                                                       |- warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
    |                                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
122 |
123 |             queue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:124:34: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
122 |
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
    |                                  `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
125 |                 block(response)
126 |                 self.group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:43:30: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
41 |     func append(chunk: Data) {
42 |         taskQueue.async { [weak self] in
43 |             guard let self = self else { return }
   |                              `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
44 |
45 |             guard let httpResponse = self.httpResponse else {
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:77:34: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
75 |         if let error = error {
76 |             taskQueue.async { [weak self] in
77 |                 guard let self = self else { return }
   |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
78 |                 self.notify(result: .failure(.responseFailed(reason: .invalidResponse(error: error))), rateLimit: nil)
79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:89:17: warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 87 |             group.enter()
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
    |                 `- warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 90 |                     responses.append($0)
 91 |                     group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIClient.swift:5:23: warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | open class TwitterAPIClient {
  4 |
  5 |     public static var defaultJSONDecoder: JSONDecoder = {
    |                       |- warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultJSONDecoder' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultJSONDecoder' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |         let decoder = JSONDecoder()
  7 |         decoder.keyDecodingStrategy = .convertFromSnakeCase
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:5:10: warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  3 | public enum TwitterAPIKitError: Error {
  4 |
  5 |     case requestFailed(reason: RequestFailureReason)
    |          `- warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  6 |     public enum RequestFailureReason {
    |                 `- note: consider making enum 'RequestFailureReason' conform to the 'Sendable' protocol
  7 |         case invalidURL(url: String)
  8 |         case invalidParameter(parameter: [String: Any], cause: String)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:14:10: warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 12 |     }
 13 |
 14 |     case responseFailed(reason: ResponseFailureReason)
    |          `- warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 15 |     public enum ResponseFailureReason {
    |                 `- note: consider making enum 'ResponseFailureReason' conform to the 'Sendable' protocol
 16 |         case invalidResponse(error: Error?)
 17 |         case unacceptableStatusCode(statusCode: Int, error: TwitterAPIErrorResponse, rateLimit: TwitterRateLimit?)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:20:10: warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 18 |     }
 19 |
 20 |     case responseSerializeFailed(reason: ResponseSerializationFailureReason)
    |          `- warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 21 |     public enum ResponseSerializationFailureReason {
    |                 `- note: consider making enum 'ResponseSerializationFailureReason' conform to the 'Sendable' protocol
 22 |         case jsonSerializationFailed(error: Error)
 23 |         case jsonDecodeFailed(error: Error)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:27:10: warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 25 |     }
 26 |
 27 |     case uploadMediaFailed(reason: UploadMediaFailureReason)
    |          `- warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 28 |     public enum UploadMediaFailureReason {
    |                 `- note: consider making enum 'UploadMediaFailureReason' conform to the 'Sendable' protocol
 29 |         case processingFailed(error: UploadMediaError)
 30 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:32:10: warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     case refreshOAuth20TokenFailed(reason: RefreshOAuth20TokenFailureReason)
    |          `- warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 33 |     public enum RefreshOAuth20TokenFailureReason {
    |                 `- note: consider making enum 'RefreshOAuth20TokenFailureReason' conform to the 'Sendable' protocol
 34 |         case invalidAuthenticationMethod(TwitterAuthenticationMethod)
 35 |         case refreshTokenIsMissing
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:12:7: warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
10 | }
11 |
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
   |       `- warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:14:17: warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
   |                 `- warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
15 |
16 |     func appendAndResume(task: URLSessionTask) -> TwitterAPISessionJSONTask {
[265/269] Compiling TwitterAPIKit TwitterAPIResponse.swift
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:21:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
 19 |     ) -> TwitterAPIFailedTask {
 20 |         queue.async {
 21 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 22 |                 TwitterAPIResponse<Data>(
 23 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:26:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 24 |                     response: nil,
 25 |                     data: nil,
 26 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 27 |                     rateLimit: nil)
 28 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:46:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
 44 |     ) -> TwitterAPIFailedTask {
 45 |         queue.async {
 46 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 47 |                 TwitterAPIResponse<Any>(
 48 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:51:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 49 |                     response: nil,
 50 |                     data: nil,
 51 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 52 |                     rateLimit: nil)
 53 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:74:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
 72 |     ) -> TwitterAPIFailedTask where T: Decodable {
 73 |         queue.async {
 74 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 75 |                 TwitterAPIResponse<T>(
 76 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:79:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 77 |                     response: nil,
 78 |                     data: nil,
 79 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 80 |                     rateLimit: nil)
 81 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:138:34: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
136 |                 response: nil,
137 |                 data: nil,
138 |                 result: .failure(error),
    |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
139 |                 rateLimit: nil)
140 |             block(response)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:140:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
138 |                 result: .failure(error),
139 |                 rateLimit: nil)
140 |             block(response)
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
141 |         }
142 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:119:30: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
117 |         group.enter()
118 |         taskQueue.async { [weak self] in
119 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
120 |
121 |             let response = self.getResponse().flatMap(transform)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:121:55: warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
119 |             guard let self = self else { return }
120 |
121 |             let response = self.getResponse().flatMap(transform)
    |                                                       |- warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
    |                                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
122 |
123 |             queue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:124:34: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
122 |
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
    |                                  `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
125 |                 block(response)
126 |                 self.group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:43:30: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
41 |     func append(chunk: Data) {
42 |         taskQueue.async { [weak self] in
43 |             guard let self = self else { return }
   |                              `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
44 |
45 |             guard let httpResponse = self.httpResponse else {
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:77:34: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
75 |         if let error = error {
76 |             taskQueue.async { [weak self] in
77 |                 guard let self = self else { return }
   |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
78 |                 self.notify(result: .failure(.responseFailed(reason: .invalidResponse(error: error))), rateLimit: nil)
79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:89:17: warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 87 |             group.enter()
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
    |                 `- warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 90 |                     responses.append($0)
 91 |                     group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIClient.swift:5:23: warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | open class TwitterAPIClient {
  4 |
  5 |     public static var defaultJSONDecoder: JSONDecoder = {
    |                       |- warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultJSONDecoder' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultJSONDecoder' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |         let decoder = JSONDecoder()
  7 |         decoder.keyDecodingStrategy = .convertFromSnakeCase
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:5:10: warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  3 | public enum TwitterAPIKitError: Error {
  4 |
  5 |     case requestFailed(reason: RequestFailureReason)
    |          `- warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  6 |     public enum RequestFailureReason {
    |                 `- note: consider making enum 'RequestFailureReason' conform to the 'Sendable' protocol
  7 |         case invalidURL(url: String)
  8 |         case invalidParameter(parameter: [String: Any], cause: String)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:14:10: warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 12 |     }
 13 |
 14 |     case responseFailed(reason: ResponseFailureReason)
    |          `- warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 15 |     public enum ResponseFailureReason {
    |                 `- note: consider making enum 'ResponseFailureReason' conform to the 'Sendable' protocol
 16 |         case invalidResponse(error: Error?)
 17 |         case unacceptableStatusCode(statusCode: Int, error: TwitterAPIErrorResponse, rateLimit: TwitterRateLimit?)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:20:10: warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 18 |     }
 19 |
 20 |     case responseSerializeFailed(reason: ResponseSerializationFailureReason)
    |          `- warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 21 |     public enum ResponseSerializationFailureReason {
    |                 `- note: consider making enum 'ResponseSerializationFailureReason' conform to the 'Sendable' protocol
 22 |         case jsonSerializationFailed(error: Error)
 23 |         case jsonDecodeFailed(error: Error)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:27:10: warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 25 |     }
 26 |
 27 |     case uploadMediaFailed(reason: UploadMediaFailureReason)
    |          `- warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 28 |     public enum UploadMediaFailureReason {
    |                 `- note: consider making enum 'UploadMediaFailureReason' conform to the 'Sendable' protocol
 29 |         case processingFailed(error: UploadMediaError)
 30 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:32:10: warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     case refreshOAuth20TokenFailed(reason: RefreshOAuth20TokenFailureReason)
    |          `- warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 33 |     public enum RefreshOAuth20TokenFailureReason {
    |                 `- note: consider making enum 'RefreshOAuth20TokenFailureReason' conform to the 'Sendable' protocol
 34 |         case invalidAuthenticationMethod(TwitterAuthenticationMethod)
 35 |         case refreshTokenIsMissing
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:12:7: warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
10 | }
11 |
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
   |       `- warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:14:17: warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
   |                 `- warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
15 |
16 |     func appendAndResume(task: URLSessionTask) -> TwitterAPISessionJSONTask {
[266/269] Compiling TwitterAPIKit TwitterAPISession.swift
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:21:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
 19 |     ) -> TwitterAPIFailedTask {
 20 |         queue.async {
 21 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 22 |                 TwitterAPIResponse<Data>(
 23 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:26:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 24 |                     response: nil,
 25 |                     data: nil,
 26 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 27 |                     rateLimit: nil)
 28 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:46:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
 44 |     ) -> TwitterAPIFailedTask {
 45 |         queue.async {
 46 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 47 |                 TwitterAPIResponse<Any>(
 48 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:51:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 49 |                     response: nil,
 50 |                     data: nil,
 51 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 52 |                     rateLimit: nil)
 53 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:74:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
 72 |     ) -> TwitterAPIFailedTask where T: Decodable {
 73 |         queue.async {
 74 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 75 |                 TwitterAPIResponse<T>(
 76 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:79:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 77 |                     response: nil,
 78 |                     data: nil,
 79 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 80 |                     rateLimit: nil)
 81 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:138:34: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
136 |                 response: nil,
137 |                 data: nil,
138 |                 result: .failure(error),
    |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
139 |                 rateLimit: nil)
140 |             block(response)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:140:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
138 |                 result: .failure(error),
139 |                 rateLimit: nil)
140 |             block(response)
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
141 |         }
142 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:119:30: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
117 |         group.enter()
118 |         taskQueue.async { [weak self] in
119 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
120 |
121 |             let response = self.getResponse().flatMap(transform)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:121:55: warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
119 |             guard let self = self else { return }
120 |
121 |             let response = self.getResponse().flatMap(transform)
    |                                                       |- warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
    |                                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
122 |
123 |             queue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:124:34: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
122 |
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
    |                                  `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
125 |                 block(response)
126 |                 self.group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:43:30: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
41 |     func append(chunk: Data) {
42 |         taskQueue.async { [weak self] in
43 |             guard let self = self else { return }
   |                              `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
44 |
45 |             guard let httpResponse = self.httpResponse else {
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:77:34: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
75 |         if let error = error {
76 |             taskQueue.async { [weak self] in
77 |                 guard let self = self else { return }
   |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
78 |                 self.notify(result: .failure(.responseFailed(reason: .invalidResponse(error: error))), rateLimit: nil)
79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:89:17: warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 87 |             group.enter()
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
    |                 `- warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 90 |                     responses.append($0)
 91 |                     group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIClient.swift:5:23: warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | open class TwitterAPIClient {
  4 |
  5 |     public static var defaultJSONDecoder: JSONDecoder = {
    |                       |- warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultJSONDecoder' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultJSONDecoder' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |         let decoder = JSONDecoder()
  7 |         decoder.keyDecodingStrategy = .convertFromSnakeCase
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:5:10: warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  3 | public enum TwitterAPIKitError: Error {
  4 |
  5 |     case requestFailed(reason: RequestFailureReason)
    |          `- warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  6 |     public enum RequestFailureReason {
    |                 `- note: consider making enum 'RequestFailureReason' conform to the 'Sendable' protocol
  7 |         case invalidURL(url: String)
  8 |         case invalidParameter(parameter: [String: Any], cause: String)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:14:10: warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 12 |     }
 13 |
 14 |     case responseFailed(reason: ResponseFailureReason)
    |          `- warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 15 |     public enum ResponseFailureReason {
    |                 `- note: consider making enum 'ResponseFailureReason' conform to the 'Sendable' protocol
 16 |         case invalidResponse(error: Error?)
 17 |         case unacceptableStatusCode(statusCode: Int, error: TwitterAPIErrorResponse, rateLimit: TwitterRateLimit?)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:20:10: warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 18 |     }
 19 |
 20 |     case responseSerializeFailed(reason: ResponseSerializationFailureReason)
    |          `- warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 21 |     public enum ResponseSerializationFailureReason {
    |                 `- note: consider making enum 'ResponseSerializationFailureReason' conform to the 'Sendable' protocol
 22 |         case jsonSerializationFailed(error: Error)
 23 |         case jsonDecodeFailed(error: Error)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:27:10: warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 25 |     }
 26 |
 27 |     case uploadMediaFailed(reason: UploadMediaFailureReason)
    |          `- warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 28 |     public enum UploadMediaFailureReason {
    |                 `- note: consider making enum 'UploadMediaFailureReason' conform to the 'Sendable' protocol
 29 |         case processingFailed(error: UploadMediaError)
 30 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:32:10: warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     case refreshOAuth20TokenFailed(reason: RefreshOAuth20TokenFailureReason)
    |          `- warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 33 |     public enum RefreshOAuth20TokenFailureReason {
    |                 `- note: consider making enum 'RefreshOAuth20TokenFailureReason' conform to the 'Sendable' protocol
 34 |         case invalidAuthenticationMethod(TwitterAuthenticationMethod)
 35 |         case refreshTokenIsMissing
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:12:7: warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
10 | }
11 |
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
   |       `- warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:14:17: warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
   |                 `- warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
15 |
16 |     func appendAndResume(task: URLSessionTask) -> TwitterAPISessionJSONTask {
[267/269] Compiling TwitterAPIKit TwitterAPISessionDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:21:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
 19 |     ) -> TwitterAPIFailedTask {
 20 |         queue.async {
 21 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 22 |                 TwitterAPIResponse<Data>(
 23 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:26:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 24 |                     response: nil,
 25 |                     data: nil,
 26 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 27 |                     rateLimit: nil)
 28 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:46:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
 44 |     ) -> TwitterAPIFailedTask {
 45 |         queue.async {
 46 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 47 |                 TwitterAPIResponse<Any>(
 48 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:51:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 49 |                     response: nil,
 50 |                     data: nil,
 51 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 52 |                     rateLimit: nil)
 53 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:74:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
 72 |     ) -> TwitterAPIFailedTask where T: Decodable {
 73 |         queue.async {
 74 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 75 |                 TwitterAPIResponse<T>(
 76 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:79:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 77 |                     response: nil,
 78 |                     data: nil,
 79 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 80 |                     rateLimit: nil)
 81 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:138:34: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
136 |                 response: nil,
137 |                 data: nil,
138 |                 result: .failure(error),
    |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
139 |                 rateLimit: nil)
140 |             block(response)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:140:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
138 |                 result: .failure(error),
139 |                 rateLimit: nil)
140 |             block(response)
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
141 |         }
142 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:119:30: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
117 |         group.enter()
118 |         taskQueue.async { [weak self] in
119 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
120 |
121 |             let response = self.getResponse().flatMap(transform)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:121:55: warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
119 |             guard let self = self else { return }
120 |
121 |             let response = self.getResponse().flatMap(transform)
    |                                                       |- warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
    |                                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
122 |
123 |             queue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:124:34: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
122 |
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
    |                                  `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
125 |                 block(response)
126 |                 self.group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:43:30: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
41 |     func append(chunk: Data) {
42 |         taskQueue.async { [weak self] in
43 |             guard let self = self else { return }
   |                              `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
44 |
45 |             guard let httpResponse = self.httpResponse else {
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:77:34: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
75 |         if let error = error {
76 |             taskQueue.async { [weak self] in
77 |                 guard let self = self else { return }
   |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
78 |                 self.notify(result: .failure(.responseFailed(reason: .invalidResponse(error: error))), rateLimit: nil)
79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:89:17: warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 87 |             group.enter()
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
    |                 `- warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 90 |                     responses.append($0)
 91 |                     group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIClient.swift:5:23: warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | open class TwitterAPIClient {
  4 |
  5 |     public static var defaultJSONDecoder: JSONDecoder = {
    |                       |- warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultJSONDecoder' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultJSONDecoder' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |         let decoder = JSONDecoder()
  7 |         decoder.keyDecodingStrategy = .convertFromSnakeCase
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:5:10: warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  3 | public enum TwitterAPIKitError: Error {
  4 |
  5 |     case requestFailed(reason: RequestFailureReason)
    |          `- warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  6 |     public enum RequestFailureReason {
    |                 `- note: consider making enum 'RequestFailureReason' conform to the 'Sendable' protocol
  7 |         case invalidURL(url: String)
  8 |         case invalidParameter(parameter: [String: Any], cause: String)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:14:10: warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 12 |     }
 13 |
 14 |     case responseFailed(reason: ResponseFailureReason)
    |          `- warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 15 |     public enum ResponseFailureReason {
    |                 `- note: consider making enum 'ResponseFailureReason' conform to the 'Sendable' protocol
 16 |         case invalidResponse(error: Error?)
 17 |         case unacceptableStatusCode(statusCode: Int, error: TwitterAPIErrorResponse, rateLimit: TwitterRateLimit?)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:20:10: warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 18 |     }
 19 |
 20 |     case responseSerializeFailed(reason: ResponseSerializationFailureReason)
    |          `- warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 21 |     public enum ResponseSerializationFailureReason {
    |                 `- note: consider making enum 'ResponseSerializationFailureReason' conform to the 'Sendable' protocol
 22 |         case jsonSerializationFailed(error: Error)
 23 |         case jsonDecodeFailed(error: Error)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:27:10: warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 25 |     }
 26 |
 27 |     case uploadMediaFailed(reason: UploadMediaFailureReason)
    |          `- warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 28 |     public enum UploadMediaFailureReason {
    |                 `- note: consider making enum 'UploadMediaFailureReason' conform to the 'Sendable' protocol
 29 |         case processingFailed(error: UploadMediaError)
 30 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:32:10: warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     case refreshOAuth20TokenFailed(reason: RefreshOAuth20TokenFailureReason)
    |          `- warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 33 |     public enum RefreshOAuth20TokenFailureReason {
    |                 `- note: consider making enum 'RefreshOAuth20TokenFailureReason' conform to the 'Sendable' protocol
 34 |         case invalidAuthenticationMethod(TwitterAuthenticationMethod)
 35 |         case refreshTokenIsMissing
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:12:7: warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
10 | }
11 |
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
   |       `- warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:14:17: warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
   |                 `- warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
15 |
16 |     func appendAndResume(task: URLSessionTask) -> TwitterAPISessionJSONTask {
[268/269] Compiling TwitterAPIKit TwitterAuthenticationMethod.swift
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:21:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
 19 |     ) -> TwitterAPIFailedTask {
 20 |         queue.async {
 21 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 22 |                 TwitterAPIResponse<Data>(
 23 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:26:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 24 |                     response: nil,
 25 |                     data: nil,
 26 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 27 |                     rateLimit: nil)
 28 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:46:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
 44 |     ) -> TwitterAPIFailedTask {
 45 |         queue.async {
 46 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 47 |                 TwitterAPIResponse<Any>(
 48 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:51:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 49 |                     response: nil,
 50 |                     data: nil,
 51 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 52 |                     rateLimit: nil)
 53 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:74:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
 72 |     ) -> TwitterAPIFailedTask where T: Decodable {
 73 |         queue.async {
 74 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 75 |                 TwitterAPIResponse<T>(
 76 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:79:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 77 |                     response: nil,
 78 |                     data: nil,
 79 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 80 |                     rateLimit: nil)
 81 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:138:34: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
136 |                 response: nil,
137 |                 data: nil,
138 |                 result: .failure(error),
    |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
139 |                 rateLimit: nil)
140 |             block(response)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:140:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
138 |                 result: .failure(error),
139 |                 rateLimit: nil)
140 |             block(response)
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
141 |         }
142 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:119:30: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
117 |         group.enter()
118 |         taskQueue.async { [weak self] in
119 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
120 |
121 |             let response = self.getResponse().flatMap(transform)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:121:55: warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
119 |             guard let self = self else { return }
120 |
121 |             let response = self.getResponse().flatMap(transform)
    |                                                       |- warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
    |                                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
122 |
123 |             queue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:124:34: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
122 |
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
    |                                  `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
125 |                 block(response)
126 |                 self.group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:43:30: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
41 |     func append(chunk: Data) {
42 |         taskQueue.async { [weak self] in
43 |             guard let self = self else { return }
   |                              `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
44 |
45 |             guard let httpResponse = self.httpResponse else {
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:77:34: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
75 |         if let error = error {
76 |             taskQueue.async { [weak self] in
77 |                 guard let self = self else { return }
   |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
78 |                 self.notify(result: .failure(.responseFailed(reason: .invalidResponse(error: error))), rateLimit: nil)
79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:89:17: warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 87 |             group.enter()
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
    |                 `- warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 90 |                     responses.append($0)
 91 |                     group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIClient.swift:5:23: warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | open class TwitterAPIClient {
  4 |
  5 |     public static var defaultJSONDecoder: JSONDecoder = {
    |                       |- warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultJSONDecoder' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultJSONDecoder' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |         let decoder = JSONDecoder()
  7 |         decoder.keyDecodingStrategy = .convertFromSnakeCase
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:5:10: warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  3 | public enum TwitterAPIKitError: Error {
  4 |
  5 |     case requestFailed(reason: RequestFailureReason)
    |          `- warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  6 |     public enum RequestFailureReason {
    |                 `- note: consider making enum 'RequestFailureReason' conform to the 'Sendable' protocol
  7 |         case invalidURL(url: String)
  8 |         case invalidParameter(parameter: [String: Any], cause: String)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:14:10: warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 12 |     }
 13 |
 14 |     case responseFailed(reason: ResponseFailureReason)
    |          `- warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 15 |     public enum ResponseFailureReason {
    |                 `- note: consider making enum 'ResponseFailureReason' conform to the 'Sendable' protocol
 16 |         case invalidResponse(error: Error?)
 17 |         case unacceptableStatusCode(statusCode: Int, error: TwitterAPIErrorResponse, rateLimit: TwitterRateLimit?)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:20:10: warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 18 |     }
 19 |
 20 |     case responseSerializeFailed(reason: ResponseSerializationFailureReason)
    |          `- warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 21 |     public enum ResponseSerializationFailureReason {
    |                 `- note: consider making enum 'ResponseSerializationFailureReason' conform to the 'Sendable' protocol
 22 |         case jsonSerializationFailed(error: Error)
 23 |         case jsonDecodeFailed(error: Error)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:27:10: warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 25 |     }
 26 |
 27 |     case uploadMediaFailed(reason: UploadMediaFailureReason)
    |          `- warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 28 |     public enum UploadMediaFailureReason {
    |                 `- note: consider making enum 'UploadMediaFailureReason' conform to the 'Sendable' protocol
 29 |         case processingFailed(error: UploadMediaError)
 30 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:32:10: warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     case refreshOAuth20TokenFailed(reason: RefreshOAuth20TokenFailureReason)
    |          `- warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 33 |     public enum RefreshOAuth20TokenFailureReason {
    |                 `- note: consider making enum 'RefreshOAuth20TokenFailureReason' conform to the 'Sendable' protocol
 34 |         case invalidAuthenticationMethod(TwitterAuthenticationMethod)
 35 |         case refreshTokenIsMissing
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:12:7: warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
10 | }
11 |
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
   |       `- warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:14:17: warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
   |                 `- warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
15 |
16 |     func appendAndResume(task: URLSessionTask) -> TwitterAPISessionJSONTask {
[269/269] Compiling TwitterAPIKit TwitterRateLimit.swift
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:21:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
 19 |     ) -> TwitterAPIFailedTask {
 20 |         queue.async {
 21 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 22 |                 TwitterAPIResponse<Data>(
 23 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:26:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 24 |                     response: nil,
 25 |                     data: nil,
 26 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 27 |                     rateLimit: nil)
 28 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:46:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
 44 |     ) -> TwitterAPIFailedTask {
 45 |         queue.async {
 46 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 47 |                 TwitterAPIResponse<Any>(
 48 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:51:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 49 |                     response: nil,
 50 |                     data: nil,
 51 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 52 |                     rateLimit: nil)
 53 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:74:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
 72 |     ) -> TwitterAPIFailedTask where T: Decodable {
 73 |         queue.async {
 74 |             block(
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 75 |                 TwitterAPIResponse<T>(
 76 |                     request: nil,
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:79:38: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
 77 |                     response: nil,
 78 |                     data: nil,
 79 |                     result: .failure(error),
    |                                      `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
 80 |                     rateLimit: nil)
 81 |             )
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:138:34: warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIFailedTask: TwitterAPISessionJSONTask, TwitterAPISessionStreamTask {
    |               `- note: consider making struct 'TwitterAPIFailedTask' conform to the 'Sendable' protocol
  4 |
  5 |     public let error: TwitterAPIKitError
    :
136 |                 response: nil,
137 |                 data: nil,
138 |                 result: .failure(error),
    |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPIFailedTask' in a '@Sendable' closure
139 |                 rateLimit: nil)
140 |             block(response)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPIFailedTask.swift:140:13: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
138 |                 result: .failure(error),
139 |                 rateLimit: nil)
140 |             block(response)
    |             |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
141 |         }
142 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:119:30: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
117 |         group.enter()
118 |         taskQueue.async { [weak self] in
119 |             guard let self = self else { return }
    |                              `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
120 |
121 |             let response = self.getResponse().flatMap(transform)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:121:55: warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
119 |             guard let self = self else { return }
120 |
121 |             let response = self.getResponse().flatMap(transform)
    |                                                       |- warning: capture of 'transform' with non-sendable type '(Data) -> Result<T, TwitterAPIKitError>' in a '@Sendable' closure
    |                                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
122 |
123 |             queue.async { [weak self] in
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:124:34: warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
  5 | }
  6 |
  7 | public class TwitterAPISessionDelegatedJSONTask: TwitterAPISessionJSONTask, TwitterAPISessionDelegatedTask {
    |              `- note: class 'TwitterAPISessionDelegatedJSONTask' does not conform to the 'Sendable' protocol
  8 |
  9 |     public var taskIdentifier: Int {
    :
122 |
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
    |                                  `- warning: capture of 'self' with non-sendable type 'Self?' in a '@Sendable' closure
125 |                 block(response)
126 |                 self.group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<T>) -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedJSONTask.swift:125:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
123 |             queue.async { [weak self] in
124 |                 guard let self = self else { return }
125 |                 block(response)
    |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<T>' in a '@Sendable' closure
126 |                 self.group.leave()
127 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:43:30: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
41 |     func append(chunk: Data) {
42 |         taskQueue.async { [weak self] in
43 |             guard let self = self else { return }
   |                              `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
44 |
45 |             guard let httpResponse = self.httpResponse else {
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:77:34: warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
 2 |
 3 | private let chunkSeparator = "\r\n".data(using: .utf8)!
 4 | public class TwitterAPISessionDelegatedStreamTask: TwitterAPISessionStreamTask, TwitterAPISessionDelegatedTask {
   |              `- note: class 'TwitterAPISessionDelegatedStreamTask' does not conform to the 'Sendable' protocol
 5 |
 6 |     public var taskIdentifier: Int { return task.taskIdentifier }
   :
75 |         if let error = error {
76 |             taskQueue.async { [weak self] in
77 |                 guard let self = self else { return }
   |                                  `- warning: capture of 'self' with non-sendable type 'TwitterAPISessionDelegatedStreamTask?' in a '@Sendable' closure
78 |                 self.notify(result: .failure(.responseFailed(reason: .invalidResponse(error: error))), rateLimit: nil)
79 |             }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:17: warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                 |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a '@Sendable' closure
   |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionDelegatedStreamTask.swift:94:23: warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
92 |         dataBlocks.forEach { (queue, block) in
93 |             queue.async {
94 |                 block(response)
   |                       `- warning: capture of 'response' with non-sendable type 'TwitterAPIResponse<Data>' in a '@Sendable' closure
95 |             }
96 |         }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:89:17: warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 87 |             group.enter()
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
    |                 `- warning: capture of 'task' with non-sendable type 'Element' in a '@Sendable' closure
 90 |                     responses.append($0)
 91 |                     group.leave()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in a '@Sendable' closure
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: capture of 'responses' with non-sendable type '[TwitterAPIResponse<Element.Success>]' in an isolated closure; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIResponse.swift:3:15: note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct TwitterAPIResponse<Success> {
    |               `- note: consider making generic struct 'TwitterAPIResponse' conform to the 'Sendable' protocol
  4 |     public let request: URLRequest?
  5 |     public let response: HTTPURLResponse?
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/SessionTask/TwitterAPISessionSpecializedTask.swift:90:21: warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 88 |             innerQueue.async {
 89 |                 task.responseObject(queue: innerQueue) {
 90 |                     responses.append($0)
    |                     `- warning: mutation of captured var 'responses' in concurrently-executing code; this is an error in the Swift 6 language mode
 91 |                     group.leave()
 92 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIClient.swift:5:23: warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | open class TwitterAPIClient {
  4 |
  5 |     public static var defaultJSONDecoder: JSONDecoder = {
    |                       |- warning: static property 'defaultJSONDecoder' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'defaultJSONDecoder' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'defaultJSONDecoder' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |         let decoder = JSONDecoder()
  7 |         decoder.keyDecodingStrategy = .convertFromSnakeCase
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:5:10: warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  3 | public enum TwitterAPIKitError: Error {
  4 |
  5 |     case requestFailed(reason: RequestFailureReason)
    |          `- warning: associated value 'requestFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RequestFailureReason'; this is an error in the Swift 6 language mode
  6 |     public enum RequestFailureReason {
    |                 `- note: consider making enum 'RequestFailureReason' conform to the 'Sendable' protocol
  7 |         case invalidURL(url: String)
  8 |         case invalidParameter(parameter: [String: Any], cause: String)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:14:10: warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 12 |     }
 13 |
 14 |     case responseFailed(reason: ResponseFailureReason)
    |          `- warning: associated value 'responseFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseFailureReason'; this is an error in the Swift 6 language mode
 15 |     public enum ResponseFailureReason {
    |                 `- note: consider making enum 'ResponseFailureReason' conform to the 'Sendable' protocol
 16 |         case invalidResponse(error: Error?)
 17 |         case unacceptableStatusCode(statusCode: Int, error: TwitterAPIErrorResponse, rateLimit: TwitterRateLimit?)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:20:10: warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 18 |     }
 19 |
 20 |     case responseSerializeFailed(reason: ResponseSerializationFailureReason)
    |          `- warning: associated value 'responseSerializeFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.ResponseSerializationFailureReason'; this is an error in the Swift 6 language mode
 21 |     public enum ResponseSerializationFailureReason {
    |                 `- note: consider making enum 'ResponseSerializationFailureReason' conform to the 'Sendable' protocol
 22 |         case jsonSerializationFailed(error: Error)
 23 |         case jsonDecodeFailed(error: Error)
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:27:10: warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 25 |     }
 26 |
 27 |     case uploadMediaFailed(reason: UploadMediaFailureReason)
    |          `- warning: associated value 'uploadMediaFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.UploadMediaFailureReason'; this is an error in the Swift 6 language mode
 28 |     public enum UploadMediaFailureReason {
    |                 `- note: consider making enum 'UploadMediaFailureReason' conform to the 'Sendable' protocol
 29 |         case processingFailed(error: UploadMediaError)
 30 |     }
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPIKitError.swift:32:10: warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 30 |     }
 31 |
 32 |     case refreshOAuth20TokenFailed(reason: RefreshOAuth20TokenFailureReason)
    |          `- warning: associated value 'refreshOAuth20TokenFailed(reason:)' of 'Sendable'-conforming enum 'TwitterAPIKitError' has non-sendable type 'TwitterAPIKitError.RefreshOAuth20TokenFailureReason'; this is an error in the Swift 6 language mode
 33 |     public enum RefreshOAuth20TokenFailureReason {
    |                 `- note: consider making enum 'RefreshOAuth20TokenFailureReason' conform to the 'Sendable' protocol
 34 |         case invalidAuthenticationMethod(TwitterAuthenticationMethod)
 35 |         case refreshTokenIsMissing
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:12:7: warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
10 | }
11 |
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
   |       `- warning: non-final class 'TwitterAPISessionDelegate' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
/Users/admin/builder/spi-builder-workspace/Sources/TwitterAPIKit/TwitterAPISessionDelegate.swift:14:17: warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
12 | class TwitterAPISessionDelegate: NSObject, URLSessionDataDelegate {
13 |
14 |     private var tasks = [Int /* taskIdentifier */: TwitterAPISessionDelegatedTask]()
   |                 `- warning: stored property 'tasks' of 'Sendable'-conforming class 'TwitterAPISessionDelegate' is mutable; this is an error in the Swift 6 language mode
15 |
16 |     func appendAndResume(task: URLSessionTask) -> TwitterAPISessionJSONTask {
Build complete! (7.70s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "TwitterAPIKit",
  "name" : "TwitterAPIKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.14"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "TwitterAPIKit",
      "targets" : [
        "TwitterAPIKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TwitterAPIKitTests",
      "module_type" : "SwiftTarget",
      "name" : "TwitterAPIKitTests",
      "path" : "Tests/TwitterAPIKitTests",
      "sources" : [
        "APIv1/Account/GetAccountSettingsRequestV1Tests.swift",
        "APIv1/Account/GetAccountVerifyCredentialsRequestV1Tests.swift",
        "APIv1/Account/PostAccountRemoveProfileBannerRequestV1Tests.swift",
        "APIv1/Account/PostAccountSettingsRequestV1Tests.swift",
        "APIv1/Account/PostAccountUpdateProfileBannerRequestV1Tests.swift",
        "APIv1/Account/PostAccountUpdateProfileImageRequestV1Tests.swift",
        "APIv1/Account/PostAccountUpdateProfileRequestV1Tests.swift",
        "APIv1/Application/GetApplicationRateLimitStatusRequestV1Tests.swift",
        "APIv1/BlockAndMute/GetBlocksIDsRequestV1Tests.swift",
        "APIv1/BlockAndMute/GetBlocksListRequestV1Tests.swift",
        "APIv1/BlockAndMute/GetMutesUsersIDsRequestV1Tests.swift",
        "APIv1/BlockAndMute/GetMutesUsersListRequestV1Tests.swift",
        "APIv1/BlockAndMute/PostBlocksCreateRequestV1Tests.swift",
        "APIv1/BlockAndMute/PostBlocksDestroyRequestV1Tests.swift",
        "APIv1/BlockAndMute/PostMutesUsersCreateRequestV1Tests.swift",
        "APIv1/BlockAndMute/PostMutesUsersDestroyRequestV1Tests.swift",
        "APIv1/BlockAndMute/PostUsersReportSpamRequestV1Tests.swift",
        "APIv1/Collection/GetCollectionsEntriesRequestV1Tests.swift",
        "APIv1/Collection/GetCollectionsListRequestV1Tests.swift",
        "APIv1/Collection/GetCollectionsShowRequestV1Tests.swift",
        "APIv1/Collection/PostCollectionsCreateRequestV1Tests.swift",
        "APIv1/Collection/PostCollectionsDestroyRequestV1Tests.swift",
        "APIv1/Collection/PostCollectionsEntriesAddRequestV1Tests.swift",
        "APIv1/Collection/PostCollectionsEntriesCurateRequestV1Tests.swift",
        "APIv1/Collection/PostCollectionsEntriesMoveRequestV1Tests.swift",
        "APIv1/Collection/PostCollectionsEntriesRemoveRequestV1Tests.swift",
        "APIv1/Collection/PostCollectionsUpdateRequestV1Tests.swift",
        "APIv1/DirectMessage/DeleteDirectMessageRequestV1Tests.swift",
        "APIv1/DirectMessage/GetDirectMessageListRequestV1Tests.swift",
        "APIv1/DirectMessage/GetDirectMessageRequestV1Tests.swift",
        "APIv1/DirectMessage/PostDirectMessageRequestV1Tests.swift",
        "APIv1/DirectMessage/PostDirectMessagesIndicateTypingRequestV1Tests.swift",
        "APIv1/DirectMessage/PostDirectMessagesMarkReadRequestV1Tests.swift",
        "APIv1/Favorite/GetFavoritesRequestV1Tests.swift",
        "APIv1/Favorite/PostFavoriteRequestV1Tests.swift",
        "APIv1/Favorite/PostUnFavoriteRequestV1Tests.swift",
        "APIv1/Friendships/GetFollowersIDsRequestV1Tests.swift",
        "APIv1/Friendships/GetFollowersListRequestV1Tests.swift",
        "APIv1/Friendships/GetFriendsIDsRequestV1Tests.swift",
        "APIv1/Friendships/GetFriendsListRequestV1Tests.swift",
        "APIv1/Friendships/GetFriendshipsIncomingRequestV1Tests.swift",
        "APIv1/Friendships/GetFriendshipsLookupRequestV1Tests.swift",
        "APIv1/Friendships/GetFriendshipsNoRetweetsIDsRequestV1Tests.swift",
        "APIv1/Friendships/GetFriendshipsOutgoingRequestV1Tests.swift",
        "APIv1/Friendships/GetFriendshipsShowRequestV1Tests.swift",
        "APIv1/Friendships/PostFriendshipsCreateRequestV1Tests.swift",
        "APIv1/Friendships/PostFriendshipsDestroyRequestV1Tests.swift",
        "APIv1/Friendships/PostFriendshipsUpdateRequestV1Tests.swift",
        "APIv1/Geo/GetGeoPlaceIDRequestV1Tests.swift",
        "APIv1/Geo/GetGeoReverseGeocodeRequestV1Tests.swift",
        "APIv1/Geo/GetGeoSearchRequestV1Tests.swift",
        "APIv1/Help/GetHelpLanguagesRequestV1Tests.swift",
        "APIv1/List/GetListsListRequestV1Tests.swift",
        "APIv1/List/GetListsMembersRequestV1Tests.swift",
        "APIv1/List/GetListsMembersShowRequestV1Tests.swift",
        "APIv1/List/GetListsMembershipsRequestV1Tests.swift",
        "APIv1/List/GetListsOwnershipsRequestV1Tests.swift",
        "APIv1/List/GetListsShowRequestV1Tests.swift",
        "APIv1/List/GetListsStatusesRequestV1Tests.swift",
        "APIv1/List/GetListsSubscribersRequestV1Tests.swift",
        "APIv1/List/GetListsSubscribersShowRequestV1Tests.swift",
        "APIv1/List/GetListsSubscriptionsRequestV1Tests.swift",
        "APIv1/List/ListRequestV1Tests.swift",
        "APIv1/List/PostListsCreateRequestV1Tests.swift",
        "APIv1/List/PostListsDestroyRequestV1Tests.swift",
        "APIv1/List/PostListsMembersCreateAllRequestV1Tests.swift",
        "APIv1/List/PostListsMembersCreateRequestV1Tests.swift",
        "APIv1/List/PostListsMembersDestroyAllRequestV1Tests.swift",
        "APIv1/List/PostListsMembersDestroyRequestV1Tests.swift",
        "APIv1/List/PostListsSubscribersCreateRequestV1Tests.swift",
        "APIv1/List/PostListsSubscribersDestroyRequestV1Tests.swift",
        "APIv1/List/PostListsUpdateRequestV1Tests.swift",
        "APIv1/Media/GetUploadMediaStatusRequestV1Tests.swift",
        "APIv1/Media/PostMediaMetadataCreateRequestV1Tests.swift",
        "APIv1/Media/PostMediaSubtitlesCreateRequestV1Tests.swift",
        "APIv1/Media/PostMediaSubtitlesDeleteRequestV1Tests.swift",
        "APIv1/Media/UploadMediaAppendRequestV1Tests.swift",
        "APIv1/Media/UploadMediaFinalizeRequestV1Tests.swift",
        "APIv1/Media/UploadMediaInitRequestV1Tests.swift",
        "APIv1/Media/UploadMediaUtilTests.swift",
        "APIv1/Retweet/GetRetweetersRequestV1Tests.swift",
        "APIv1/Retweet/GetRetweetsOfMeRequestV1Tests.swift",
        "APIv1/Retweet/GetRetweetsRequestV1Tests.swift",
        "APIv1/Retweet/PostRetweetRequestV1Tests.swift",
        "APIv1/Retweet/PostUnRetweetRequestV1Tests.swift",
        "APIv1/Search/GetSavedSearchesListRequestV1Tests.swift",
        "APIv1/Search/GetSearchTweetsRequestV1Tests.swift",
        "APIv1/Search/PostSavedSearchesCreateRequestV1Tests.swift",
        "APIv1/Search/PostSavedSearchesDestroyRequestV1Tests.swift",
        "APIv1/Timelines/GetStatusesHomeTimelineRequestV1Tests.swift",
        "APIv1/Timelines/GetStatusesMentionsTimelineRequestV1Tests.swift",
        "APIv1/Timelines/GetStatusesUserTimelineRequestV1Tests.swift",
        "APIv1/Trend/GetTrendsAvailableRequestV1Tests.swift",
        "APIv1/Trend/GetTrendsClosestRequestV1Tests.swift",
        "APIv1/Trend/GetTrendsPlaceRequestV1Tests.swift",
        "APIv1/Tweet/GetStatusesLookupRequestV1Tests.swift",
        "APIv1/Tweet/GetStatusesShowRequestV1Tests.swift",
        "APIv1/Tweet/PostStatusesDestroyRequestV1Tests.swift",
        "APIv1/Tweet/PostStatusesUpdateRequestV1Tests.swift",
        "APIv1/Users/GetUsersLookupRequestV1Tests.swift",
        "APIv1/Users/GetUsersProfileBannerRequestV1Tests.swift",
        "APIv1/Users/GetUsersSearchRequestV1Tests.swift",
        "APIv1/Users/GetUsersShowRequestV1Tests.swift",
        "APIv2/BlockAndMute/DeleteUsersBlockingRequestV2Tests.swift",
        "APIv2/BlockAndMute/DeleteUsersMutingRequestV2Tests.swift",
        "APIv2/BlockAndMute/GetUsersBlockingRequestV2Tests.swift",
        "APIv2/BlockAndMute/GetUsersMutingRequestV2Tests.swift",
        "APIv2/BlockAndMute/PostUsersBlockingRequestV2Tests.swift",
        "APIv2/BlockAndMute/PostUsersMutingRequestV2Tests.swift",
        "APIv2/Bookmarks/DeleteUsersBookmarksRequestV2Tests.swift",
        "APIv2/Bookmarks/GetUsersBookmarksRequestV2Tests.swift",
        "APIv2/Bookmarks/PostUsersBookmarksRequestV2Tests.swift",
        "APIv2/Compliance/GetComplianceJobRequestV2Tests.swift",
        "APIv2/Compliance/GetComplianceJobsRequestV2Tests.swift",
        "APIv2/Compliance/PostComplianceJobsRequestV2Tests.swift",
        "APIv2/DirectMessage/GetDmConversationsIdDmEventsRequestV2Tests.swift",
        "APIv2/DirectMessage/GetDmConversationsWithParticipantIdDmEventsRequestV2Tests.swift",
        "APIv2/DirectMessage/GetDmEventsRequestV2Tests.swift",
        "APIv2/DirectMessage/PostDmConversationByIdRequestV2Tests.swift",
        "APIv2/DirectMessage/PostDmConversationRequestV2Tests.swift",
        "APIv2/DirectMessage/PostDmConversationWithUserRequestV2Tests.swift",
        "APIv2/ExpansionsV2Tests.swift",
        "APIv2/FieldsV2Tests.swift",
        "APIv2/Friendships/DeleteUsersFollowingRequestV2Tests.swift",
        "APIv2/Friendships/GetUsersFollowersRequestV2Tests.swift",
        "APIv2/Friendships/GetUsersFollowingRequestV2Tests.swift",
        "APIv2/Friendships/PostUsersFollowingRequestV2Tests.swift",
        "APIv2/Like/DeleteUsersLikesRequestV2Tests.swift",
        "APIv2/Like/GetTweetsLikingUsersRequestV2Tests.swift",
        "APIv2/Like/GetUsersLikedTweetsRequestV2Tests.swift",
        "APIv2/Like/PostUsersLikesRequestV2Tests.swift",
        "APIv2/List/DeleteListRequestV2Tests.swift",
        "APIv2/List/DeleteListsMembersRequestV2Tests.swift",
        "APIv2/List/DeleteUsersFollowedListsRequestV2Tests.swift",
        "APIv2/List/DeleteUsersPinnedListsRequestV2Tests.swift",
        "APIv2/List/GetListRequestV2Tests.swift",
        "APIv2/List/GetListsFollowersRequestV2Tests.swift",
        "APIv2/List/GetListsMembersRequestV2Tests.swift",
        "APIv2/List/GetListsTweetsRequestV2Tests.swift",
        "APIv2/List/GetUsersFollowedListsRequestV2Tests.swift",
        "APIv2/List/GetUsersListMembershipsRequestV2Tests.swift",
        "APIv2/List/GetUsersOwnedListsRequestV2Tests.swift",
        "APIv2/List/GetUsersPinnedListsRequestV2Tests.swift",
        "APIv2/List/PostListsMembersRequestV2Tests.swift",
        "APIv2/List/PostListsRequestV2Tests.swift",
        "APIv2/List/PostUsersFollowedListsRequestV2Tests.swift",
        "APIv2/List/PostUsersPinnedListsRequestV2Tests.swift",
        "APIv2/List/PutListRequestV2Tests.swift",
        "APIv2/Retweet/DeleteUsersRetweetsRequestV2Tests.swift",
        "APIv2/Retweet/GetTweetsRetweetedByRequestV2Tests.swift",
        "APIv2/Retweet/PostUsersRetweetsRequestV2Tests.swift",
        "APIv2/Search/GetTweetsSearchAllRequestV2Tests.swift",
        "APIv2/Search/GetTweetsSearchRecentRequestV2Tests.swift",
        "APIv2/Spaces/GetSpaceRequestV2Tests.swift",
        "APIv2/Spaces/GetSpacesBuyersRequestV2Tests.swift",
        "APIv2/Spaces/GetSpacesByCreatorIDsRequestV2Tests.swift",
        "APIv2/Spaces/GetSpacesRequestV2Tests.swift",
        "APIv2/Spaces/GetSpacesSearchRequestV2Tests.swift",
        "APIv2/Spaces/GetSpacesTweetsRequestV2Tests.swift",
        "APIv2/Stream/GetTweetsSampleStreamRequestV2Tests.swift",
        "APIv2/Stream/GetTweetsSearchStreamRequestV2Tests.swift",
        "APIv2/Stream/GetTweetsSearchStreamRulesRequestV2Tests.swift",
        "APIv2/Stream/PostTweetsSearchStreamRulesRequestV2Tests.swift",
        "APIv2/Timeline/GetUsersMentionsRequestV2Tests.swift",
        "APIv2/Timeline/GetUsersTimelinesReverseChronologicalRequestV2Tests.swift",
        "APIv2/Timeline/GetUsersTweetsRequestV2Tests.swift",
        "APIv2/Tweet/DeleteTweetRequestV2Tests.swift",
        "APIv2/Tweet/GetTweetRequestV2Tests.swift",
        "APIv2/Tweet/GetTweetsQuoteTweetsRequestV2Tests.swift",
        "APIv2/Tweet/GetTweetsRequestV2Tests.swift",
        "APIv2/Tweet/PostTweetsRequestV2Tests.swift",
        "APIv2/Tweet/PutTweetsHiddenRequestV2Tests.swift",
        "APIv2/TweetCount/GetTweetsCountsAllRequestV2Tests.swift",
        "APIv2/TweetCount/GetTweetsCountsRecentRequestV2Tests.swift",
        "APIv2/Users/GetUserRequestV2Tests.swift",
        "APIv2/Users/GetUsersByRequestV2Tests.swift",
        "APIv2/Users/GetUsersByUsernameRequestV2Tests.swift",
        "APIv2/Users/GetUsersMeRequestV2Tests.swift",
        "APIv2/Users/GetUsersRequestV2Tests.swift",
        "AuthAPI/GetOAuth2AuthorizeRequestV1Tests.swift",
        "AuthAPI/GetOAuthAuthenticateRequestV1Tests.swift",
        "AuthAPI/GetOAuthAuthorizeRequestV1Tests.swift",
        "AuthAPI/PostOAuth2AccessTokenRequestV2Tests.swift",
        "AuthAPI/PostOAuth2InvalidateTokenRequestV1Tests.swift",
        "AuthAPI/PostOAuth2RefreshTokenRequestV2Tests.swift",
        "AuthAPI/PostOAuth2RevokeTokenRequestV2Tests.swift",
        "AuthAPI/PostOAuth2TokenRequestV1Tests.swift",
        "AuthAPI/PostOAuthAccessTokenRequestV1Tests.swift",
        "AuthAPI/PostOAuthInvalidateTokenRequestV1Tests.swift",
        "AuthAPI/PostOAuthRequestTokenRequestV1Tests.swift",
        "AuthAPI/TwitterAuthAPITests.swift",
        "AuthAPI/TwitterOAuth2AccessTokenTests.swift",
        "AuthAPI/TwitterOAuth2BearerTokenTests.swift",
        "AuthAPI/TwitterOAuthAccessTokenV1Tests.swift",
        "AuthAPI/TwitterOAuthTokenV1Tests.swift",
        "Extensions/ConcurrencyTests.swift",
        "Extensions/DataTests.swift",
        "Extensions/StringTests.swift",
        "Helper/Assert.swift",
        "Helper/CombinationsSequence.swift",
        "Mock/MockURLProtocol.swift",
        "MultipartFormDataPartTests.swift",
        "OAuthHelperTests.swift",
        "SessionTask/MockTwitterAPISessionTask.swift",
        "SessionTask/TwitterAPIFailedTaskTests.swift",
        "SessionTask/TwitterAPISessionDelegatedJSONTaskTests.swift",
        "SessionTask/TwitterAPISessionDelegatedStreamTaskTests.swift",
        "SessionTask/TwitterAPISessionSpecializedTaskTests.swift",
        "TwitterAPIClientTests.swift",
        "TwitterAPIErrorResponseTests.swift",
        "TwitterAPIKitErrorTests.swift",
        "TwitterAPIKitTests.swift",
        "TwitterAPIRequestTests.swift",
        "TwitterAPIResponseTests.swift",
        "TwitterAPISessionTests.swift",
        "TwitterAuthenticationMethodTests.swift",
        "TwitterRateLimitTests.swift"
      ],
      "target_dependencies" : [
        "TwitterAPIKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TwitterAPIKit",
      "module_type" : "SwiftTarget",
      "name" : "TwitterAPIKit",
      "path" : "Sources/TwitterAPIKit",
      "product_memberships" : [
        "TwitterAPIKit"
      ],
      "sources" : [
        "APIv1/Account/AccountAPIv1.swift",
        "APIv1/Account/Requests/GetAccountSettingsRequestV1.swift",
        "APIv1/Account/Requests/GetAccountVerifyCredentialsRequestV1.swift",
        "APIv1/Account/Requests/PostAccountRemoveProfileBannerRequestV1.swift",
        "APIv1/Account/Requests/PostAccountSettingsRequestV1.swift",
        "APIv1/Account/Requests/PostAccountUpdateProfileBannerRequestV1.swift",
        "APIv1/Account/Requests/PostAccountUpdateProfileImageRequestV1.swift",
        "APIv1/Account/Requests/PostAccountUpdateProfileRequestV1.swift",
        "APIv1/Application/ApplicationAPIv1.swift",
        "APIv1/Application/Requests/GetApplicationRateLimitStatusRequestV1.swift",
        "APIv1/BlockAndMute/BlockAndMuteAPIv1.swift",
        "APIv1/BlockAndMute/Requests/GetBlocksIDsRequestV1.swift",
        "APIv1/BlockAndMute/Requests/GetBlocksListRequestV1.swift",
        "APIv1/BlockAndMute/Requests/GetMutesUsersIDsRequestV1.swift",
        "APIv1/BlockAndMute/Requests/GetMutesUsersListRequestV1.swift",
        "APIv1/BlockAndMute/Requests/PostBlocksCreateRequestV1.swift",
        "APIv1/BlockAndMute/Requests/PostBlocksDestroyRequestV1.swift",
        "APIv1/BlockAndMute/Requests/PostMutesUsersCreateRequestV1.swift",
        "APIv1/BlockAndMute/Requests/PostMutesUsersDestroyRequestV1.swift",
        "APIv1/BlockAndMute/Requests/PostUsersReportSpamRequestV1.swift",
        "APIv1/Collection/CollectionAPIv1.swift",
        "APIv1/Collection/Requests/GetCollectionsEntriesRequestV1.swift",
        "APIv1/Collection/Requests/GetCollectionsListRequestV1.swift",
        "APIv1/Collection/Requests/GetCollectionsShowRequestV1.swift",
        "APIv1/Collection/Requests/PostCollectionsCreateRequestV1.swift",
        "APIv1/Collection/Requests/PostCollectionsDestroyRequestV1.swift",
        "APIv1/Collection/Requests/PostCollectionsEntriesAddRequestV1.swift",
        "APIv1/Collection/Requests/PostCollectionsEntriesCurateRequestV1.swift",
        "APIv1/Collection/Requests/PostCollectionsEntriesMoveRequestV1.swift",
        "APIv1/Collection/Requests/PostCollectionsEntriesRemoveRequestV1.swift",
        "APIv1/Collection/Requests/PostCollectionsUpdateRequestV1.swift",
        "APIv1/DirectMessage/DirectMessageAPIv1.swift",
        "APIv1/DirectMessage/Requests/DeleteDirectMessageRequestV1.swift",
        "APIv1/DirectMessage/Requests/GetDirectMessageListRequestV1.swift",
        "APIv1/DirectMessage/Requests/GetDirectMessageRequestV1.swift",
        "APIv1/DirectMessage/Requests/PostDirectMessageRequestV1.swift",
        "APIv1/DirectMessage/Requests/PostDirectMessagesIndicateTypingRequestV1.swift",
        "APIv1/DirectMessage/Requests/PostDirectMessagesMarkReadRequestV1.swift",
        "APIv1/Favorite/FavoriteAPIv1.swift",
        "APIv1/Favorite/Requests/GetFavoritesRequestV1.swift",
        "APIv1/Favorite/Requests/PostFavoriteRequestV1.swift",
        "APIv1/Favorite/Requests/PostUnFavoriteRequestV1.swift",
        "APIv1/Friendships/FriendshipsAPIv1.swift",
        "APIv1/Friendships/Requests/GetFollowersIDsRequestV1.swift",
        "APIv1/Friendships/Requests/GetFollowersListRequestV1.swift",
        "APIv1/Friendships/Requests/GetFriendsIDsRequestV1.swift",
        "APIv1/Friendships/Requests/GetFriendsListRequestV1.swift",
        "APIv1/Friendships/Requests/GetFriendshipsIncomingRequestV1.swift",
        "APIv1/Friendships/Requests/GetFriendshipsLookupRequestV1.swift",
        "APIv1/Friendships/Requests/GetFriendshipsNoRetweetsIDsRequestV1.swift",
        "APIv1/Friendships/Requests/GetFriendshipsOutgoingRequestV1.swift",
        "APIv1/Friendships/Requests/GetFriendshipsShowRequestV1.swift",
        "APIv1/Friendships/Requests/PostFriendshipsCreateRequestV1.swift",
        "APIv1/Friendships/Requests/PostFriendshipsDestroyRequestV1.swift",
        "APIv1/Friendships/Requests/PostFriendshipsUpdateRequestV1.swift",
        "APIv1/Geo/GeoAPIv1.swift",
        "APIv1/Geo/Requests/GetGeoPlaceIDRequestV1.swift",
        "APIv1/Geo/Requests/GetGeoReverseGeocodeRequestV1.swift",
        "APIv1/Geo/Requests/GetGeoSearchRequestV1.swift",
        "APIv1/Help/HelpAPIv1.swift",
        "APIv1/Help/Requests/GetHelpLanguagesRequestV1.swift",
        "APIv1/List/ListAPIv1.swift",
        "APIv1/List/Requests/GetListsListRequestV1.swift",
        "APIv1/List/Requests/GetListsMembersRequestV1.swift",
        "APIv1/List/Requests/GetListsMembersShowRequestV1.swift",
        "APIv1/List/Requests/GetListsMembershipsRequestV1.swift",
        "APIv1/List/Requests/GetListsOwnershipsRequestV1.swift",
        "APIv1/List/Requests/GetListsShowRequestV1.swift",
        "APIv1/List/Requests/GetListsStatusesRequestV1.swift",
        "APIv1/List/Requests/GetListsSubscribersRequestV1.swift",
        "APIv1/List/Requests/GetListsSubscribersShowRequestV1.swift",
        "APIv1/List/Requests/GetListsSubscriptionsRequestV1.swift",
        "APIv1/List/Requests/PostListsCreateRequestV1.swift",
        "APIv1/List/Requests/PostListsDestroyRequestV1.swift",
        "APIv1/List/Requests/PostListsMembersCreateAllRequestV1.swift",
        "APIv1/List/Requests/PostListsMembersCreateRequestV1.swift",
        "APIv1/List/Requests/PostListsMembersDestroyAllRequestV1.swift",
        "APIv1/List/Requests/PostListsMembersDestroyRequestV1.swift",
        "APIv1/List/Requests/PostListsSubscribersCreateRequestV1.swift",
        "APIv1/List/Requests/PostListsSubscribersDestroyRequestV1.swift",
        "APIv1/List/Requests/PostListsUpdateRequestV1.swift",
        "APIv1/Media/MediaAPIv1.swift",
        "APIv1/Media/Requests/GetUploadMediaStatusRequestV1.swift",
        "APIv1/Media/Requests/PostMediaMetadataCreateRequestV1.swift",
        "APIv1/Media/Requests/PostMediaSubtitlesCreateRequestV1.swift",
        "APIv1/Media/Requests/PostMediaSubtitlesDeleteRequestV1.swift",
        "APIv1/Media/Requests/UploadMediaAppendRequestV1.swift",
        "APIv1/Media/Requests/UploadMediaFinalizeRequestV1.swift",
        "APIv1/Media/Requests/UploadMediaInitRequestV1.swift",
        "APIv1/Media/UploadMediaEntity.swift",
        "APIv1/Retweet/Requests/GetRetweetersRequestV1.swift",
        "APIv1/Retweet/Requests/GetRetweetsOfMeRequestV1.swift",
        "APIv1/Retweet/Requests/GetRetweetsRequestV1.swift",
        "APIv1/Retweet/Requests/PostRetweetRequestV1.swift",
        "APIv1/Retweet/Requests/PostUnRetweetRequestV1.swift",
        "APIv1/Retweet/RetweetAPIv1.swift",
        "APIv1/Search/Requests/GetSavedSearchesListRequestV1.swift",
        "APIv1/Search/Requests/GetSearchTweetsRequestV1.swift",
        "APIv1/Search/Requests/PostSavedSearchesCreateRequestV1.swift",
        "APIv1/Search/Requests/PostSavedSearchesDestroyRequestV1.swift",
        "APIv1/Search/SearchAPIv1.swift",
        "APIv1/Timelines/Requests/GetStatusesHomeTimelineRequestV1.swift",
        "APIv1/Timelines/Requests/GetStatusesMentionsTimelineRequestV1.swift",
        "APIv1/Timelines/Requests/GetStatusesUserTimelineRequestV1.swift",
        "APIv1/Timelines/TimelineAPIv1.swift",
        "APIv1/Trend/Requests/GetTrendsAvailableRequestV1.swift",
        "APIv1/Trend/Requests/GetTrendsClosestRequestV1.swift",
        "APIv1/Trend/Requests/GetTrendsPlaceRequestV1.swift",
        "APIv1/Trend/TrendAPIv1.swift",
        "APIv1/Tweet/Requests/GetStatusesLookupRequestV1.swift",
        "APIv1/Tweet/Requests/GetStatusesShowRequestV1.swift",
        "APIv1/Tweet/Requests/PostStatusesDestroyRequestV1.swift",
        "APIv1/Tweet/Requests/PostUpdateStatusRequestV1.swift",
        "APIv1/Tweet/TweetAPIv1.swift",
        "APIv1/TwitterAPIv1.swift",
        "APIv1/TwitterListIdentifierV1.swift",
        "APIv1/TwitterListModeV1.swift",
        "APIv1/TwitterLocations.swift",
        "APIv1/TwitterUserIdentifierV1.swift",
        "APIv1/Users/Requests/GetUsersLookupRequestV1.swift",
        "APIv1/Users/Requests/GetUsersProfileBannerRequestV1.swift",
        "APIv1/Users/Requests/GetUsersSearchRequestV1.swift",
        "APIv1/Users/Requests/GetUsersShowRequestV1.swift",
        "APIv1/Users/UserAPIv1.swift",
        "APIv2/BlockAndMute/BlockAndMuteAPIv2.swift",
        "APIv2/BlockAndMute/Requests/DeleteUsersBlockingRequestV2.swift",
        "APIv2/BlockAndMute/Requests/DeleteUsersMutingRequestV2.swift",
        "APIv2/BlockAndMute/Requests/GetUsersBlockingRequestV2.swift",
        "APIv2/BlockAndMute/Requests/GetUsersMutingRequestV2.swift",
        "APIv2/BlockAndMute/Requests/PostUsersBlockingRequestV2.swift",
        "APIv2/BlockAndMute/Requests/PostUsersMutingRequestV2.swift",
        "APIv2/Bookmarks/BookmarksAPIv2.swift",
        "APIv2/Bookmarks/Requests/DeleteUsersBookmarksRequestV2.swift",
        "APIv2/Bookmarks/Requests/GetUsersBookmarksRequestV2.swift",
        "APIv2/Bookmarks/Requests/PostUsersBookmarksRequestV2.swift",
        "APIv2/Compliance/ComplianceAPIv2.swift",
        "APIv2/Compliance/Requests/GetComplianceJobRequestV2.swift",
        "APIv2/Compliance/Requests/GetComplianceJobsRequestV2.swift",
        "APIv2/Compliance/Requests/PostComplianceJobsRequestV2.swift",
        "APIv2/Compliance/TwitterComplianceJobTypeV2.swift",
        "APIv2/DirectMessage/DirectMessageAPIv2.swift",
        "APIv2/DirectMessage/Requests/GetDmConversationsIdDmEventsRequestV2.swift",
        "APIv2/DirectMessage/Requests/GetDmConversationsWithParticipantIdDmEventsRequestV2.swift",
        "APIv2/DirectMessage/Requests/GetDmEventsRequestV2.swift",
        "APIv2/DirectMessage/Requests/PostDmConversationByIdRequestV2.swift",
        "APIv2/DirectMessage/Requests/PostDmConversationRequestV2.swift",
        "APIv2/DirectMessage/Requests/PostDmConversationWithUserRequestV2.swift",
        "APIv2/DirectMessage/TwitterDirectMessageEventTypeV2.swift",
        "APIv2/ExpansionsV2.swift",
        "APIv2/FieldsV2.swift",
        "APIv2/Friendships/FriendshipsAPIv2.swift",
        "APIv2/Friendships/Requests/DeleteUsersFollowingRequestV2.swift",
        "APIv2/Friendships/Requests/GetUsersFollowersRequestV2.swift",
        "APIv2/Friendships/Requests/GetUsersFollowingRequestV2.swift",
        "APIv2/Friendships/Requests/PostUsersFollowingRequestV2.swift",
        "APIv2/Like/LikeAPIv2.swift",
        "APIv2/Like/Requests/DeleteUsersLikesRequestV2.swift",
        "APIv2/Like/Requests/GetTweetsLikingUsersRequestV2.swift",
        "APIv2/Like/Requests/GetUsersLikedTweetsRequestV2.swift",
        "APIv2/Like/Requests/PostUsersLikesRequestV2.swift",
        "APIv2/List/ListAPIv2.swift",
        "APIv2/List/Requests/DeleteListRequestV2.swift",
        "APIv2/List/Requests/DeleteListsMembersRequestV2.swift",
        "APIv2/List/Requests/DeleteUsersFollowedListsRequestV2.swift",
        "APIv2/List/Requests/DeleteUsersPinnedListsRequestV2.swift",
        "APIv2/List/Requests/GetListRequestV2.swift",
        "APIv2/List/Requests/GetListsFollowersRequestV2.swift",
        "APIv2/List/Requests/GetListsMembersRequestV2.swift",
        "APIv2/List/Requests/GetListsTweetsRequestV2.swift",
        "APIv2/List/Requests/GetUsersFollowedListsRequestV2.swift",
        "APIv2/List/Requests/GetUsersListMembershipsRequestV2.swift",
        "APIv2/List/Requests/GetUsersOwnedListsRequestV2.swift",
        "APIv2/List/Requests/GetUsersPinnedListsRequestV2.swift",
        "APIv2/List/Requests/PostListsMembersRequestV2.swift",
        "APIv2/List/Requests/PostListsRequestV2.swift",
        "APIv2/List/Requests/PostUsersFollowedListsRequestV2.swift",
        "APIv2/List/Requests/PostUsersPinnedListsRequestV2.swift",
        "APIv2/List/Requests/PutListRequestV2.swift",
        "APIv2/Retweet/Requests/DeleteUsersRetweetsRequestV2.swift",
        "APIv2/Retweet/Requests/GetTweetsRetweetedByRequestV2.swift",
        "APIv2/Retweet/Requests/PostUsersRetweetsRequestV2.swift",
        "APIv2/Retweet/RetweetAPIv2.swift",
        "APIv2/Search/Requests/GetTweetsSearchAllRequestV2.swift",
        "APIv2/Search/Requests/GetTweetsSearchRecentRequestV2.swift",
        "APIv2/Search/SearchAPIv2.swift",
        "APIv2/Search/TwitterSearchTweetsSortOrderV2.swift",
        "APIv2/Spaces/Requests/GetSpaceRequestV2.swift",
        "APIv2/Spaces/Requests/GetSpacesBuyersRequestV2.swift",
        "APIv2/Spaces/Requests/GetSpacesByCreatorIDsRequestV2.swift",
        "APIv2/Spaces/Requests/GetSpacesRequestV2.swift",
        "APIv2/Spaces/Requests/GetSpacesSearchRequestV2.swift",
        "APIv2/Spaces/Requests/GetSpacesTweetsRequestV2.swift",
        "APIv2/Spaces/SpacesAPIv2.swift",
        "APIv2/Stream/Requests/GetTweetsSampleStreamRequestV2.swift",
        "APIv2/Stream/Requests/GetTweetsSearchStreamRequestV2.swift",
        "APIv2/Stream/Requests/GetTweetsSearchStreamRulesRequestV2.swift",
        "APIv2/Stream/Requests/PostTweetsSearchStreamRulesRequestV2.swift",
        "APIv2/Stream/StreamAPIv2.swift",
        "APIv2/Timeline/Requests/GetUsersMentionsRequestV2.swift",
        "APIv2/Timeline/Requests/GetUsersTimelinesReverseChronologicalRequestV2.swift",
        "APIv2/Timeline/Requests/GetUsersTweetsRequestV2.swift",
        "APIv2/Timeline/TimelineAPIv2.swift",
        "APIv2/Timeline/TwitterTimelineExcludeV2.swift",
        "APIv2/Tweet/Requests/DeleteTweetRequestV2.swift",
        "APIv2/Tweet/Requests/GetTweetRequestV2.swift",
        "APIv2/Tweet/Requests/GetTweetsQuoteTweetsRequestV2.swift",
        "APIv2/Tweet/Requests/GetTweetsRequestV2.swift",
        "APIv2/Tweet/Requests/PostTweetsRequestV2.swift",
        "APIv2/Tweet/Requests/PutTweetsHiddenRequestV2.swift",
        "APIv2/Tweet/TweetAPIv2.swift",
        "APIv2/TweetCount/Requests/GetTweetsCountsAllRequestV2.swift",
        "APIv2/TweetCount/Requests/GetTweetsCountsRecentRequestV2.swift",
        "APIv2/TweetCount/Requests/TweetCountGranularity.swift",
        "APIv2/TweetCount/TweetCountAPIv2.swift",
        "APIv2/TwitterAPIv2.swift",
        "APIv2/Users/Requests/GetUserRequestV2.swift",
        "APIv2/Users/Requests/GetUsersByRequestV2.swift",
        "APIv2/Users/Requests/GetUsersByUsernameRequestV2.swift",
        "APIv2/Users/Requests/GetUsersMeRequestV2.swift",
        "APIv2/Users/Requests/GetUsersRequestV2.swift",
        "APIv2/Users/UserAPIv2.swift",
        "AuthAPI/AuthAPI.swift",
        "AuthAPI/OAuth10aAPI.swift",
        "AuthAPI/OAuth20API.swift",
        "AuthAPI/Requests/GetOAuth2AuthorizeRequestV1.swift",
        "AuthAPI/Requests/GetOAuthAuthenticateRequestV1.swift",
        "AuthAPI/Requests/GetOAuthAuthorizeRequestV1.swift",
        "AuthAPI/Requests/PostOAuth2AccessTokenRequestV2.swift",
        "AuthAPI/Requests/PostOAuth2InvalidateTokenRequestV1.swift",
        "AuthAPI/Requests/PostOAuth2RefreshTokenRequestV2.swift",
        "AuthAPI/Requests/PostOAuth2RevokeTokenRequestV2.swift",
        "AuthAPI/Requests/PostOAuth2TokenRequestV1.swift",
        "AuthAPI/Requests/PostOAuthAccessTokenRequestV1.swift",
        "AuthAPI/Requests/PostOAuthInvalidateTokenRequestV1.swift",
        "AuthAPI/Requests/PostOAuthRequestTokenRequestV1.swift",
        "AuthAPI/TwitterOAuth2AccessToken.swift",
        "AuthAPI/TwitterOAuth2BearerToken.swift",
        "AuthAPI/TwitterOAuthAccessTokenV1.swift",
        "AuthAPI/TwitterOAuthTokenV1.swift",
        "Extensions/Concurrency.swift",
        "Extensions/Data.swift",
        "Extensions/Date.swift",
        "Extensions/Dictionary.swift",
        "Extensions/DispatchQueue.swift",
        "Extensions/Result.swift",
        "Extensions/String.swift",
        "OAuthHelper.swift",
        "SessionTask/TwitterAPIFailedTask.swift",
        "SessionTask/TwitterAPISessionDataTask.swift",
        "SessionTask/TwitterAPISessionDelegatedJSONTask.swift",
        "SessionTask/TwitterAPISessionDelegatedStreamTask.swift",
        "SessionTask/TwitterAPISessionJSONTask.swift",
        "SessionTask/TwitterAPISessionSpecializedTask.swift",
        "SessionTask/TwitterAPISessionStreamTask.swift",
        "SessionTask/TwitterAPISessionTask.swift",
        "TwitterAPI+Flat.generated.swift",
        "TwitterAPIClient.swift",
        "TwitterAPIErrorResponse.swift",
        "TwitterAPIKit.swift",
        "TwitterAPIKitError.swift",
        "TwitterAPIRequest.swift",
        "TwitterAPIResponse.swift",
        "TwitterAPISession.swift",
        "TwitterAPISessionDelegate.swift",
        "TwitterAuthenticationMethod.swift",
        "TwitterRateLimit.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.