Build Information
Successful build of ECMASwift, reference 1.1.0 (eb837b
), with Swift 6.1 for macOS (SPM) on 29 Apr 2025 05:36:21 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/theolampert/ECMASwift.git
Reference: 1.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/theolampert/ECMASwift
* tag 1.1.0 -> FETCH_HEAD
HEAD is now at eb837bf Add platforms, update swifttools
Cloned https://github.com/theolampert/ECMASwift.git
Revision (git rev-parse @):
eb837bf3f6767536ef849a0e9b57e4ca01b43196
SUCCESS checkout https://github.com/theolampert/ECMASwift.git at 1.1.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": "ecmaswift",
"name": "ECMASwift",
"url": "https://github.com/theolampert/ECMASwift.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ECMASwift",
"dependencies": [
]
}
]
}
Fetching https://github.com/theolampert/ECMASwift.git
[1/670] Fetching ecmaswift
Fetched https://github.com/theolampert/ECMASwift.git from cache (0.75s)
Creating working copy for https://github.com/theolampert/ECMASwift.git
Working copy of https://github.com/theolampert/ECMASwift.git resolved at 1.1.0 (eb837bf)
warning: '.resolve-product-dependencies': dependency 'ecmaswift' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/theolampert/ECMASwift.git
https://github.com/theolampert/ECMASwift.git
{
"dependencies" : [
],
"manifest_display_name" : "ECMASwift",
"name" : "ECMASwift",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "tvos",
"version" : "14.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "ECMASwift",
"targets" : [
"ECMASwift"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ECMASwiftTests",
"module_type" : "SwiftTarget",
"name" : "ECMASwiftTests",
"path" : "Tests/ECMASwiftTests",
"sources" : [
"BlobTests.swift",
"CryptoTests.swift",
"FetchTests.swift",
"HeadersTests.swift",
"RequestTests.swift",
"SubtleCryptoTests.swift",
"TextEncoderTests.swift",
"TimerTests.swift",
"URLSearchParamsTests.swift",
"URLTests.swift"
],
"target_dependencies" : [
"ECMASwift"
],
"type" : "test"
},
{
"c99name" : "ECMASwift",
"module_type" : "SwiftTarget",
"name" : "ECMASwift",
"path" : "Sources/ECMASwift",
"product_memberships" : [
"ECMASwift"
],
"sources" : [
"API/Blob/Blob.swift",
"API/Console/Console.swift",
"API/Crypto/Crypto.swift",
"API/Crypto/SublteCrypto.swift",
"API/Fetch/AbortController.swift",
"API/Fetch/Fetch.swift",
"API/Fetch/HTTPClient.swift",
"API/FormData/FormData.swift",
"API/Headers/Headers.swift",
"API/Request/Request.swift",
"API/Request/RequestBody.swift",
"API/TextEncoder/TextEncoder.swift",
"API/Timers/Timers.swift",
"API/URL/URL.swift",
"API/URLSearchParams/URLSearchParams.swift",
"Helpers/JSContext+callFunction.swift",
"Helpers/JSValue+callFunction.swift",
"Helpers/JSValue+isNil.swift",
"Helpers/JSValue+toType.swift",
"JSRuntime.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/21] Compiling ECMASwift URLSearchParams.swift
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/Helpers/JSContext+callFunction.swift:30:30: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
28 | try await withCheckedThrowingContinuation { continuation in
29 | let onFulfilled: @convention(block) (JSValue) -> Void = {
30 | continuation.resume(returning: $0)
| |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
31 | }
32 | let onRejected: @convention(block) (JSValue) -> Void = { error in
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/Helpers/JSContext+callFunction.swift:57:30: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
55 |
56 | let onFulfilled: @convention(block) (JSValue) -> Void = {
57 | continuation.resume(returning: $0)
| |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
58 | }
59 |
[4/21] Compiling ECMASwift JSContext+callFunction.swift
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/Helpers/JSContext+callFunction.swift:30:30: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
28 | try await withCheckedThrowingContinuation { continuation in
29 | let onFulfilled: @convention(block) (JSValue) -> Void = {
30 | continuation.resume(returning: $0)
| |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
31 | }
32 | let onRejected: @convention(block) (JSValue) -> Void = { error in
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/Helpers/JSContext+callFunction.swift:57:30: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
55 |
56 | let onFulfilled: @convention(block) (JSValue) -> Void = {
57 | continuation.resume(returning: $0)
| |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
58 | }
59 |
[5/23] Compiling ECMASwift Headers.swift
[6/23] Compiling ECMASwift Request.swift
[7/23] Compiling ECMASwift HTTPClient.swift
[8/23] Compiling ECMASwift FormData.swift
[9/23] Compiling ECMASwift JSValue+callFunction.swift
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/Helpers/JSValue+callFunction.swift:14:30: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
12 | try await withCheckedThrowingContinuation { continuation in
13 | let onFulfilled: @convention(block) (JSValue) -> Void = {
14 | continuation.resume(returning: $0)
| |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
15 | }
16 | let onRejected: @convention(block) (JSValue) -> Void = { error in
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/Helpers/JSValue+callFunction.swift:40:30: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
38 |
39 | let onFulfilled: @convention(block) (JSValue) -> Void = {
40 | continuation.resume(returning: $0)
| |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
41 | }
42 |
[10/23] Compiling ECMASwift JSValue+isNil.swift
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/Helpers/JSValue+callFunction.swift:14:30: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
12 | try await withCheckedThrowingContinuation { continuation in
13 | let onFulfilled: @convention(block) (JSValue) -> Void = {
14 | continuation.resume(returning: $0)
| |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
15 | }
16 | let onRejected: @convention(block) (JSValue) -> Void = { error in
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/Helpers/JSValue+callFunction.swift:40:30: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
38 |
39 | let onFulfilled: @convention(block) (JSValue) -> Void = {
40 | continuation.resume(returning: $0)
| |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated '$0' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
41 | }
42 |
[11/23] Compiling ECMASwift Timers.swift
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/API/Timers/Timers.swift:20:31: warning: capture of 'callback' with non-sendable type 'JSValue?' in a '@Sendable' closure
18 | let uuid = UUID().uuidString
19 | let timer = Timer(timeInterval: timeInterval, repeats: repeats) { [weak self, weak callback] _ in
20 | if let callback = callback, callback.isObject {
| `- warning: capture of 'callback' with non-sendable type 'JSValue?' in a '@Sendable' closure
21 | callback.call(withArguments: [])
22 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/JavaScriptCore.framework/Headers/JSValue.h:48:12: note: class 'JSValue' does not conform to the 'Sendable' protocol
46 | */
47 | NS_CLASS_AVAILABLE(10_9, 7_0)
48 | @interface JSValue : NSObject
| `- note: class 'JSValue' does not conform to the 'Sendable' protocol
49 |
50 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/API/Timers/Timers.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'JavaScriptCore'
1 | import JavaScriptCore
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'JavaScriptCore'
2 | import os.lock
3 |
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/API/Timers/Timers.swift:25:38: warning: capture of 'self' with non-sendable type 'TimerAPI?' in a '@Sendable' closure
9 | /// - [clearTimeout()](https://developer.mozilla.org/en-US/docs/Web/API/clearTimeout)
10 | /// - [clearInterval()](https://developer.mozilla.org/en-US/docs/Web/API/clearInterval)
11 | final class TimerAPI {
| `- note: class 'TimerAPI' does not conform to the 'Sendable' protocol
12 | var timers = [String: Timer]()
13 |
:
23 |
24 | if !repeats {
25 | os_unfair_lock_lock(&self!.lock)
| `- warning: capture of 'self' with non-sendable type 'TimerAPI?' in a '@Sendable' closure
26 | self?.timers[uuid] = nil
27 | os_unfair_lock_unlock(&self!.lock)
[12/23] Compiling ECMASwift URL.swift
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/API/Timers/Timers.swift:20:31: warning: capture of 'callback' with non-sendable type 'JSValue?' in a '@Sendable' closure
18 | let uuid = UUID().uuidString
19 | let timer = Timer(timeInterval: timeInterval, repeats: repeats) { [weak self, weak callback] _ in
20 | if let callback = callback, callback.isObject {
| `- warning: capture of 'callback' with non-sendable type 'JSValue?' in a '@Sendable' closure
21 | callback.call(withArguments: [])
22 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/JavaScriptCore.framework/Headers/JSValue.h:48:12: note: class 'JSValue' does not conform to the 'Sendable' protocol
46 | */
47 | NS_CLASS_AVAILABLE(10_9, 7_0)
48 | @interface JSValue : NSObject
| `- note: class 'JSValue' does not conform to the 'Sendable' protocol
49 |
50 | /*!
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/API/Timers/Timers.swift:1:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'JavaScriptCore'
1 | import JavaScriptCore
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'JavaScriptCore'
2 | import os.lock
3 |
/Users/admin/builder/spi-builder-workspace/Sources/ECMASwift/API/Timers/Timers.swift:25:38: warning: capture of 'self' with non-sendable type 'TimerAPI?' in a '@Sendable' closure
9 | /// - [clearTimeout()](https://developer.mozilla.org/en-US/docs/Web/API/clearTimeout)
10 | /// - [clearInterval()](https://developer.mozilla.org/en-US/docs/Web/API/clearInterval)
11 | final class TimerAPI {
| `- note: class 'TimerAPI' does not conform to the 'Sendable' protocol
12 | var timers = [String: Timer]()
13 |
:
23 |
24 | if !repeats {
25 | os_unfair_lock_lock(&self!.lock)
| `- warning: capture of 'self' with non-sendable type 'TimerAPI?' in a '@Sendable' closure
26 | self?.timers[uuid] = nil
27 | os_unfair_lock_unlock(&self!.lock)
[13/23] Compiling ECMASwift AbortController.swift
[14/23] Compiling ECMASwift Fetch.swift
[15/23] Compiling ECMASwift Crypto.swift
[16/23] Compiling ECMASwift SublteCrypto.swift
[17/23] Compiling ECMASwift RequestBody.swift
[18/23] Compiling ECMASwift TextEncoder.swift
[19/23] Emitting module ECMASwift
[20/23] Compiling ECMASwift Blob.swift
[21/23] Compiling ECMASwift Console.swift
[22/23] Compiling ECMASwift JSValue+toType.swift
[23/23] Compiling ECMASwift JSRuntime.swift
Build complete! (5.54s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "ECMASwift",
"name" : "ECMASwift",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
},
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "tvos",
"version" : "14.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "ECMASwift",
"targets" : [
"ECMASwift"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ECMASwiftTests",
"module_type" : "SwiftTarget",
"name" : "ECMASwiftTests",
"path" : "Tests/ECMASwiftTests",
"sources" : [
"BlobTests.swift",
"CryptoTests.swift",
"FetchTests.swift",
"HeadersTests.swift",
"RequestTests.swift",
"SubtleCryptoTests.swift",
"TextEncoderTests.swift",
"TimerTests.swift",
"URLSearchParamsTests.swift",
"URLTests.swift"
],
"target_dependencies" : [
"ECMASwift"
],
"type" : "test"
},
{
"c99name" : "ECMASwift",
"module_type" : "SwiftTarget",
"name" : "ECMASwift",
"path" : "Sources/ECMASwift",
"product_memberships" : [
"ECMASwift"
],
"sources" : [
"API/Blob/Blob.swift",
"API/Console/Console.swift",
"API/Crypto/Crypto.swift",
"API/Crypto/SublteCrypto.swift",
"API/Fetch/AbortController.swift",
"API/Fetch/Fetch.swift",
"API/Fetch/HTTPClient.swift",
"API/FormData/FormData.swift",
"API/Headers/Headers.swift",
"API/Request/Request.swift",
"API/Request/RequestBody.swift",
"API/TextEncoder/TextEncoder.swift",
"API/Timers/Timers.swift",
"API/URL/URL.swift",
"API/URLSearchParams/URLSearchParams.swift",
"Helpers/JSContext+callFunction.swift",
"Helpers/JSValue+callFunction.swift",
"Helpers/JSValue+isNil.swift",
"Helpers/JSValue+toType.swift",
"JSRuntime.swift"
],
"type" : "library"
}
],
"tools_version" : "5.10"
}
Done.