The Swift Package Index logo.Swift Package Index

Build Information

Successful build of SwiftPublicSuffixList, reference main (f3e076), with Swift 6.1 for macOS (SPM) on 29 Apr 2026 05:26:06 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.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ekscrypto/SwiftPublicSuffixList.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ekscrypto/SwiftPublicSuffixList
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at f3e076b Update public suffix list - v3.1.3
Cloned https://github.com/ekscrypto/SwiftPublicSuffixList.git
Revision (git rev-parse @):
f3e076b1e491d8a77d72d089f23c9deefb468276
SUCCESS checkout https://github.com/ekscrypto/SwiftPublicSuffixList.git at main
========================================
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"
        ]
      }
    },
    {
      "name" : "SuffixLoadBench",
      "targets" : [
        "SuffixLoadBench"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftPublicSuffixListTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftPublicSuffixListTests",
      "path" : "Tests/SwiftPublicSuffixListTests",
      "sources" : [
        "LoadSaveUpdateTests.swift",
        "SwiftPublicSuffixListTests.swift",
        "TrieTests.swift"
      ],
      "target_dependencies" : [
        "SwiftPublicSuffixList"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftPublicSuffixList",
      "module_type" : "SwiftTarget",
      "name" : "SwiftPublicSuffixList",
      "path" : "Sources/SwiftPublicSuffixList",
      "product_memberships" : [
        "SwiftPublicSuffixList",
        "SuffixLoadBench"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/registry.trie",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "PublicSuffixList.swift",
        "PublicSuffixOnlineRegistryFetcher.swift",
        "Punycode.swift",
        "TrieBuilder.swift",
        "TrieFormat.swift",
        "TrieMatcher.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SuffixLoadBench",
      "module_type" : "SwiftTarget",
      "name" : "SuffixLoadBench",
      "path" : "Sources/SuffixLoadBench",
      "product_memberships" : [
        "SuffixLoadBench"
      ],
      "sources" : [
        "Bench.swift",
        "BenchCorpus.swift",
        "GeneratedRules.swift",
        "Generators.swift",
        "Loaders.swift",
        "TrieFormat.swift",
        "TrieMatcher.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "SwiftPublicSuffixList"
      ],
      "type" : "executable"
    }
  ],
  "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/8] Write sources
[2/8] Copying registry.trie
[2/8] Write SuffixLoadBench-entitlement.plist
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/16] Compiling SwiftPublicSuffixList TrieFormat.swift
[7/16] Compiling SwiftPublicSuffixList TrieBuilder.swift
[8/16] Compiling SwiftPublicSuffixList Punycode.swift
[9/16] Compiling SwiftPublicSuffixList resource_bundle_accessor.swift
[10/16] Emitting module SwiftPublicSuffixList
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:110: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
108 |     /// Logger used for diagnostic messages. Defaults to `print(_:)`. Replace
109 |     /// with your own function to route warnings into an app logger.
110 |     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
111 |
112 |     /// Default URL-request handler using `URLSession.shared`. Override by
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:115: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
113 |     /// passing a custom handler to ``init(source:urlRequestHandler:)`` when
114 |     /// you need to integrate with a specific networking stack.
115 |     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
116 |         URLSession.shared.dataTask(with: request, completionHandler: completion).resume()
117 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:116:70: warning: passing non-sendable parameter 'completion' to function expecting a @Sendable closure
113 |     /// passing a custom handler to ``init(source:urlRequestHandler:)`` when
114 |     /// you need to integrate with a specific networking stack.
115 |     public static let defaultUrlRequestHandler: URLRequestHandler = { request, completion in
    |                                                                                `- note: parameter 'completion' is implicitly non-sendable
116 |         URLSession.shared.dataTask(with: request, completionHandler: completion).resume()
    |                                                                      `- warning: passing non-sendable parameter 'completion' to function expecting a @Sendable closure
117 |     }
118 |
[11/16] Compiling SwiftPublicSuffixList PublicSuffixOnlineRegistryFetcher.swift
[12/16] Compiling SwiftPublicSuffixList TrieMatcher.swift
[13/16] Compiling SwiftPublicSuffixList PublicSuffixList.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:110: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
108 |     /// Logger used for diagnostic messages. Defaults to `print(_:)`. Replace
109 |     /// with your own function to route warnings into an app logger.
110 |     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
111 |
112 |     /// Default URL-request handler using `URLSession.shared`. Override by
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:115: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
113 |     /// passing a custom handler to ``init(source:urlRequestHandler:)`` when
114 |     /// you need to integrate with a specific networking stack.
115 |     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
116 |         URLSession.shared.dataTask(with: request, completionHandler: completion).resume()
117 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:116:70: warning: passing non-sendable parameter 'completion' to function expecting a @Sendable closure
113 |     /// passing a custom handler to ``init(source:urlRequestHandler:)`` when
114 |     /// you need to integrate with a specific networking stack.
115 |     public static let defaultUrlRequestHandler: URLRequestHandler = { request, completion in
    |                                                                                `- note: parameter 'completion' is implicitly non-sendable
116 |         URLSession.shared.dataTask(with: request, completionHandler: completion).resume()
    |                                                                      `- warning: passing non-sendable parameter 'completion' to function expecting a @Sendable closure
117 |     }
118 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:431:36: warning: capture of 'requestHandler' with non-sendable type 'PublicSuffixList.URLRequestHandler' (aka '(URLRequest, @escaping (Optional<Data>, Optional<URLResponse>, Optional<any Error>) -> ()) -> ()') in a '@Sendable' closure
429 |                 logger: Self.logger,
430 |                 cachePolicy: cachePolicy,
431 |                 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'
432 |             ) {
433 |                 let data = TrieBuilder.buildAndSerialize(rules: rules)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:435:17: warning: capture of 'self' with non-sendable type 'PublicSuffixList?' in a '@Sendable' closure
 94 | /// - ``updateUsingOnlineRegistry(cachePolicy:completion:)``
 95 | /// - ``export(to:writeOptions:)``
 96 | public final class PublicSuffixList {
    |                    `- note: class 'PublicSuffixList' does not conform to the 'Sendable' protocol
 97 |
 98 |     /// Completion handler type for URL request operations.
    :
433 |                 let data = TrieBuilder.buildAndSerialize(rules: rules)
434 |                 let newMatcher = TrieMatcher(data: data)
435 |                 self?.accessLock.lock()
    |                 `- warning: capture of 'self' with non-sendable type 'PublicSuffixList?' in a '@Sendable' closure
436 |                 self?.matcher = newMatcher
437 |                 self?.accessLock.unlock()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:441:13: warning: capture of 'completion' with non-sendable type '(Bool) -> Void' in a '@Sendable' closure
439 |                 success = true
440 |             }
441 |             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'
442 |             self?.updateThread = nil
443 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/PublicSuffixList.swift:208:26: warning: sending value of non-Sendable type 'PublicSuffixList' risks causing data races; this is an error in the Swift 6 language mode
206 |     ) async -> PublicSuffixList {
207 |         await withCheckedContinuation { continuation in
208 |             continuation.resume(returning: PublicSuffixList(source: source,
    |                          |- warning: sending value of non-Sendable type 'PublicSuffixList' risks causing data races; this is an error in the Swift 6 language mode
    |                          `- note: Passing task-isolated value of non-Sendable type 'PublicSuffixList' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
209 |                                                             urlRequestHandler: urlRequestHandler))
210 |         }
[14/25] Compiling SuffixLoadBench TrieMatcher.swift
[15/25] Compiling SuffixLoadBench TrieFormat.swift
[16/25] Compiling SuffixLoadBench Loaders.swift
[17/25] Compiling SuffixLoadBench Generators.swift
[18/25] Compiling SuffixLoadBench BenchCorpus.swift
[19/25] Emitting module SuffixLoadBench
[20/25] Compiling SuffixLoadBench GeneratedRules.swift
[21/25] Compiling SuffixLoadBench main.swift
[22/25] Compiling SuffixLoadBench Bench.swift
[22/25] Write Objects.LinkFileList
[23/25] Linking SuffixLoadBench
[24/25] Applying SuffixLoadBench
Build complete! (13.91s)
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"
        ]
      }
    },
    {
      "name" : "SuffixLoadBench",
      "targets" : [
        "SuffixLoadBench"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftPublicSuffixListTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftPublicSuffixListTests",
      "path" : "Tests/SwiftPublicSuffixListTests",
      "sources" : [
        "LoadSaveUpdateTests.swift",
        "SwiftPublicSuffixListTests.swift",
        "TrieTests.swift"
      ],
      "target_dependencies" : [
        "SwiftPublicSuffixList"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftPublicSuffixList",
      "module_type" : "SwiftTarget",
      "name" : "SwiftPublicSuffixList",
      "path" : "Sources/SwiftPublicSuffixList",
      "product_memberships" : [
        "SwiftPublicSuffixList",
        "SuffixLoadBench"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/SwiftPublicSuffixList/registry.trie",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "PublicSuffixList.swift",
        "PublicSuffixOnlineRegistryFetcher.swift",
        "Punycode.swift",
        "TrieBuilder.swift",
        "TrieFormat.swift",
        "TrieMatcher.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SuffixLoadBench",
      "module_type" : "SwiftTarget",
      "name" : "SuffixLoadBench",
      "path" : "Sources/SuffixLoadBench",
      "product_memberships" : [
        "SuffixLoadBench"
      ],
      "sources" : [
        "Bench.swift",
        "BenchCorpus.swift",
        "GeneratedRules.swift",
        "Generators.swift",
        "Loaders.swift",
        "TrieFormat.swift",
        "TrieMatcher.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "SwiftPublicSuffixList"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.5"
}
Done.