The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of Tentacle, reference 0.14.0 (fb9f20), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 04:57:39 UTC.

Swift 6 data race errors: 3

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

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mdiep/Tentacle.git
Reference: 0.14.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/mdiep/Tentacle
 * tag               0.14.0     -> FETCH_HEAD
HEAD is now at fb9f20c Merge pull request #109 from olejnjak/swift5.2
Submodule path 'Carthage/Checkouts/ReactiveSwift': checked out 'e27ccdbf4ec36f154b60b91a0d7e0110c4e882cb'
Submodule path 'Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/Nimble': checked out 'f8657642dfdec9973efc79cc68bcef43a653a2bc'
Submodule path 'Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/Quick': checked out '0b4ed6c706dd0cce923b5019a605a9bcc6b1b600'
Submodule path 'Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/Quick/Externals/Nimble': checked out 'a27c5186ce2d65f60d1237660b2509df3eb29023'
Submodule path 'Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/xcconfigs': checked out 'bb795558a76e5daf3688500055bbcfe243bffa8d'
Submodule path 'Carthage/Checkouts/Result': checked out '2ca499ba456795616fbc471561ff1d963e6ae160'
Submodule 'Carthage/Checkouts/ReactiveSwift' (https://github.com/ReactiveCocoa/ReactiveSwift.git) registered for path 'Carthage/Checkouts/ReactiveSwift'
Submodule 'Carthage/Checkouts/Result' (https://github.com/antitypical/Result.git) registered for path 'Carthage/Checkouts/Result'
Cloning into '/Users/admin/builder/spi-builder-workspace/Carthage/Checkouts/ReactiveSwift'...
Cloning into '/Users/admin/builder/spi-builder-workspace/Carthage/Checkouts/Result'...
Submodule 'Carthage/Checkouts/Nimble' (https://github.com/Quick/Nimble.git) registered for path 'Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/Nimble'
Submodule 'Carthage/Checkouts/Quick' (https://github.com/Quick/Quick.git) registered for path 'Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/Quick'
Submodule 'Carthage/Checkouts/xcconfigs' (https://github.com/jspahrsummers/xcconfigs.git) registered for path 'Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/xcconfigs'
Cloning into '/Users/admin/builder/spi-builder-workspace/Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/Nimble'...
Cloning into '/Users/admin/builder/spi-builder-workspace/Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/Quick'...
Cloning into '/Users/admin/builder/spi-builder-workspace/Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/xcconfigs'...
Submodule 'Externals/Nimble' (https://github.com/Quick/Nimble.git) registered for path 'Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/Quick/Externals/Nimble'
Cloning into '/Users/admin/builder/spi-builder-workspace/Carthage/Checkouts/ReactiveSwift/Carthage/Checkouts/Quick/Externals/Nimble'...
Cloned https://github.com/mdiep/Tentacle.git
Revision (git rev-parse @):
fb9f20c3cc094103799e271dd664e1ee1b76211e
SUCCESS checkout https://github.com/mdiep/Tentacle.git at 0.14.0
Fetching https://github.com/Quick/Nimble.git
Fetching https://github.com/Quick/Quick.git
Fetching https://github.com/ReactiveCocoa/ReactiveSwift.git
[1/52438] Fetching reactiveswift
[2/67161] Fetching reactiveswift, quick
[10473/86379] Fetching reactiveswift, quick, nimble
Fetched https://github.com/ReactiveCocoa/ReactiveSwift.git from cache (15.35s)
Computing version for https://github.com/ReactiveCocoa/ReactiveSwift.git
Fetched https://github.com/Quick/Nimble.git from cache (15.35s)
Fetched https://github.com/Quick/Quick.git from cache (15.35s)
Computed https://github.com/ReactiveCocoa/ReactiveSwift.git at 6.2.1 (0.74s)
Computing version for https://github.com/Quick/Nimble.git
Computed https://github.com/Quick/Nimble.git at 8.0.1 (2.70s)
Computing version for https://github.com/Quick/Quick.git
Computed https://github.com/Quick/Quick.git at 2.0.0 (0.66s)
Creating working copy for https://github.com/Quick/Nimble.git
Working copy of https://github.com/Quick/Nimble.git resolved at 8.0.1
Creating working copy for https://github.com/ReactiveCocoa/ReactiveSwift.git
Working copy of https://github.com/ReactiveCocoa/ReactiveSwift.git resolved at 6.2.1
Creating working copy for https://github.com/Quick/Quick.git
Working copy of https://github.com/Quick/Quick.git resolved at 2.0.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "tentacle",
      "name": "Tentacle",
      "url": "https://github.com/mdiep/Tentacle.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Tentacle",
      "dependencies": [
        {
          "identity": "reactiveswift",
          "name": "ReactiveSwift",
          "url": "https://github.com/ReactiveCocoa/ReactiveSwift.git",
          "version": "6.7.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ReactiveSwift",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/mdiep/Tentacle.git
[1/3733] Fetching tentacle
Fetched https://github.com/mdiep/Tentacle.git from cache (1.26s)
Fetching https://github.com/ReactiveCocoa/ReactiveSwift.git from cache
Fetched https://github.com/ReactiveCocoa/ReactiveSwift.git from cache (0.56s)
Computing version for https://github.com/ReactiveCocoa/ReactiveSwift.git
Computed https://github.com/ReactiveCocoa/ReactiveSwift.git at 6.7.0 (0.72s)
Creating working copy for https://github.com/ReactiveCocoa/ReactiveSwift.git
Working copy of https://github.com/ReactiveCocoa/ReactiveSwift.git resolved at 6.7.0
Creating working copy for https://github.com/mdiep/Tentacle.git
Working copy of https://github.com/mdiep/Tentacle.git resolved at 0.14.0 (fb9f20c)
warning: '.resolve-product-dependencies': dependency 'tentacle' is not used by any target
Found 1 product dependencies
  - ReactiveSwift
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/mdiep/Tentacle.git
Running build ...
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
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/23] Emitting module ReactiveSwift
[5/25] Compiling ReactiveSwift UninhabitedTypeGuards.swift
[6/25] Compiling ReactiveSwift ValidatingProperty.swift
[7/25] Compiling ReactiveSwift Action.swift
[8/25] Compiling ReactiveSwift Atomic.swift
[9/25] Compiling ReactiveSwift Bag.swift
[10/25] Compiling ReactiveSwift Deprecations+Removals.swift
[11/25] Compiling ReactiveSwift Disposable.swift
[12/25] Compiling ReactiveSwift Scheduler.swift
[13/25] Compiling ReactiveSwift Signal.swift
[14/25] Compiling ReactiveSwift Optional.swift
[15/25] Compiling ReactiveSwift Property.swift
[16/25] Compiling ReactiveSwift Event.swift
[17/25] Compiling ReactiveSwift EventLogger.swift
[18/25] Compiling ReactiveSwift Lifetime.swift
[19/25] Compiling ReactiveSwift Observer.swift
[20/25] Compiling ReactiveSwift Flatten.swift
[21/25] Compiling ReactiveSwift FoundationExtensions.swift
[22/25] Compiling ReactiveSwift Reactive.swift
[23/25] Compiling ReactiveSwift ResultExtensions.swift
[24/25] Compiling ReactiveSwift SignalProducer.swift
[25/25] Compiling ReactiveSwift UnidirectionalBinding.swift
[26/53] Compiling Tentacle Author.swift
[27/53] Compiling Tentacle Availability.swift
[28/53] Compiling Tentacle Branch.swift
[29/55] Compiling Tentacle FileResponse.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/FoundationExtensions.swift:12:32: warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension DateFormatter {
12 |     @nonobjc public static var iso8601: DateFormatter = {
   |                                |- warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                |- note: convert 'iso8601' to a 'let' constant to make 'Sendable' shared state immutable
   |                                |- note: annotate 'iso8601' with '@MainActor' if property should only be accessed from the main actor
   |                                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         let formatter = DateFormatter()
14 |         formatter.locale = Locale(identifier:"en_US_POSIX")
[30/55] Compiling Tentacle FoundationExtensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/FoundationExtensions.swift:12:32: warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension DateFormatter {
12 |     @nonobjc public static var iso8601: DateFormatter = {
   |                                |- warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                |- note: convert 'iso8601' to a 'let' constant to make 'Sendable' shared state immutable
   |                                |- note: annotate 'iso8601' with '@MainActor' if property should only be accessed from the main actor
   |                                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         let formatter = DateFormatter()
14 |         formatter.locale = Locale(identifier:"en_US_POSIX")
[31/55] Compiling Tentacle GitHubError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/FoundationExtensions.swift:12:32: warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension DateFormatter {
12 |     @nonobjc public static var iso8601: DateFormatter = {
   |                                |- warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                |- note: convert 'iso8601' to a 'let' constant to make 'Sendable' shared state immutable
   |                                |- note: annotate 'iso8601' with '@MainActor' if property should only be accessed from the main actor
   |                                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         let formatter = DateFormatter()
14 |         formatter.locale = Locale(identifier:"en_US_POSIX")
[32/55] Compiling Tentacle Label.swift
[33/55] Compiling Tentacle Milestone.swift
[34/55] Compiling Tentacle Organization.swift
[35/55] Compiling Tentacle RepositoryInfo.swift
[36/55] Compiling Tentacle Request.swift
[37/55] Compiling Tentacle ResourceType.swift
[38/55] Compiling Tentacle Response.swift
[39/55] Compiling Tentacle Server.swift
[40/55] Compiling Tentacle Sha.swift
[41/55] Compiling Tentacle PullRequest.swift
[42/55] Compiling Tentacle Release.swift
[43/55] Compiling Tentacle Repository.swift
[44/55] Emitting module Tentacle
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:85:14: warning: associated value 'apiError' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Response'; this is an error in the Swift 6 language mode
 83 |
 84 |         /// A status code, response, and error that was returned from the API.
 85 |         case apiError(Int, Response, GitHubError)
    |              `- warning: associated value 'apiError' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Response'; this is an error in the Swift 6 language mode
 86 |
 87 |         /// The requested object does not exist.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Response.swift:38:15: note: consider making struct 'Response' conform to the 'Sendable' protocol
36 |
37 | /// A response from the GitHub API.
38 | public struct Response: Hashable {
   |               `- note: consider making struct 'Response' conform to the 'Sendable' protocol
39 |     /// The number of requests remaining in the current rate limit window, or nil if the server
40 |     /// isn't rate-limited.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:109:23: warning: static property 'userAgent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
107 |
108 |     /// The user-agent to use for API requests.
109 |     public static var userAgent: String?
    |                       |- warning: static property 'userAgent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'userAgent' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'userAgent' 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
110 |
111 |     /// The Server that the Client connects to.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/FoundationExtensions.swift:12:32: warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension DateFormatter {
12 |     @nonobjc public static var iso8601: DateFormatter = {
   |                                |- warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                |- note: convert 'iso8601' to a 'let' constant to make 'Sendable' shared state immutable
   |                                |- note: annotate 'iso8601' with '@MainActor' if property should only be accessed from the main actor
   |                                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         let formatter = DateFormatter()
14 |         formatter.locale = Locale(identifier:"en_US_POSIX")
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/JSONExtensions.swift:27:1: warning: extension declares a conformance of imported type 'Context' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
25 | }
26 |
27 | extension DecodingError.Context: Equatable {
   | |- warning: extension declares a conformance of imported type 'Context' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
28 |     public static func ==(lhs: DecodingError.Context, rhs: DecodingError.Context) -> Bool {
29 |         return lhs.debugDescription == rhs.debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/JSONExtensions.swift:33:1: warning: extension declares a conformance of imported type 'DecodingError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
31 | }
32 |
33 | extension DecodingError: Equatable {
   | |- warning: extension declares a conformance of imported type 'DecodingError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
34 |     public static func ==(lhs: DecodingError, rhs: DecodingError) -> Bool {
35 |         switch (lhs, rhs) {
[45/55] Compiling Tentacle Tree.swift
[46/55] Compiling Tentacle User.swift
[47/55] Compiling Tentacle Commit.swift
[48/55] Compiling Tentacle Content.swift
[49/55] Compiling Tentacle File.swift
[50/55] Compiling Tentacle Client.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:85:14: warning: associated value 'apiError' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Response'; this is an error in the Swift 6 language mode
 83 |
 84 |         /// A status code, response, and error that was returned from the API.
 85 |         case apiError(Int, Response, GitHubError)
    |              `- warning: associated value 'apiError' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Response'; this is an error in the Swift 6 language mode
 86 |
 87 |         /// The requested object does not exist.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Response.swift:38:15: note: consider making struct 'Response' conform to the 'Sendable' protocol
36 |
37 | /// A response from the GitHub API.
38 | public struct Response: Hashable {
   |               `- note: consider making struct 'Response' conform to the 'Sendable' protocol
39 |     /// The number of requests remaining in the current rate limit window, or nil if the server
40 |     /// isn't rate-limited.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:109:23: warning: static property 'userAgent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
107 |
108 |     /// The user-agent to use for API requests.
109 |     public static var userAgent: String?
    |                       |- warning: static property 'userAgent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'userAgent' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'userAgent' 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
110 |
111 |     /// The Server that the Client connects to.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:43:5: warning: capture of 'handle' with non-sendable type '(any Disposable)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 41 | 			let task = self.downloadTask(with: request) { (url, response, error) in
 42 | 				// Avoid invoking cancel(), or the download may be deleted.
 43 | 				handle?.dispose()
    |     `- warning: capture of 'handle' with non-sendable type '(any Disposable)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |
 45 | 				if let url = url {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/ReactiveSwift/Sources/Disposable.swift:11:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
  9 | /// Represents something that can be “disposed”, usually associated with freeing
 10 | /// resources or canceling work.
 11 | public protocol Disposable: class {
    |                 `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
 12 | 	/// Whether this disposable has been disposed already.
 13 | 	var isDisposed: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ReactiveSwift'
  8 |
  9 | import Foundation
 10 | import ReactiveSwift
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ReactiveSwift'
 11 |
 12 | extension URL {
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:46:6: warning: capture of 'observer' with non-sendable type 'Signal<URL, any Error>.Observer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |
 45 | 				if let url = url {
 46 | 					observer.send(value: url)
    |      `- warning: capture of 'observer' with non-sendable type 'Signal<URL, any Error>.Observer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 47 | 					observer.sendCompleted()
 48 | 				} else if let error = error {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/ReactiveSwift/Sources/Observer.swift:12:21: note: class 'Observer' does not conform to the 'Sendable' protocol
 10 | 	/// An Observer is a simple wrapper around a function which can receive Events
 11 | 	/// (typically from a Signal).
 12 | 	public final class Observer {
    |                     `- note: class 'Observer' does not conform to the 'Sendable' protocol
 13 | 		public typealias Action = (Event) -> Void
 14 | 		private let _send: Action
[51/55] Compiling Tentacle Color.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:85:14: warning: associated value 'apiError' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Response'; this is an error in the Swift 6 language mode
 83 |
 84 |         /// A status code, response, and error that was returned from the API.
 85 |         case apiError(Int, Response, GitHubError)
    |              `- warning: associated value 'apiError' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Response'; this is an error in the Swift 6 language mode
 86 |
 87 |         /// The requested object does not exist.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Response.swift:38:15: note: consider making struct 'Response' conform to the 'Sendable' protocol
36 |
37 | /// A response from the GitHub API.
38 | public struct Response: Hashable {
   |               `- note: consider making struct 'Response' conform to the 'Sendable' protocol
39 |     /// The number of requests remaining in the current rate limit window, or nil if the server
40 |     /// isn't rate-limited.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:109:23: warning: static property 'userAgent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
107 |
108 |     /// The user-agent to use for API requests.
109 |     public static var userAgent: String?
    |                       |- warning: static property 'userAgent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'userAgent' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'userAgent' 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
110 |
111 |     /// The Server that the Client connects to.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:43:5: warning: capture of 'handle' with non-sendable type '(any Disposable)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 41 | 			let task = self.downloadTask(with: request) { (url, response, error) in
 42 | 				// Avoid invoking cancel(), or the download may be deleted.
 43 | 				handle?.dispose()
    |     `- warning: capture of 'handle' with non-sendable type '(any Disposable)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |
 45 | 				if let url = url {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/ReactiveSwift/Sources/Disposable.swift:11:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
  9 | /// Represents something that can be “disposed”, usually associated with freeing
 10 | /// resources or canceling work.
 11 | public protocol Disposable: class {
    |                 `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
 12 | 	/// Whether this disposable has been disposed already.
 13 | 	var isDisposed: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ReactiveSwift'
  8 |
  9 | import Foundation
 10 | import ReactiveSwift
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ReactiveSwift'
 11 |
 12 | extension URL {
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:46:6: warning: capture of 'observer' with non-sendable type 'Signal<URL, any Error>.Observer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |
 45 | 				if let url = url {
 46 | 					observer.send(value: url)
    |      `- warning: capture of 'observer' with non-sendable type 'Signal<URL, any Error>.Observer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 47 | 					observer.sendCompleted()
 48 | 				} else if let error = error {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/ReactiveSwift/Sources/Observer.swift:12:21: note: class 'Observer' does not conform to the 'Sendable' protocol
 10 | 	/// An Observer is a simple wrapper around a function which can receive Events
 11 | 	/// (typically from a Signal).
 12 | 	public final class Observer {
    |                     `- note: class 'Observer' does not conform to the 'Sendable' protocol
 13 | 		public typealias Action = (Event) -> Void
 14 | 		private let _send: Action
[52/55] Compiling Tentacle Comment.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:85:14: warning: associated value 'apiError' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Response'; this is an error in the Swift 6 language mode
 83 |
 84 |         /// A status code, response, and error that was returned from the API.
 85 |         case apiError(Int, Response, GitHubError)
    |              `- warning: associated value 'apiError' of 'Sendable'-conforming enum 'Error' has non-sendable type 'Response'; this is an error in the Swift 6 language mode
 86 |
 87 |         /// The requested object does not exist.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Response.swift:38:15: note: consider making struct 'Response' conform to the 'Sendable' protocol
36 |
37 | /// A response from the GitHub API.
38 | public struct Response: Hashable {
   |               `- note: consider making struct 'Response' conform to the 'Sendable' protocol
39 |     /// The number of requests remaining in the current rate limit window, or nil if the server
40 |     /// isn't rate-limited.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:109:23: warning: static property 'userAgent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
107 |
108 |     /// The user-agent to use for API requests.
109 |     public static var userAgent: String?
    |                       |- warning: static property 'userAgent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'userAgent' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'userAgent' 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
110 |
111 |     /// The Server that the Client connects to.
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:43:5: warning: capture of 'handle' with non-sendable type '(any Disposable)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 41 | 			let task = self.downloadTask(with: request) { (url, response, error) in
 42 | 				// Avoid invoking cancel(), or the download may be deleted.
 43 | 				handle?.dispose()
    |     `- warning: capture of 'handle' with non-sendable type '(any Disposable)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |
 45 | 				if let url = url {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/ReactiveSwift/Sources/Disposable.swift:11:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
  9 | /// Represents something that can be “disposed”, usually associated with freeing
 10 | /// resources or canceling work.
 11 | public protocol Disposable: class {
    |                 `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
 12 | 	/// Whether this disposable has been disposed already.
 13 | 	var isDisposed: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:10:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ReactiveSwift'
  8 |
  9 | import Foundation
 10 | import ReactiveSwift
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ReactiveSwift'
 11 |
 12 | extension URL {
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/Client.swift:46:6: warning: capture of 'observer' with non-sendable type 'Signal<URL, any Error>.Observer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 44 |
 45 | 				if let url = url {
 46 | 					observer.send(value: url)
    |      `- warning: capture of 'observer' with non-sendable type 'Signal<URL, any Error>.Observer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 47 | 					observer.sendCompleted()
 48 | 				} else if let error = error {
/Users/admin/builder/spi-builder-workspace/.build/checkouts/ReactiveSwift/Sources/Observer.swift:12:21: note: class 'Observer' does not conform to the 'Sendable' protocol
 10 | 	/// An Observer is a simple wrapper around a function which can receive Events
 11 | 	/// (typically from a Signal).
 12 | 	public final class Observer {
    |                     `- note: class 'Observer' does not conform to the 'Sendable' protocol
 13 | 		public typealias Action = (Event) -> Void
 14 | 		private let _send: Action
[53/55] Compiling Tentacle Identifiable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/JSONExtensions.swift:27:1: warning: extension declares a conformance of imported type 'Context' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
25 | }
26 |
27 | extension DecodingError.Context: Equatable {
   | |- warning: extension declares a conformance of imported type 'Context' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
28 |     public static func ==(lhs: DecodingError.Context, rhs: DecodingError.Context) -> Bool {
29 |         return lhs.debugDescription == rhs.debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/JSONExtensions.swift:33:1: warning: extension declares a conformance of imported type 'DecodingError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
31 | }
32 |
33 | extension DecodingError: Equatable {
   | |- warning: extension declares a conformance of imported type 'DecodingError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
34 |     public static func ==(lhs: DecodingError, rhs: DecodingError) -> Bool {
35 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/FoundationExtensions.swift:12:32: warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension DateFormatter {
12 |     @nonobjc public static var iso8601: DateFormatter = {
   |                                |- warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                |- note: convert 'iso8601' to a 'let' constant to make 'Sendable' shared state immutable
   |                                |- note: annotate 'iso8601' with '@MainActor' if property should only be accessed from the main actor
   |                                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         let formatter = DateFormatter()
14 |         formatter.locale = Locale(identifier:"en_US_POSIX")
[54/55] Compiling Tentacle Issue.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/JSONExtensions.swift:27:1: warning: extension declares a conformance of imported type 'Context' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
25 | }
26 |
27 | extension DecodingError.Context: Equatable {
   | |- warning: extension declares a conformance of imported type 'Context' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
28 |     public static func ==(lhs: DecodingError.Context, rhs: DecodingError.Context) -> Bool {
29 |         return lhs.debugDescription == rhs.debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/JSONExtensions.swift:33:1: warning: extension declares a conformance of imported type 'DecodingError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
31 | }
32 |
33 | extension DecodingError: Equatable {
   | |- warning: extension declares a conformance of imported type 'DecodingError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
34 |     public static func ==(lhs: DecodingError, rhs: DecodingError) -> Bool {
35 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/FoundationExtensions.swift:12:32: warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension DateFormatter {
12 |     @nonobjc public static var iso8601: DateFormatter = {
   |                                |- warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                |- note: convert 'iso8601' to a 'let' constant to make 'Sendable' shared state immutable
   |                                |- note: annotate 'iso8601' with '@MainActor' if property should only be accessed from the main actor
   |                                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         let formatter = DateFormatter()
14 |         formatter.locale = Locale(identifier:"en_US_POSIX")
[55/55] Compiling Tentacle JSONExtensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/JSONExtensions.swift:27:1: warning: extension declares a conformance of imported type 'Context' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
25 | }
26 |
27 | extension DecodingError.Context: Equatable {
   | |- warning: extension declares a conformance of imported type 'Context' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
28 |     public static func ==(lhs: DecodingError.Context, rhs: DecodingError.Context) -> Bool {
29 |         return lhs.debugDescription == rhs.debugDescription
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/JSONExtensions.swift:33:1: warning: extension declares a conformance of imported type 'DecodingError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
31 | }
32 |
33 | extension DecodingError: Equatable {
   | |- warning: extension declares a conformance of imported type 'DecodingError' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
34 |     public static func ==(lhs: DecodingError, rhs: DecodingError) -> Bool {
35 |         switch (lhs, rhs) {
/Users/admin/builder/spi-builder-workspace/Sources/Tentacle/FoundationExtensions.swift:12:32: warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | extension DateFormatter {
12 |     @nonobjc public static var iso8601: DateFormatter = {
   |                                |- warning: static property 'iso8601' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                                |- note: convert 'iso8601' to a 'let' constant to make 'Sendable' shared state immutable
   |                                |- note: annotate 'iso8601' with '@MainActor' if property should only be accessed from the main actor
   |                                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         let formatter = DateFormatter()
14 |         formatter.locale = Locale(identifier:"en_US_POSIX")
Build complete! (18.15s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "reactiveswift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "6.0.0",
            "upper_bound" : "7.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ReactiveCocoa/ReactiveSwift.git"
    }
  ],
  "manifest_display_name" : "Tentacle",
  "name" : "Tentacle",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Tentacle",
      "targets" : [
        "Tentacle"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "TentacleTests",
      "module_type" : "SwiftTarget",
      "name" : "TentacleTests",
      "path" : "Tests/TentacleTests",
      "sources" : [
        "BranchTests.swift",
        "ClientTests.swift",
        "ColorTests.swift",
        "CommentsTests.swift",
        "ContentTests.swift",
        "EndpointTests.swift",
        "FileResponseTests.swift",
        "FileTests.swift",
        "Fixture.swift",
        "GitHubErrorTests.swift",
        "HTTPStub.swift",
        "IssuesTests.swift",
        "ReleaseTests.swift",
        "RepositoryInfoTests.swift",
        "RepositoryTests.swift",
        "ResponseTests.swift",
        "ServerTests.swift",
        "TreeTests.swift",
        "UserTests.swift"
      ],
      "target_dependencies" : [
        "Tentacle"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Tentacle",
      "module_type" : "SwiftTarget",
      "name" : "Tentacle",
      "path" : "Sources/Tentacle",
      "product_dependencies" : [
        "ReactiveSwift"
      ],
      "product_memberships" : [
        "Tentacle"
      ],
      "sources" : [
        "Author.swift",
        "Availability.swift",
        "Branch.swift",
        "Client.swift",
        "Color.swift",
        "Comment.swift",
        "Commit.swift",
        "Content.swift",
        "File.swift",
        "FileResponse.swift",
        "FoundationExtensions.swift",
        "GitHubError.swift",
        "Identifiable.swift",
        "Issue.swift",
        "JSONExtensions.swift",
        "Label.swift",
        "Milestone.swift",
        "Organization.swift",
        "PullRequest.swift",
        "Release.swift",
        "Repository.swift",
        "RepositoryInfo.swift",
        "Request.swift",
        "ResourceType.swift",
        "Response.swift",
        "Server.swift",
        "Sha.swift",
        "Tree.swift",
        "User.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.2"
}
Done.