Build Information
Successful build of SwiftPublicSuffixList, reference 1.1.6 (e59868
), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 22:22:43 UTC.
Swift 6 data race errors: 2
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/ekscrypto/SwiftPublicSuffixList.git
Reference: 1.1.6
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ekscrypto/SwiftPublicSuffixList
* tag 1.1.6 -> FETCH_HEAD
HEAD is now at e59868f Update 2022-07-12 19:31
Cloned https://github.com/ekscrypto/SwiftPublicSuffixList.git
Revision (git rev-parse @):
e59868f29739bb82e5f0db5fcb494e834802403b
SUCCESS checkout https://github.com/ekscrypto/SwiftPublicSuffixList.git at 1.1.6
========================================
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": "swiftpublicsuffixlist",
"name": "SwiftPublicSuffixList",
"url": "https://github.com/ekscrypto/SwiftPublicSuffixList.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/SwiftPublicSuffixList",
"dependencies": [
]
}
]
}
Fetching https://github.com/ekscrypto/SwiftPublicSuffixList.git
[1/147] Fetching swiftpublicsuffixlist
Fetched https://github.com/ekscrypto/SwiftPublicSuffixList.git from cache (0.77s)
Creating working copy for https://github.com/ekscrypto/SwiftPublicSuffixList.git
Working copy of https://github.com/ekscrypto/SwiftPublicSuffixList.git resolved at 1.1.6 (e59868f)
warning: '.resolve-product-dependencies': dependency 'swiftpublicsuffixlist' 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/ekscrypto/SwiftPublicSuffixList.git
https://github.com/ekscrypto/SwiftPublicSuffixList.git
{
"dependencies" : [
],
"manifest_display_name" : "SwiftPublicSuffixList",
"name" : "SwiftPublicSuffixList",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.12"
},
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "SwiftPublicSuffixList",
"targets" : [
"SwiftPublicSuffixList"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftPublicSuffixListTests",
"module_type" : "SwiftTarget",
"name" : "SwiftPublicSuffixListTests",
"path" : "Tests/SwiftPublicSuffixListTests",
"sources" : [
"LoadSaveUpdateTests.swift",
"SwiftPublicSuffixListTests.swift"
],
"target_dependencies" : [
"SwiftPublicSuffixList"
],
"type" : "test"
},
{
"c99name" : "SwiftPublicSuffixList",
"module_type" : "SwiftTarget",
"name" : "SwiftPublicSuffixList",
"path" : "Sources/SwiftPublicSuffixList",
"product_memberships" : [
"SwiftPublicSuffixList"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/registry.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"PublicSuffixList.swift",
"PublicSuffixMatcher.swift",
"PublicSuffixOnlineRegistryFetcher.swift",
"PublicSuffixRulesRegistry.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
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
[1/3] Copying registry.json
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/9] Compiling SwiftPublicSuffixList resource_bundle_accessor.swift
[5/9] Compiling SwiftPublicSuffixList PublicSuffixOnlineRegistryFetcher.swift
[6/9] Compiling SwiftPublicSuffixList PublicSuffixMatcher.swift
[7/9] Compiling SwiftPublicSuffixList PublicSuffixRulesRegistry.swift
[8/9] Compiling SwiftPublicSuffixList PublicSuffixList.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:20:23: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 | public typealias URLRequestHandler = (URLRequest, @escaping URLRequestCompletion) -> Void
19 | public typealias Logger = (String) -> Void
20 | public static var logger: Logger = { print($0) }
| |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 |
22 | public static let defaultUrlRequestHandler: URLRequestHandler = { request, completion in
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:22:23: warning: static property 'defaultUrlRequestHandler' is not concurrency-safe because non-'Sendable' type 'PublicSuffixList.URLRequestHandler' (aka '(URLRequest, @escaping (Optional<Data>, Optional<URLResponse>, Optional<any Error>) -> ()) -> ()') may have shared mutable state; this is an error in the Swift 6 language mode
20 | public static var logger: Logger = { print($0) }
21 |
22 | public static let defaultUrlRequestHandler: URLRequestHandler = { request, completion in
| |- warning: static property 'defaultUrlRequestHandler' is not concurrency-safe because non-'Sendable' type 'PublicSuffixList.URLRequestHandler' (aka '(URLRequest, @escaping (Optional<Data>, Optional<URLResponse>, Optional<any Error>) -> ()) -> ()') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaultUrlRequestHandler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 | URLSession.shared.dataTask(with: request, completionHandler: completion).resume()
24 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:23:70: warning: passing non-sendable parameter 'completion' to function expecting a @Sendable closure
20 | public static var logger: Logger = { print($0) }
21 |
22 | public static let defaultUrlRequestHandler: URLRequestHandler = { request, completion in
| `- note: parameter 'completion' is implicitly non-sendable
23 | URLSession.shared.dataTask(with: request, completionHandler: completion).resume()
| `- warning: passing non-sendable parameter 'completion' to function expecting a @Sendable closure
24 | }
25 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:167:144: warning: capture of 'requestHandler' with non-sendable type 'PublicSuffixList.URLRequestHandler' (aka '(URLRequest, @escaping (Optional<Data>, Optional<URLResponse>, Optional<any Error>) -> ()) -> ()') in a '@Sendable' closure
165 | updateThread = Thread { [weak self] in
166 | var success: Bool = false
167 | if let onlineRules = PublicSuffixListOnlineRegistryFetcher.fetch(logger: Self.logger, cachePolicy: cachePolicy, urlRequestHandler: requestHandler) {
| |- warning: capture of 'requestHandler' with non-sendable type 'PublicSuffixList.URLRequestHandler' (aka '(URLRequest, @escaping (Optional<Data>, Optional<URLResponse>, Optional<any Error>) -> ()) -> ()') in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
168 | self?.rules = onlineRules
169 | Self.logger("\(Self.self) Public Suffix List updated")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:168:17: warning: capture of 'self' with non-sendable type 'PublicSuffixList?' in a '@Sendable' closure
13 | import Foundation
14 |
15 | final public class PublicSuffixList {
| `- note: class 'PublicSuffixList' does not conform to the 'Sendable' protocol
16 |
17 | public typealias URLRequestCompletion = (Data?, URLResponse?, Error?) -> Void
:
166 | var success: Bool = false
167 | if let onlineRules = PublicSuffixListOnlineRegistryFetcher.fetch(logger: Self.logger, cachePolicy: cachePolicy, urlRequestHandler: requestHandler) {
168 | self?.rules = onlineRules
| `- warning: capture of 'self' with non-sendable type 'PublicSuffixList?' in a '@Sendable' closure
169 | Self.logger("\(Self.self) Public Suffix List updated")
170 | success = true
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:172:13: warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
170 | success = true
171 | }
172 | completion(success)
| |- warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
173 | self?.updateThread = nil
174 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:91:26: warning: sending 'list' risks causing data races; this is an error in the Swift 6 language mode
89 | await withCheckedContinuation({ continuation in
90 | let list = PublicSuffixList(source: source, urlRequestHandler: urlRequestHandler)
91 | continuation.resume(returning: list)
| |- warning: sending 'list' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'list' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
92 | })
93 | }
[9/9] Emitting module SwiftPublicSuffixList
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:20:23: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 | public typealias URLRequestHandler = (URLRequest, @escaping URLRequestCompletion) -> Void
19 | public typealias Logger = (String) -> Void
20 | public static var logger: Logger = { print($0) }
| |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 |
22 | public static let defaultUrlRequestHandler: URLRequestHandler = { request, completion in
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:22:23: warning: static property 'defaultUrlRequestHandler' is not concurrency-safe because non-'Sendable' type 'PublicSuffixList.URLRequestHandler' (aka '(URLRequest, @escaping (Optional<Data>, Optional<URLResponse>, Optional<any Error>) -> ()) -> ()') may have shared mutable state; this is an error in the Swift 6 language mode
20 | public static var logger: Logger = { print($0) }
21 |
22 | public static let defaultUrlRequestHandler: URLRequestHandler = { request, completion in
| |- warning: static property 'defaultUrlRequestHandler' is not concurrency-safe because non-'Sendable' type 'PublicSuffixList.URLRequestHandler' (aka '(URLRequest, @escaping (Optional<Data>, Optional<URLResponse>, Optional<any Error>) -> ()) -> ()') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'defaultUrlRequestHandler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 | URLSession.shared.dataTask(with: request, completionHandler: completion).resume()
24 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:23:70: warning: passing non-sendable parameter 'completion' to function expecting a @Sendable closure
20 | public static var logger: Logger = { print($0) }
21 |
22 | public static let defaultUrlRequestHandler: URLRequestHandler = { request, completion in
| `- note: parameter 'completion' is implicitly non-sendable
23 | URLSession.shared.dataTask(with: request, completionHandler: completion).resume()
| `- warning: passing non-sendable parameter 'completion' to function expecting a @Sendable closure
24 | }
25 |
Build complete! (4.50s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SwiftPublicSuffixList",
"name" : "SwiftPublicSuffixList",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.12"
},
{
"name" : "ios",
"version" : "11.0"
},
{
"name" : "tvos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "SwiftPublicSuffixList",
"targets" : [
"SwiftPublicSuffixList"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftPublicSuffixListTests",
"module_type" : "SwiftTarget",
"name" : "SwiftPublicSuffixListTests",
"path" : "Tests/SwiftPublicSuffixListTests",
"sources" : [
"LoadSaveUpdateTests.swift",
"SwiftPublicSuffixListTests.swift"
],
"target_dependencies" : [
"SwiftPublicSuffixList"
],
"type" : "test"
},
{
"c99name" : "SwiftPublicSuffixList",
"module_type" : "SwiftTarget",
"name" : "SwiftPublicSuffixList",
"path" : "Sources/SwiftPublicSuffixList",
"product_memberships" : [
"SwiftPublicSuffixList"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/registry.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"PublicSuffixList.swift",
"PublicSuffixMatcher.swift",
"PublicSuffixOnlineRegistryFetcher.swift",
"PublicSuffixRulesRegistry.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.