This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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 JSON with Swift 6.0 for Linux.

Swift 6 data race errors: 3

Build Command

bash -c docker run --rm -v "checkouts-4606859-0":/host -w "$workDir" 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.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/vapor-community/json.git
Reference: master
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/vapor-community/json
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 35ec8cf Merge pull request #68 from vapor/cci2
Cloned https://github.com/vapor-community/json.git
Revision (git rev-parse @):
35ec8cffd27f303bbe93ec01c365084fa11e264c
SUCCESS checkout https://github.com/vapor-community/json.git at master
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $workDir
https://github.com/vapor-community/json.git
Running build ...
bash -c docker run --rm -v "checkouts-4606859-0":/host -w "$workDir" 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
Fetching https://github.com/vapor/core.git
Fetching https://github.com/vapor/node.git
[1/4211] Fetching node
[1686/24354] Fetching node, core
Fetched https://github.com/vapor/node.git from cache (0.27s)
[7856/20143] Fetching core
Fetched https://github.com/vapor/core.git from cache (0.66s)
Computing version for https://github.com/vapor/core.git
Computed https://github.com/vapor/core.git at 2.2.1 (0.43s)
Fetching https://github.com/vapor/debugging.git
Fetching https://github.com/vapor/bits.git
[1/358] Fetching bits
[359/618] Fetching bits, debugging
Fetched https://github.com/vapor/bits.git from cache (0.20s)
Fetched https://github.com/vapor/debugging.git from cache (0.21s)
Computing version for https://github.com/vapor/debugging.git
Computed https://github.com/vapor/debugging.git at 1.1.1 (0.43s)
Computing version for https://github.com/vapor/bits.git
Computed https://github.com/vapor/bits.git at 1.1.1 (0.43s)
Computing version for https://github.com/vapor/node.git
Computed https://github.com/vapor/node.git at 2.1.5 (0.44s)
Creating working copy for https://github.com/vapor/node.git
Working copy of https://github.com/vapor/node.git resolved at 2.1.5
Creating working copy for https://github.com/vapor/bits.git
Working copy of https://github.com/vapor/bits.git resolved at 1.1.1
Creating working copy for https://github.com/vapor/debugging.git
Working copy of https://github.com/vapor/debugging.git resolved at 1.1.1
Creating working copy for https://github.com/vapor/core.git
Working copy of https://github.com/vapor/core.git resolved at 2.2.1
Building for debugging...
[0/8] Write sources
[7/8] Write swift-version-24593BA9C3E375BF.txt
[9/33] Compiling PathIndexable PathIndexable.swift
[10/33] Emitting module PathIndexable
[11/33] Compiling PathIndexable PathIndexable+Subscripting.swift
[12/33] Compiling Bits Operators.swift
[13/33] Compiling Bits String+BytesConvertible.swift
[14/36] Emitting module Bits
[15/36] Compiling Bits Aliases.swift
[16/36] Compiling Bits Base64Encoder.swift
[17/36] Compiling Bits Byte+Alphabet.swift
[19/36] Emitting module Debugging
[20/36] Compiling Debugging Debuggable.swift
[22/37] Compiling Bits UnsignedInteger+BytesConvertible.swift
[23/37] Compiling Bits UnsignedInteger+Shifting.swift
[24/37] Emitting module libc
[25/37] Compiling libc libc.swift
[27/38] Compiling Bits Byte+ControlCharacters.swift
[28/38] Compiling Bits Byte+Convenience.swift
[29/38] Compiling Bits Byte+PatternMatching.swift
[30/38] Compiling Bits Data+BytesConvertible.swift
[31/38] Compiling Bits HexEncoder.swift
[32/38] Compiling Bits Byte+Random.swift
[33/38] Compiling Bits Byte+UTF8Numbers.swift
[34/38] Compiling Bits ByteSequence+Conversions.swift
[35/38] Compiling Bits Bytes+Percent.swift
[36/38] Compiling Bits BytesConvertible.swift
[37/38] Compiling Bits Bytes+Base64.swift
[38/38] Compiling Bits Bytes+Hex.swift
[40/61] Compiling Core DispatchTime+Utilities.swift
[41/61] Compiling Core EmptyInitializable.swift
[42/61] Compiling Core Exports.swift
[43/63] Emitting module Core
[44/63] Compiling Core Collection+Safe.swift
[45/63] Compiling Core DataFile.swift
[46/63] Compiling Core Dispatch.swift
[47/63] Compiling Core Lock.swift
[48/63] Compiling Core Portal.swift
[49/63] Compiling Core RFC1123.swift
[50/63] Compiling Core Array.swift
[51/63] Compiling Core Bits.swift
[52/63] Compiling Core Cache.swift
[53/63] Compiling Core Result.swift
[54/63] Compiling Core Semaphore.swift
[55/63] Compiling Core Sequence.swift
[56/63] Compiling Core String.swift
[57/63] Compiling Core WorkingDirectory.swift
[58/63] Compiling Core Extendable.swift
[59/63] Compiling Core FileProtocol.swift
[60/63] Compiling Core Int+Hex.swift
[61/63] Compiling Core StaticDataBuffer.swift
[62/63] Compiling Core String+CaseInsensitiveCompare.swift
[63/63] Compiling Core String+Polymorphic.swift
[65/99] Compiling Node Getters.swift
[66/99] Compiling Node Setters.swift
[67/99] Compiling Node Bool+Convertible.swift
[68/99] Compiling Node Date+Convertible.swift
[69/99] Compiling Node FloatingPoint+Convertible.swift
[70/103] Compiling Node NodeRepresentable.swift
[71/103] Compiling Node Array+Convertible.swift
[72/103] Compiling Node Dictionary+Convertible.swift
[73/103] Compiling Node Fuzzy+Any.swift
[74/103] Compiling Node FuzzyConverter.swift
[75/103] Emitting module Node
[76/103] Compiling Node StructuredData+PathIndexable.swift
[77/103] Compiling Node StructuredData+Polymorphic.swift
[78/103] Compiling Node StructuredData.swift
[79/103] Compiling Node StructuredDataWrapper+Cases.swift
[80/103] Compiling Node StructuredDataWrapper+Convenience.swift
[81/103] Compiling Node UnsignedInteger+Convertible.swift
[82/103] Compiling Node Context.swift
[83/103] Compiling Node Node.swift
[84/103] Compiling Node NodeConvertible.swift
[85/103] Compiling Node NodeInitializable.swift
[86/103] Compiling Node StructuredDataWrapper+Equatable.swift
[87/103] Compiling Node StructuredDataWrapper+Literals.swift
[88/103] Compiling Node StructuredDataWrapper+PathIndexable.swift
[89/103] Compiling Node StructuredDataWrapper+Polymorphic.swift
[90/103] Compiling Node Integer+Convertible.swift
[91/103] Compiling Node Schema+Convertible.swift
[92/103] Compiling Node SchemaWrapper+Convertible.swift
[93/103] Compiling Node String+Convertible.swift
[94/103] Compiling Node UUID+Convertible.swift
[95/103] Compiling Node Optional+Convertible.swift
[96/103] Compiling Node Set+Convertible.swift
[97/103] Compiling Node Number.swift
[98/103] Compiling Node StructuredData+Equatable.swift
[99/103] Compiling Node StructuredData+Init.swift
[100/103] Compiling Node StructuredDataWrapper.swift
[101/103] Compiling Node Errors.swift
[102/103] Compiling Node Exports.swift
[103/103] Compiling Node Identifier.swift
[105/112] Compiling JSON JSON+Bytes.swift
[106/113] Compiling JSON JSONContext.swift
/host/spi-builder-workspace/Sources/JSON/JSONContext.swift:2:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'JSONContext' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public final class JSONContext: Context {
   |                    `- note: class 'JSONContext' does not conform to the 'Sendable' protocol
 2 |     internal static let shared = JSONContext()
   |                         |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'JSONContext' may have shared mutable state; this is an error in the Swift 6 language mode
   |                         |- note: annotate 'shared' 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
 3 |     fileprivate init() {}
 4 | }
/host/spi-builder-workspace/Sources/JSON/JSONContext.swift:6:12: warning: let 'jsonContext' is not concurrency-safe because non-'Sendable' type 'JSONContext' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public final class JSONContext: Context {
   |                    `- note: class 'JSONContext' does not conform to the 'Sendable' protocol
 2 |     internal static let shared = JSONContext()
 3 |     fileprivate init() {}
 4 | }
 5 |
 6 | public let jsonContext = JSONContext.shared
   |            |- warning: let 'jsonContext' is not concurrency-safe because non-'Sendable' type 'JSONContext' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: annotate 'jsonContext' 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
 7 |
 8 | extension Context {
[107/113] Compiling JSON JSONRepresentable.swift
[108/113] Emitting module JSON
/host/spi-builder-workspace/Sources/JSON/JSON.swift:11:23: warning: static property 'defaultContext' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | public struct JSON: StructuredDataWrapper {
11 |     public static var defaultContext: Context? = jsonContext
   |                       |- warning: static property 'defaultContext' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultContext' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'defaultContext' 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
12 |     public var wrapped: StructuredData
13 |     public let context: Context
/host/spi-builder-workspace/Sources/JSON/JSONContext.swift:6:12: warning: let 'jsonContext' is not concurrency-safe because non-'Sendable' type 'JSONContext' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public final class JSONContext: Context {
   |                    `- note: class 'JSONContext' does not conform to the 'Sendable' protocol
 2 |     internal static let shared = JSONContext()
 3 |     fileprivate init() {}
 4 | }
 5 |
 6 | public let jsonContext = JSONContext.shared
   |            |- warning: let 'jsonContext' is not concurrency-safe because non-'Sendable' type 'JSONContext' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: annotate 'jsonContext' 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
 7 |
 8 | extension Context {
/host/spi-builder-workspace/Sources/JSON/JSONContext.swift:2:25: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'JSONContext' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public final class JSONContext: Context {
   |                    `- note: class 'JSONContext' does not conform to the 'Sendable' protocol
 2 |     internal static let shared = JSONContext()
   |                         |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'JSONContext' may have shared mutable state; this is an error in the Swift 6 language mode
   |                         |- note: annotate 'shared' 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
 3 |     fileprivate init() {}
 4 | }
[109/113] Compiling JSON JSON.swift
/host/spi-builder-workspace/Sources/JSON/JSON.swift:11:23: warning: static property 'defaultContext' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | public struct JSON: StructuredDataWrapper {
11 |     public static var defaultContext: Context? = jsonContext
   |                       |- warning: static property 'defaultContext' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultContext' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'defaultContext' 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
12 |     public var wrapped: StructuredData
13 |     public let context: Context
/host/spi-builder-workspace/Sources/JSON/JSONContext.swift:6:12: warning: let 'jsonContext' is not concurrency-safe because non-'Sendable' type 'JSONContext' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | public final class JSONContext: Context {
   |                    `- note: class 'JSONContext' does not conform to the 'Sendable' protocol
 2 |     internal static let shared = JSONContext()
 3 |     fileprivate init() {}
 4 | }
 5 |
 6 | public let jsonContext = JSONContext.shared
   |            |- warning: let 'jsonContext' is not concurrency-safe because non-'Sendable' type 'JSONContext' may have shared mutable state; this is an error in the Swift 6 language mode
   |            |- note: annotate 'jsonContext' 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
 7 |
 8 | extension Context {
[110/113] Compiling JSON Sequence+Convertible.swift
/host/spi-builder-workspace/Sources/JSON/JSON.swift:11:23: warning: static property 'defaultContext' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | public struct JSON: StructuredDataWrapper {
11 |     public static var defaultContext: Context? = jsonContext
   |                       |- warning: static property 'defaultContext' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultContext' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'defaultContext' 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
12 |     public var wrapped: StructuredData
13 |     public let context: Context
[111/113] Compiling JSON JSON+Serialize.swift
[112/113] Compiling JSON JSON+Fuzzy.swift
[113/113] Compiling JSON JSON+Parse.swift
/host/spi-builder-workspace/Sources/JSON/JSON.swift:11:23: warning: static property 'defaultContext' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 9 |
10 | public struct JSON: StructuredDataWrapper {
11 |     public static var defaultContext: Context? = jsonContext
   |                       |- warning: static property 'defaultContext' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'defaultContext' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'defaultContext' 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
12 |     public var wrapped: StructuredData
13 |     public let context: Context
/host/spi-builder-workspace/.build/checkouts/node/Sources/Node/Convertibles/Date+Convertible.swift:53:23: warning: static property 'outgoingDateFormatter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 51 |         the user is responsible for handling their date formatting manually.
 52 |     */
 53 |     public static var outgoingDateFormatter: DateFormatter = .iso8601
    |                       |- warning: static property 'outgoingDateFormatter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'outgoingDateFormatter' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'outgoingDateFormatter' 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
 54 |
 55 |     /**
/host/spi-builder-workspace/Sources/JSON/JSON+Parse.swift:129:31: warning: reference to static property 'outgoingDateFormatter' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
127 |             return value
128 |         case .date(let date):
129 |             let string = Date.outgoingDateFormatter.string(from: date)
    |                               `- warning: reference to static property 'outgoingDateFormatter' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
130 |             return string
131 |         }
/host/spi-builder-workspace/.build/checkouts/node/Sources/Node/Convertibles/Date+Convertible.swift:53:23: note: static property declared here
 51 |         the user is responsible for handling their date formatting manually.
 52 |     */
 53 |     public static var outgoingDateFormatter: DateFormatter = .iso8601
    |                       `- note: static property declared here
 54 |
 55 |     /**
Build complete! (16.50s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "core",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/vapor/core.git"
    },
    {
      "identity" : "node",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.1.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/vapor/node.git"
    }
  ],
  "manifest_display_name" : "JSON",
  "name" : "JSON",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "JSON",
      "targets" : [
        "JSON"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "JSONTests",
      "module_type" : "SwiftTarget",
      "name" : "JSONTests",
      "path" : "Tests/JSONTests",
      "sources" : [
        "JSONConvertibleTests.swift",
        "JSONTests.swift"
      ],
      "target_dependencies" : [
        "JSON"
      ],
      "type" : "test"
    },
    {
      "c99name" : "JSON",
      "module_type" : "SwiftTarget",
      "name" : "JSON",
      "path" : "Sources/JSON",
      "product_dependencies" : [
        "Core",
        "Node"
      ],
      "product_memberships" : [
        "JSON"
      ],
      "sources" : [
        "JSON+Bytes.swift",
        "JSON+Fuzzy.swift",
        "JSON+Parse.swift",
        "JSON+Serialize.swift",
        "JSON.swift",
        "JSONContext.swift",
        "JSONRepresentable.swift",
        "Sequence+Convertible.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.