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 TrailerQL, reference 1.0.6 (000637), with Swift 6.0 for Linux on 10 Oct 2024 07:57:56 UTC.

Swift 6 data race errors: 3

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.55.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/ptsochantaris/trailer-ql.git
Reference: 1.0.6
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/ptsochantaris/trailer-ql
 * tag               1.0.6      -> FETCH_HEAD
HEAD is now at 000637f Better naming
Cloned https://github.com/ptsochantaris/trailer-ql.git
Revision (git rev-parse @):
000637fccc2743d69915b8e67e1426a756ba0846
SUCCESS checkout https://github.com/ptsochantaris/trailer-ql.git at 1.0.6
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/ptsochantaris/trailer-ql.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:b1f5b321a5d74ef5eaf6f5f3afbfebaaa54c7954de6f859009c18a90e0e1c3b4
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/ptsochantaris/lista
[1/139] Fetching lista
Fetched https://github.com/ptsochantaris/lista from cache (0.16s)
Creating working copy for https://github.com/ptsochantaris/lista
Working copy of https://github.com/ptsochantaris/lista resolved at main (3296d90)
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/5] Compiling Lista Lista.swift
[5/5] Emitting module Lista
[7/16] Compiling TrailerQL Scanning.swift
[8/17] Compiling TrailerQL TrailerQL.swift
/host/spi-builder-workspace/Sources/TrailerQL/TrailerQL.swift:7:23: warning: static property 'emptyList' is not concurrency-safe because non-'Sendable' type 'Lista<Fragment>' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | public enum TQL {
 7 |     public static let emptyList = Lista<Fragment>()
   |                       `- warning: static property 'emptyList' is not concurrency-safe because non-'Sendable' type 'Lista<Fragment>' may have shared mutable state; this is an error in the Swift 6 language mode
 8 |
 9 |     public static var debugLog: ((String) -> Void)?
/host/spi-builder-workspace/.build/checkouts/lista/Sources/Lista/Lista.swift:4:20: note: generic class 'Lista' does not conform to the 'Sendable' protocol
  2 |
  3 | // An instance of a list
  4 | public final class Lista<Value> {
    |                    `- note: generic class 'Lista' does not conform to the 'Sendable' protocol
  5 |     fileprivate final class Node<T> {
  6 |         fileprivate let value: T
/host/spi-builder-workspace/Sources/TrailerQL/TrailerQL.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Lista'
 1 | import Foundation
 2 | import Lista
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Lista'
 3 |
 4 | typealias JSON = [String: Any]
 5 |
 6 | public enum TQL {
 7 |     public static let emptyList = Lista<Fragment>()
   |                       |- note: annotate 'emptyList' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     public static var debugLog: ((String) -> Void)?
/host/spi-builder-workspace/Sources/TrailerQL/TrailerQL.swift:9:23: warning: static property 'debugLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |     public static let emptyList = Lista<Fragment>()
 8 |
 9 |     public static var debugLog: ((String) -> Void)?
   |                       |- warning: static property 'debugLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'debugLog' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'debugLog' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     static func log(_ message: @autoclosure () -> String) {
[9/17] Emitting module TrailerQL
/host/spi-builder-workspace/Sources/TrailerQL/Field.swift:5:23: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'Field' may have shared mutable state; this is an error in the Swift 6 language mode
 2 | import Lista
 3 |
 4 | public struct Field: Element {
   |               `- note: consider making struct 'Field' conform to the 'Sendable' protocol
 5 |     public static let id = Field("id")
   |                       |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'Field' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public let id = UUID()
/host/spi-builder-workspace/Sources/TrailerQL/TrailerQL.swift:7:23: warning: static property 'emptyList' is not concurrency-safe because non-'Sendable' type 'Lista<Fragment>' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | public enum TQL {
 7 |     public static let emptyList = Lista<Fragment>()
   |                       `- warning: static property 'emptyList' is not concurrency-safe because non-'Sendable' type 'Lista<Fragment>' may have shared mutable state; this is an error in the Swift 6 language mode
 8 |
 9 |     public static var debugLog: ((String) -> Void)?
/host/spi-builder-workspace/.build/checkouts/lista/Sources/Lista/Lista.swift:4:20: note: generic class 'Lista' does not conform to the 'Sendable' protocol
  2 |
  3 | // An instance of a list
  4 | public final class Lista<Value> {
    |                    `- note: generic class 'Lista' does not conform to the 'Sendable' protocol
  5 |     fileprivate final class Node<T> {
  6 |         fileprivate let value: T
/host/spi-builder-workspace/Sources/TrailerQL/TrailerQL.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Lista'
 1 | import Foundation
 2 | import Lista
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Lista'
 3 |
 4 | typealias JSON = [String: Any]
 5 |
 6 | public enum TQL {
 7 |     public static let emptyList = Lista<Fragment>()
   |                       |- note: annotate 'emptyList' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     public static var debugLog: ((String) -> Void)?
/host/spi-builder-workspace/Sources/TrailerQL/TrailerQL.swift:9:23: warning: static property 'debugLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 7 |     public static let emptyList = Lista<Fragment>()
 8 |
 9 |     public static var debugLog: ((String) -> Void)?
   |                       |- warning: static property 'debugLog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'debugLog' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'debugLog' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     static func log(_ message: @autoclosure () -> String) {
[10/17] Compiling TrailerQL BatchGroup.swift
[11/17] Compiling TrailerQL Element.swift
[12/17] Compiling TrailerQL Node.swift
[13/17] Compiling TrailerQL Query.swift
[14/17] Compiling TrailerQL Fragment.swift
/host/spi-builder-workspace/Sources/TrailerQL/Field.swift:5:23: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'Field' may have shared mutable state; this is an error in the Swift 6 language mode
 2 | import Lista
 3 |
 4 | public struct Field: Element {
   |               `- note: consider making struct 'Field' conform to the 'Sendable' protocol
 5 |     public static let id = Field("id")
   |                       |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'Field' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public let id = UUID()
[15/17] Compiling TrailerQL ElementsBuilder.swift
/host/spi-builder-workspace/Sources/TrailerQL/Field.swift:5:23: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'Field' may have shared mutable state; this is an error in the Swift 6 language mode
 2 | import Lista
 3 |
 4 | public struct Field: Element {
   |               `- note: consider making struct 'Field' conform to the 'Sendable' protocol
 5 |     public static let id = Field("id")
   |                       |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'Field' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public let id = UUID()
/host/spi-builder-workspace/Sources/TrailerQL/TrailerQL.swift:7:23: warning: static property 'emptyList' is not concurrency-safe because non-'Sendable' type 'Lista<Fragment>' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | public enum TQL {
 7 |     public static let emptyList = Lista<Fragment>()
   |                       `- warning: static property 'emptyList' is not concurrency-safe because non-'Sendable' type 'Lista<Fragment>' may have shared mutable state; this is an error in the Swift 6 language mode
 8 |
 9 |     public static var debugLog: ((String) -> Void)?
/host/spi-builder-workspace/.build/checkouts/lista/Sources/Lista/Lista.swift:4:20: note: generic class 'Lista' does not conform to the 'Sendable' protocol
  2 |
  3 | // An instance of a list
  4 | public final class Lista<Value> {
    |                    `- note: generic class 'Lista' does not conform to the 'Sendable' protocol
  5 |     fileprivate final class Node<T> {
  6 |         fileprivate let value: T
/host/spi-builder-workspace/Sources/TrailerQL/TrailerQL.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Lista'
 1 | import Foundation
 2 | import Lista
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Lista'
 3 |
 4 | typealias JSON = [String: Any]
 5 |
 6 | public enum TQL {
 7 |     public static let emptyList = Lista<Fragment>()
   |                       |- note: annotate 'emptyList' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     public static var debugLog: ((String) -> Void)?
[16/17] Compiling TrailerQL Field.swift
/host/spi-builder-workspace/Sources/TrailerQL/Field.swift:5:23: warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'Field' may have shared mutable state; this is an error in the Swift 6 language mode
 2 | import Lista
 3 |
 4 | public struct Field: Element {
   |               `- note: consider making struct 'Field' conform to the 'Sendable' protocol
 5 |     public static let id = Field("id")
   |                       |- warning: static property 'id' is not concurrency-safe because non-'Sendable' type 'Field' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'id' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public let id = UUID()
/host/spi-builder-workspace/Sources/TrailerQL/TrailerQL.swift:7:23: warning: static property 'emptyList' is not concurrency-safe because non-'Sendable' type 'Lista<Fragment>' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |
 6 | public enum TQL {
 7 |     public static let emptyList = Lista<Fragment>()
   |                       `- warning: static property 'emptyList' is not concurrency-safe because non-'Sendable' type 'Lista<Fragment>' may have shared mutable state; this is an error in the Swift 6 language mode
 8 |
 9 |     public static var debugLog: ((String) -> Void)?
/host/spi-builder-workspace/.build/checkouts/lista/Sources/Lista/Lista.swift:4:20: note: generic class 'Lista' does not conform to the 'Sendable' protocol
  2 |
  3 | // An instance of a list
  4 | public final class Lista<Value> {
    |                    `- note: generic class 'Lista' does not conform to the 'Sendable' protocol
  5 |     fileprivate final class Node<T> {
  6 |         fileprivate let value: T
/host/spi-builder-workspace/Sources/TrailerQL/TrailerQL.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Lista'
 1 | import Foundation
 2 | import Lista
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Lista'
 3 |
 4 | typealias JSON = [String: Any]
 5 |
 6 | public enum TQL {
 7 |     public static let emptyList = Lista<Fragment>()
   |                       |- note: annotate 'emptyList' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     public static var debugLog: ((String) -> Void)?
[17/17] Compiling TrailerQL Group.swift
/host/spi-builder-workspace/Sources/TrailerQL/Group.swift:144:41: warning: sending 'o.node' risks causing data races; this is an error in the Swift 6 language mode
142 |
143 |         if let o = Node(jsonPayload: node, parent: parent, relationship: relationship) {
144 |             try await query.perNodeBlock?(.node(o))
    |                                         |- warning: sending 'o.node' risks causing data races; this is an error in the Swift 6 language mode
    |                                         `- note: sending task-isolated 'o.node' to global actor 'Query.NodeActor'-isolated callee risks causing data races between global actor 'Query.NodeActor'-isolated and task-isolated uses
145 |             resolvedParent = o
146 |
Build complete! (10.17s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "lista",
      "requirement" : {
        "branch" : [
          "main"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/ptsochantaris/lista"
    }
  ],
  "manifest_display_name" : "TrailerQL",
  "name" : "TrailerQL",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    }
  ],
  "products" : [
    {
      "name" : "TrailerQL",
      "targets" : [
        "TrailerQL"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "TrailerQLTests",
      "module_type" : "SwiftTarget",
      "name" : "TrailerQLTests",
      "path" : "Tests/TrailerQLTests",
      "sources" : [
        "TestSupport.swift",
        "TrailerQLTests.swift"
      ],
      "target_dependencies" : [
        "TrailerQL"
      ],
      "type" : "test"
    },
    {
      "c99name" : "TrailerQL",
      "module_type" : "SwiftTarget",
      "name" : "TrailerQL",
      "path" : "Sources/TrailerQL",
      "product_dependencies" : [
        "Lista"
      ],
      "product_memberships" : [
        "TrailerQL"
      ],
      "sources" : [
        "BatchGroup.swift",
        "Element.swift",
        "ElementsBuilder.swift",
        "Field.swift",
        "Fragment.swift",
        "Group.swift",
        "Node.swift",
        "Query.swift",
        "Scanning.swift",
        "TrailerQL.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:b1f5b321a5d74ef5eaf6f5f3afbfebaaa54c7954de6f859009c18a90e0e1c3b4
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.