Build Information
Successful build of TwitterAPIKit, reference main (7bbdd8
), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 19:07:06 UTC.
Swift 6 data race errors: 24
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
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/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; this is an error in the Swift 6 language mode
19 | ) -> TwitterAPIFailedTask {
20 | queue.async {
21 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
44 | ) -> TwitterAPIFailedTask {
45 | queue.async {
46 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
80 | rateLimit: nil)
81 | )
/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: annotate 'defaultJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | let decoder = JSONDecoder()
7 | decoder.keyDecodingStrategy = .convertFromSnakeCase
/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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
87 | group.enter()
88 | innerQueue.async {
89 | task.responseObject(queue: innerQueue) {
| `- warning: capture of 'task' with non-sendable type 'Element' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; 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 a `@Sendable` 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: 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/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; this is an error in the Swift 6 language mode
19 | ) -> TwitterAPIFailedTask {
20 | queue.async {
21 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
44 | ) -> TwitterAPIFailedTask {
45 | queue.async {
46 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
80 | rateLimit: nil)
81 | )
/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: annotate 'defaultJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | let decoder = JSONDecoder()
7 | decoder.keyDecodingStrategy = .convertFromSnakeCase
/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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
87 | group.enter()
88 | innerQueue.async {
89 | task.responseObject(queue: innerQueue) {
| `- warning: capture of 'task' with non-sendable type 'Element' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; 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 a `@Sendable` 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: 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/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; this is an error in the Swift 6 language mode
19 | ) -> TwitterAPIFailedTask {
20 | queue.async {
21 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
44 | ) -> TwitterAPIFailedTask {
45 | queue.async {
46 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
80 | rateLimit: nil)
81 | )
/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: annotate 'defaultJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | let decoder = JSONDecoder()
7 | decoder.keyDecodingStrategy = .convertFromSnakeCase
/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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
87 | group.enter()
88 | innerQueue.async {
89 | task.responseObject(queue: innerQueue) {
| `- warning: capture of 'task' with non-sendable type 'Element' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; 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 a `@Sendable` 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: 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/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; this is an error in the Swift 6 language mode
19 | ) -> TwitterAPIFailedTask {
20 | queue.async {
21 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
44 | ) -> TwitterAPIFailedTask {
45 | queue.async {
46 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
80 | rateLimit: nil)
81 | )
/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: annotate 'defaultJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | let decoder = JSONDecoder()
7 | decoder.keyDecodingStrategy = .convertFromSnakeCase
/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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
87 | group.enter()
88 | innerQueue.async {
89 | task.responseObject(queue: innerQueue) {
| `- warning: capture of 'task' with non-sendable type 'Element' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; 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 a `@Sendable` 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: 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/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; this is an error in the Swift 6 language mode
19 | ) -> TwitterAPIFailedTask {
20 | queue.async {
21 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
44 | ) -> TwitterAPIFailedTask {
45 | queue.async {
46 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
80 | rateLimit: nil)
81 | )
/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: annotate 'defaultJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | let decoder = JSONDecoder()
7 | decoder.keyDecodingStrategy = .convertFromSnakeCase
/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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
87 | group.enter()
88 | innerQueue.async {
89 | task.responseObject(queue: innerQueue) {
| `- warning: capture of 'task' with non-sendable type 'Element' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; 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 a `@Sendable` 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: 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/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; this is an error in the Swift 6 language mode
19 | ) -> TwitterAPIFailedTask {
20 | queue.async {
21 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Data>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
44 | ) -> TwitterAPIFailedTask {
45 | queue.async {
46 | block(
| |- warning: capture of 'block' with non-sendable type '(TwitterAPIResponse<Any>) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
80 | rateLimit: nil)
81 | )
/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: annotate 'defaultJSONDecoder' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | let decoder = JSONDecoder()
7 | decoder.keyDecodingStrategy = .convertFromSnakeCase
/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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
| `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
87 | group.enter()
88 | innerQueue.async {
89 | task.responseObject(queue: innerQueue) {
| `- warning: capture of 'task' with non-sendable type 'Element' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; 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 a `@Sendable` 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: 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/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! (20.01s)
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.