The Swift Package Index logo.Swift Package Index

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

Build Information

Failed to build Replacer, reference master (2d6199), with Swift 6.1 for macOS (SPM) on 25 Apr 2025 20:05:58 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tattn/Replacer.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/tattn/Replacer
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 2d6199d Merge pull request #5 from tattn/dependabot/bundler/tzinfo-1.2.10
Cloned https://github.com/tattn/Replacer.git
Revision (git rev-parse @):
2d6199d8e5200fa18a654ce0b111fdf976f34d8d
SUCCESS checkout https://github.com/tattn/Replacer.git at master
Fetching https://github.com/Alamofire/Alamofire.git
[1/30137] Fetching alamofire
Fetched https://github.com/Alamofire/Alamofire.git from cache (2.42s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 4.9.1 (3.03s)
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 4.9.1
========================================
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": "replacer",
      "name": "Replacer",
      "url": "https://github.com/tattn/Replacer.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Replacer",
      "dependencies": [
        {
          "identity": "alamofire",
          "name": "Alamofire",
          "url": "https://github.com/Alamofire/Alamofire.git",
          "version": "4.9.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Alamofire",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/tattn/Replacer.git
[1/216] Fetching replacer
Fetched https://github.com/tattn/Replacer.git from cache (0.70s)
Fetching https://github.com/Alamofire/Alamofire.git from cache
Fetched https://github.com/Alamofire/Alamofire.git from cache (0.58s)
Computing version for https://github.com/Alamofire/Alamofire.git
Computed https://github.com/Alamofire/Alamofire.git at 4.9.1 (0.65s)
Creating working copy for https://github.com/tattn/Replacer.git
Working copy of https://github.com/tattn/Replacer.git resolved at master (2d6199d)
Creating working copy for https://github.com/Alamofire/Alamofire.git
Working copy of https://github.com/Alamofire/Alamofire.git resolved at 4.9.1
warning: '.resolve-product-dependencies': dependency 'replacer' is not used by any target
Found 1 product dependencies
  - Alamofire
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/tattn/Replacer.git
https://github.com/tattn/Replacer.git
{
  "dependencies" : [
    {
      "identity" : "alamofire",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.9.0",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Alamofire/Alamofire.git"
    }
  ],
  "manifest_display_name" : "Replacer",
  "name" : "Replacer",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Replacer",
      "targets" : [
        "Replacer"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "TestReplacer",
      "targets" : [
        "TestReplacer"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TestReplacer",
      "module_type" : "SwiftTarget",
      "name" : "TestReplacer",
      "path" : "Sources/TestReplacer",
      "product_memberships" : [
        "TestReplacer"
      ],
      "sources" : [
        "XCTest+.swift"
      ],
      "target_dependencies" : [
        "Replacer"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ReplacerTests",
      "module_type" : "SwiftTarget",
      "name" : "ReplacerTests",
      "path" : "Tests/ReplacerTests",
      "product_dependencies" : [
        "Alamofire"
      ],
      "sources" : [
        "ReplacerTests.swift"
      ],
      "target_dependencies" : [
        "Replacer"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Replacer",
      "module_type" : "SwiftTarget",
      "name" : "Replacer",
      "path" : "Sources/Replacer",
      "product_memberships" : [
        "Replacer",
        "TestReplacer"
      ],
      "sources" : [
        "Replacer.swift",
        "URLSessionConfiguration+.swift",
        "URLStub.swift",
        "URLStubManager.swift",
        "URLStubProtocol.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/9] Compiling Replacer URLStubProtocol.swift
/Users/admin/builder/spi-builder-workspace/Sources/Replacer/URLStubProtocol.swift:24:36: warning: capture of 'stub' with non-sendable type 'URLStub' in a '@Sendable' closure
22 |         let stub = URLStubManager.shared.findStub(by: request)!
23 |         DispatchQueue.global().asyncAfter(deadline: DispatchTime.now() + stub._delay) {
24 |             if let responseBlock = stub._responseBlock {
   |                                    `- warning: capture of 'stub' with non-sendable type 'URLStub' in a '@Sendable' closure
25 |                 (stub._data, stub._error) = responseBlock(self.request)
26 |                 stub._responseBlock = nil
/Users/admin/builder/spi-builder-workspace/Sources/Replacer/URLStub.swift:11:14: note: class 'URLStub' does not conform to the 'Sendable' protocol
  9 | import Foundation
 10 |
 11 | public class URLStub {
    |              `- note: class 'URLStub' does not conform to the 'Sendable' protocol
 12 |     var _url: String = ""
 13 |     var _method: HTTPMethod = .get
/Users/admin/builder/spi-builder-workspace/Sources/Replacer/URLStubProtocol.swift:25:59: warning: capture of 'self' with non-sendable type 'URLStubProtocol' in a '@Sendable' closure
 9 | import Foundation
10 |
11 | public class URLStubProtocol: URLProtocol {
   |              `- note: class 'URLStubProtocol' does not conform to the 'Sendable' protocol
12 |
13 |     override open class func canInit(with request: URLRequest) -> Bool {
   :
23 |         DispatchQueue.global().asyncAfter(deadline: DispatchTime.now() + stub._delay) {
24 |             if let responseBlock = stub._responseBlock {
25 |                 (stub._data, stub._error) = responseBlock(self.request)
   |                                                           `- warning: capture of 'self' with non-sendable type 'URLStubProtocol' in a '@Sendable' closure
26 |                 stub._responseBlock = nil
27 |             }
[5/9] Compiling Replacer URLStubManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Replacer/URLStubManager.swift:13:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'URLStubManager' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 |
11 | public final class URLStubManager {
   |                    `- note: class 'URLStubManager' does not conform to the 'Sendable' protocol
12 |
13 |     public static let shared = URLStubManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'URLStubManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 |     fileprivate var stubs: [URLStub] = []
[6/9] Compiling Replacer URLStub.swift
[7/9] Compiling Replacer URLSessionConfiguration+.swift
[8/9] Emitting module Replacer
/Users/admin/builder/spi-builder-workspace/Sources/Replacer/URLStubManager.swift:13:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'URLStubManager' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 |
11 | public final class URLStubManager {
   |                    `- note: class 'URLStubManager' does not conform to the 'Sendable' protocol
12 |
13 |     public static let shared = URLStubManager()
   |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'URLStubManager' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 |     fileprivate var stubs: [URLStub] = []
[9/9] Compiling Replacer Replacer.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[10/11] Emitting module TestReplacer
/Users/admin/builder/spi-builder-workspace/Sources/TestReplacer/XCTest+.swift:16:78: error: ambiguous use of 'tearDown'
14 |
15 |     private static let swizzleTearDown: Void = {
16 |         let tearDown = class_getInstanceMethod(XCTest.self, #selector(XCTest.tearDown))!
   |                                                                              `- error: ambiguous use of 'tearDown'
17 |         let replacerTearDown = class_getInstanceMethod(XCTest.self, #selector(XCTest.autoResetTearDown))!
18 |         method_exchangeImplementations(tearDown, replacerTearDown)
XCTest.XCTest.tearDown:2:11: note: found this candidate in module 'XCTest'
1 | class XCTest {
2 | open func tearDown()}
  |           `- note: found this candidate in module 'XCTest'
3 |
XCTest.XCTest.tearDown:2:11: note: found this candidate in module 'XCTest'
1 | class XCTest {
2 | open func tearDown(completion: @escaping ((any Error)?) -> Void)}
  |           `- note: found this candidate in module 'XCTest'
3 |
[11/11] Compiling TestReplacer XCTest+.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestReplacer/XCTest+.swift:16:78: error: ambiguous use of 'tearDown'
14 |
15 |     private static let swizzleTearDown: Void = {
16 |         let tearDown = class_getInstanceMethod(XCTest.self, #selector(XCTest.tearDown))!
   |                                                                              `- error: ambiguous use of 'tearDown'
17 |         let replacerTearDown = class_getInstanceMethod(XCTest.self, #selector(XCTest.autoResetTearDown))!
18 |         method_exchangeImplementations(tearDown, replacerTearDown)
XCTest.XCTest.tearDown:2:11: note: found this candidate in module 'XCTest'
1 | class XCTest {
2 | open func tearDown()}
  |           `- note: found this candidate in module 'XCTest'
3 |
XCTest.XCTest.tearDown:2:11: note: found this candidate in module 'XCTest'
1 | class XCTest {
2 | open func tearDown(completion: @escaping ((any Error)?) -> Void)}
  |           `- note: found this candidate in module 'XCTest'
3 |
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/7] Compiling Replacer URLStub.swift
[3/7] Compiling Replacer Replacer.swift
[4/7] Compiling Replacer URLStubManager.swift
[5/7] Compiling Replacer URLStubProtocol.swift
[6/7] Emitting module Replacer
[7/7] Compiling Replacer URLSessionConfiguration+.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[8/9] Emitting module TestReplacer
/Users/admin/builder/spi-builder-workspace/Sources/TestReplacer/XCTest+.swift:16:78: error: ambiguous use of 'tearDown'
14 |
15 |     private static let swizzleTearDown: Void = {
16 |         let tearDown = class_getInstanceMethod(XCTest.self, #selector(XCTest.tearDown))!
   |                                                                              `- error: ambiguous use of 'tearDown'
17 |         let replacerTearDown = class_getInstanceMethod(XCTest.self, #selector(XCTest.autoResetTearDown))!
18 |         method_exchangeImplementations(tearDown, replacerTearDown)
XCTest.XCTest.tearDown:2:11: note: found this candidate in module 'XCTest'
1 | class XCTest {
2 | open func tearDown()}
  |           `- note: found this candidate in module 'XCTest'
3 |
XCTest.XCTest.tearDown:2:11: note: found this candidate in module 'XCTest'
1 | class XCTest {
2 | open func tearDown(completion: @escaping ((any Error)?) -> Void)}
  |           `- note: found this candidate in module 'XCTest'
3 |
[9/9] Compiling TestReplacer XCTest+.swift
/Users/admin/builder/spi-builder-workspace/Sources/TestReplacer/XCTest+.swift:16:78: error: ambiguous use of 'tearDown'
14 |
15 |     private static let swizzleTearDown: Void = {
16 |         let tearDown = class_getInstanceMethod(XCTest.self, #selector(XCTest.tearDown))!
   |                                                                              `- error: ambiguous use of 'tearDown'
17 |         let replacerTearDown = class_getInstanceMethod(XCTest.self, #selector(XCTest.autoResetTearDown))!
18 |         method_exchangeImplementations(tearDown, replacerTearDown)
XCTest.XCTest.tearDown:2:11: note: found this candidate in module 'XCTest'
1 | class XCTest {
2 | open func tearDown()}
  |           `- note: found this candidate in module 'XCTest'
3 |
XCTest.XCTest.tearDown:2:11: note: found this candidate in module 'XCTest'
1 | class XCTest {
2 | open func tearDown(completion: @escaping ((any Error)?) -> Void)}
  |           `- note: found this candidate in module 'XCTest'
3 |
BUILD FAILURE 6.1 macosSpm