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 Aoxiang, reference main (220000), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 15:24:21 UTC.

Swift 6 data race errors: 0

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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/isaced/Aoxiang.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/isaced/Aoxiang
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 220000a fix: public property automaticallySuspendInBackground
Cloned https://github.com/isaced/Aoxiang.git
Revision (git rev-parse @):
220000a543578c7fb4aa8eed01ab7fe95488cbda
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/isaced/Aoxiang.git at main
========================================
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": "aoxiang",
      "name": "Aoxiang",
      "url": "https://github.com/isaced/Aoxiang.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Aoxiang",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/isaced/Aoxiang.git
[1/151] Fetching aoxiang
Fetched https://github.com/isaced/Aoxiang.git from cache (0.65s)
Creating working copy for https://github.com/isaced/Aoxiang.git
Working copy of https://github.com/isaced/Aoxiang.git resolved at main (220000a)
warning: '.resolve-product-dependencies': dependency 'aoxiang' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/isaced/Aoxiang.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Aoxiang",
  "name" : "Aoxiang",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "Aoxiang",
      "targets" : [
        "Aoxiang"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AoxiangTests",
      "module_type" : "SwiftTarget",
      "name" : "AoxiangTests",
      "path" : "Tests/AoxiangTests",
      "sources" : [
        "AoxiangTests.swift",
        "MiddlewareTests.swift",
        "Utils.swift"
      ],
      "target_dependencies" : [
        "Aoxiang"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Aoxiang",
      "module_type" : "SwiftTarget",
      "name" : "Aoxiang",
      "path" : "Sources/Aoxiang",
      "product_memberships" : [
        "Aoxiang"
      ],
      "sources" : [
        "HTTPParser.swift",
        "HTTPRequest.swift",
        "HTTPResponse.swift",
        "HTTPRouter.swift",
        "HTTPServer.swift",
        "Socket.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
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 -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/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/9] Compiling Aoxiang HTTPRouter.swift
[4/9] Compiling Aoxiang HTTPServer.swift
/Users/admin/builder/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:115:25: warning: capture of 'strongSelf' with non-sendable type 'HTTPServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 | ///     }
 50 | ///     try server.start(3000)
 51 | open class HTTPServer {
    |            `- note: class 'HTTPServer' does not conform to the 'Sendable' protocol
 52 |     /// A butil-in router middleware
 53 |     let router = HTTPRouter()
    :
113 |                     guard let strongSelf = self else { return }
114 |                     strongSelf.queue.async {
115 |                         strongSelf.sockets.insert(socket)
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'HTTPServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 |                     }
117 |
/Users/admin/builder/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:115:51: warning: capture of 'socket' with non-sendable type 'Socket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
113 |                     guard let strongSelf = self else { return }
114 |                     strongSelf.queue.async {
115 |                         strongSelf.sockets.insert(socket)
    |                                                   `- warning: capture of 'socket' with non-sendable type 'Socket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 |                     }
117 |
/Users/admin/builder/spi-builder-workspace/Sources/Aoxiang/Socket.swift:24:7: note: class 'Socket' does not conform to the 'Sendable' protocol
 22 | ///
 23 | /// This class is used to create a socket, bind it to a port, listen for incoming connections, and accept them.
 24 | class Socket: Hashable, Equatable {
    |       `- note: class 'Socket' does not conform to the 'Sendable' protocol
 25 |     let sock: Int32
 26 |
/Users/admin/builder/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:121:25: warning: capture of 'strongSelf' with non-sendable type 'HTTPServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 49 | ///     }
 50 | ///     try server.start(3000)
 51 | open class HTTPServer {
    |            `- note: class 'HTTPServer' does not conform to the 'Sendable' protocol
 52 |     /// A butil-in router middleware
 53 |     let router = HTTPRouter()
    :
119 |
120 |                     strongSelf.queue.async {
121 |                         strongSelf.sockets.remove(socket)
    |                         `- warning: capture of 'strongSelf' with non-sendable type 'HTTPServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 |                     }
123 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:121:51: warning: capture of 'socket' with non-sendable type 'Socket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
119 |
120 |                     strongSelf.queue.async {
121 |                         strongSelf.sockets.remove(socket)
    |                                                   `- warning: capture of 'socket' with non-sendable type 'Socket' in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 |                     }
123 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/Aoxiang/Socket.swift:24:7: note: class 'Socket' does not conform to the 'Sendable' protocol
 22 | ///
 23 | /// This class is used to create a socket, bind it to a port, listen for incoming connections, and accept them.
 24 | class Socket: Hashable, Equatable {
    |       `- note: class 'Socket' does not conform to the 'Sendable' protocol
 25 |     let sock: Int32
 26 |
/Users/admin/builder/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:109:37: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
107 |         self.stop()
108 |         self.socket = try Socket(port: port)
109 |         Task(priority: .background) { [weak self] in
    |                                     `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
110 |             guard let strongSelf = self else { return }
    |                                    `- note: closure captures 'self' which is accessible to code in the current task
111 |             while let socket: Socket = try? strongSelf.socket?.accept() {
112 |                 Task(priority: .background) { [weak self] in
/Users/admin/builder/spi-builder-workspace/Sources/Aoxiang/HTTPServer.swift:112:45: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
110 |             guard let strongSelf = self else { return }
111 |             while let socket: Socket = try? strongSelf.socket?.accept() {
112 |                 Task(priority: .background) { [weak self] in
    |                                             `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
113 |                     guard let strongSelf = self else { return }
    |                                            `- note: closure captures non-Sendable 'self'
114 |                     strongSelf.queue.async {
115 |                         strongSelf.sockets.insert(socket)
    |                                                   `- note: closure captures non-Sendable 'socket'
116 |                     }
117 |
[5/9] Compiling Aoxiang HTTPResponse.swift
[6/9] Compiling Aoxiang HTTPParser.swift
[7/9] Emitting module Aoxiang
[8/9] Compiling Aoxiang Socket.swift
[9/9] Compiling Aoxiang HTTPRequest.swift
Build complete! (8.94s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Aoxiang",
  "name" : "Aoxiang",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "Aoxiang",
      "targets" : [
        "Aoxiang"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AoxiangTests",
      "module_type" : "SwiftTarget",
      "name" : "AoxiangTests",
      "path" : "Tests/AoxiangTests",
      "sources" : [
        "AoxiangTests.swift",
        "MiddlewareTests.swift",
        "Utils.swift"
      ],
      "target_dependencies" : [
        "Aoxiang"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Aoxiang",
      "module_type" : "SwiftTarget",
      "name" : "Aoxiang",
      "path" : "Sources/Aoxiang",
      "product_memberships" : [
        "Aoxiang"
      ],
      "sources" : [
        "HTTPParser.swift",
        "HTTPRequest.swift",
        "HTTPResponse.swift",
        "HTTPRouter.swift",
        "HTTPServer.swift",
        "Socket.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
Done.