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 universal, reference 5.2.6 (ebfc47), with Swift 6.0 for Linux on 6 Nov 2024 07:00:35 UTC.

Swift 6 data race errors: 6

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/marcprux/universal.git
Reference: 5.2.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/marcprux/universal
 * tag               5.2.6      -> FETCH_HEAD
HEAD is now at ebfc47a
Cloned https://github.com/marcprux/universal.git
Revision (git rev-parse @):
ebfc47ac6fe70f0f10f166ae1f85c7d93b4e0349
SUCCESS checkout https://github.com/marcprux/universal.git at 5.2.6
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/marcprux/universal.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/7] Write sources
[6/7] Write swift-version-24593BA9C3E375BF.txt
[8/9] Emitting module Either
/host/spi-builder-workspace/Sources/Either/Either.swift:319:19: warning: conformance of 'Never' to protocol 'Decodable' was already stated in the type's module 'Swift'
317 |
318 | /// Useful extension for when a `OneOfX<A, B, …, Never>` wants to be treated as `Codable`
319 | extension Never : Decodable {
    |                   `- warning: conformance of 'Never' to protocol 'Decodable' was already stated in the type's module 'Swift'
320 |     /// Throws an error, since it should never be decodable
321 |     public init(from decoder: Decoder) throws {
    |            `- note: initializer 'init(from:)' will not be used to satisfy the conformance to 'Decodable'
322 |         throw NeverCodableError.decodableNever
323 |     }
Swift.Never:2:11: note: 'Never' declares conformance to protocol 'Decodable' here
1 | @available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *)
2 | extension Never : Decodable {
  |           `- note: 'Never' declares conformance to protocol 'Decodable' here
3 |     @available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *)
4 |     public init(from decoder: any Decoder) throws
/host/spi-builder-workspace/Sources/Either/Either.swift:327:19: warning: conformance of 'Never' to protocol 'Encodable' was already stated in the type's module 'Swift'
325 |
326 | /// Useful extension for when a `OneOfX<A, B, …, Never>` wants to be treated as `Codable`
327 | extension Never : Encodable {
    |                   `- warning: conformance of 'Never' to protocol 'Encodable' was already stated in the type's module 'Swift'
328 |     /// Throws an error, since it should never be encodable
329 |     public func encode(to encoder: Encoder) throws {
    |                 `- note: instance method 'encode(to:)' will not be used to satisfy the conformance to 'Encodable'
330 |         throw NeverCodableError.encodableNever
331 |     }
Swift.Never:2:11: note: 'Never' declares conformance to protocol 'Encodable' here
1 | @available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *)
2 | extension Never : Encodable {
  |           `- note: 'Never' declares conformance to protocol 'Encodable' here
3 |     @available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *)
4 |     public func encode(to encoder: any Encoder) throws
[9/9] Compiling Either Either.swift
/host/spi-builder-workspace/Sources/Either/Either.swift:319:19: warning: conformance of 'Never' to protocol 'Decodable' was already stated in the type's module 'Swift'
317 |
318 | /// Useful extension for when a `OneOfX<A, B, …, Never>` wants to be treated as `Codable`
319 | extension Never : Decodable {
    |                   `- warning: conformance of 'Never' to protocol 'Decodable' was already stated in the type's module 'Swift'
320 |     /// Throws an error, since it should never be decodable
321 |     public init(from decoder: Decoder) throws {
    |            `- note: initializer 'init(from:)' will not be used to satisfy the conformance to 'Decodable'
322 |         throw NeverCodableError.decodableNever
323 |     }
Swift.Never:2:11: note: 'Never' declares conformance to protocol 'Decodable' here
1 | @available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *)
2 | extension Never : Decodable {
  |           `- note: 'Never' declares conformance to protocol 'Decodable' here
3 |     @available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *)
4 |     public init(from decoder: any Decoder) throws
/host/spi-builder-workspace/Sources/Either/Either.swift:327:19: warning: conformance of 'Never' to protocol 'Encodable' was already stated in the type's module 'Swift'
325 |
326 | /// Useful extension for when a `OneOfX<A, B, …, Never>` wants to be treated as `Codable`
327 | extension Never : Encodable {
    |                   `- warning: conformance of 'Never' to protocol 'Encodable' was already stated in the type's module 'Swift'
328 |     /// Throws an error, since it should never be encodable
329 |     public func encode(to encoder: Encoder) throws {
    |                 `- note: instance method 'encode(to:)' will not be used to satisfy the conformance to 'Encodable'
330 |         throw NeverCodableError.encodableNever
331 |     }
Swift.Never:2:11: note: 'Never' declares conformance to protocol 'Encodable' here
1 | @available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *)
2 | extension Never : Encodable {
  |           `- note: 'Never' declares conformance to protocol 'Encodable' here
3 |     @available(macOS 14.0, iOS 17.0, watchOS 10.0, tvOS 17.0, *)
4 |     public func encode(to encoder: any Encoder) throws
[11/21] Emitting module YAML
/host/spi-builder-workspace/Sources/YAML/YAML.swift:137:1: warning: extension declares a conformance of imported type 'Or' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
 135 | }
 136 |
 137 | extension YAML.Scalar: CustomStringConvertible {
     | |- warning: extension declares a conformance of imported type 'Or' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
 138 |     public var description: String {
 139 |         func desc(_ value: String) -> String { ".string(\"\(value)\")" }
/host/spi-builder-workspace/Sources/YAML/YAML.swift:213:1: warning: extension declares a conformance of imported type 'Or' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
 211 | }
 212 |
 213 | extension YAML.Scalar : ExpressibleByStringLiteral, ExpressibleByExtendedGraphemeClusterLiteral, ExpressibleByUnicodeScalarLiteral {
     | |- warning: extension declares a conformance of imported type 'Or' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
 214 |     public init(stringLiteral value: StringLiteralType) {
 215 |         self = YAML.Scalar(.init(value))
/host/spi-builder-workspace/Sources/YAML/YAML.swift:233:1: warning: extension declares a conformance of imported type 'Or' to imported protocol 'ExpressibleByNilLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
 231 | }
 232 |
 233 | extension YAML.Scalar : ExpressibleByNilLiteral {
     | |- warning: extension declares a conformance of imported type 'Or' to imported protocol 'ExpressibleByNilLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
 234 |     public init(nilLiteral: ()) {
 235 |         self = YAML.Scalar.null
/host/spi-builder-workspace/Sources/YAML/YAML.swift:384:13: warning: var 'error' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 382 | private typealias Context = YAMLParser.Context
 383 |
 384 | private var error = YAMLParser.Context.error
     |             |- warning: var 'error' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: convert 'error' to a 'let' constant to make 'Sendable' shared state immutable
     |             |- note: annotate 'error' 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
 385 |
 386 | private typealias ContextValue = (context: Context, value: YAML)
[12/21] Compiling JSON JSONX.swift
[13/21] Emitting module JSON
/host/spi-builder-workspace/Sources/JSON/JSONCoding.swift:1702:14: warning: var '_iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
1700 |
1701 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
1702 | internal var _iso8601Formatter: ISO8601DateFormatter = {
     |              |- warning: var '_iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |              |- note: convert '_iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
     |              |- note: annotate '_iso8601Formatter' 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
1703 |     let formatter = ISO8601DateFormatter()
1704 |     formatter.formatOptions = .withInternetDateTime
[14/21] Emitting module PLIST
[15/21] Compiling PLIST PLIST.swift
[16/21] Emitting module XML
/host/spi-builder-workspace/Sources/XML/XML.swift:285:27: warning: static property 'resolveExternalEntities' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 |     /// Options for configuring the `XMLParser`
282 |     public struct Options: OptionSet, Hashable {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 |         public let rawValue: Int
284 |
285 |         public static let resolveExternalEntities = Self(rawValue: 1 << 0)
    |                           |- warning: static property 'resolveExternalEntities' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'resolveExternalEntities' 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
286 |         public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 |         public static let processNamespaces = Self(rawValue: 1 << 2)
/host/spi-builder-workspace/Sources/XML/XML.swift:286:27: warning: static property 'reportNamespacePrefixes' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 |     /// Options for configuring the `XMLParser`
282 |     public struct Options: OptionSet, Hashable {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 |         public let rawValue: Int
284 |
285 |         public static let resolveExternalEntities = Self(rawValue: 1 << 0)
286 |         public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
    |                           |- warning: static property 'reportNamespacePrefixes' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'reportNamespacePrefixes' 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
287 |         public static let processNamespaces = Self(rawValue: 1 << 2)
288 |         public static let tidyHTML = Self(rawValue: 1 << 3)
/host/spi-builder-workspace/Sources/XML/XML.swift:287:27: warning: static property 'processNamespaces' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 |     /// Options for configuring the `XMLParser`
282 |     public struct Options: OptionSet, Hashable {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 |         public let rawValue: Int
284 |
285 |         public static let resolveExternalEntities = Self(rawValue: 1 << 0)
286 |         public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 |         public static let processNamespaces = Self(rawValue: 1 << 2)
    |                           |- warning: static property 'processNamespaces' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'processNamespaces' 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
288 |         public static let tidyHTML = Self(rawValue: 1 << 3)
289 |
/host/spi-builder-workspace/Sources/XML/XML.swift:288:27: warning: static property 'tidyHTML' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 |     /// Options for configuring the `XMLParser`
282 |     public struct Options: OptionSet, Hashable {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 |         public let rawValue: Int
284 |
    :
286 |         public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 |         public static let processNamespaces = Self(rawValue: 1 << 2)
288 |         public static let tidyHTML = Self(rawValue: 1 << 3)
    |                           |- warning: static property 'tidyHTML' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'tidyHTML' 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
289 |
290 |         public init(rawValue: Int) {
[17/21] Compiling XML XML.swift
/host/spi-builder-workspace/Sources/XML/XML.swift:285:27: warning: static property 'resolveExternalEntities' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 |     /// Options for configuring the `XMLParser`
282 |     public struct Options: OptionSet, Hashable {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 |         public let rawValue: Int
284 |
285 |         public static let resolveExternalEntities = Self(rawValue: 1 << 0)
    |                           |- warning: static property 'resolveExternalEntities' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'resolveExternalEntities' 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
286 |         public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 |         public static let processNamespaces = Self(rawValue: 1 << 2)
/host/spi-builder-workspace/Sources/XML/XML.swift:286:27: warning: static property 'reportNamespacePrefixes' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 |     /// Options for configuring the `XMLParser`
282 |     public struct Options: OptionSet, Hashable {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 |         public let rawValue: Int
284 |
285 |         public static let resolveExternalEntities = Self(rawValue: 1 << 0)
286 |         public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
    |                           |- warning: static property 'reportNamespacePrefixes' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'reportNamespacePrefixes' 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
287 |         public static let processNamespaces = Self(rawValue: 1 << 2)
288 |         public static let tidyHTML = Self(rawValue: 1 << 3)
/host/spi-builder-workspace/Sources/XML/XML.swift:287:27: warning: static property 'processNamespaces' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 |     /// Options for configuring the `XMLParser`
282 |     public struct Options: OptionSet, Hashable {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 |         public let rawValue: Int
284 |
285 |         public static let resolveExternalEntities = Self(rawValue: 1 << 0)
286 |         public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 |         public static let processNamespaces = Self(rawValue: 1 << 2)
    |                           |- warning: static property 'processNamespaces' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'processNamespaces' 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
288 |         public static let tidyHTML = Self(rawValue: 1 << 3)
289 |
/host/spi-builder-workspace/Sources/XML/XML.swift:288:27: warning: static property 'tidyHTML' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
280 |
281 |     /// Options for configuring the `XMLParser`
282 |     public struct Options: OptionSet, Hashable {
    |                   `- note: consider making struct 'Options' conform to the 'Sendable' protocol
283 |         public let rawValue: Int
284 |
    :
286 |         public static let reportNamespacePrefixes = Self(rawValue: 1 << 1)
287 |         public static let processNamespaces = Self(rawValue: 1 << 2)
288 |         public static let tidyHTML = Self(rawValue: 1 << 3)
    |                           |- warning: static property 'tidyHTML' is not concurrency-safe because non-'Sendable' type 'XMLNode.Options' may have shared mutable state; this is an error in the Swift 6 language mode
    |                           |- note: annotate 'tidyHTML' 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
289 |
290 |         public init(rawValue: Int) {
[18/23] Compiling JSON JSONParser.swift
[21/23] Compiling YAML YAML.swift
/host/spi-builder-workspace/Sources/YAML/YAML.swift:137:1: warning: extension declares a conformance of imported type 'Or' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
 135 | }
 136 |
 137 | extension YAML.Scalar: CustomStringConvertible {
     | |- warning: extension declares a conformance of imported type 'Or' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
 138 |     public var description: String {
 139 |         func desc(_ value: String) -> String { ".string(\"\(value)\")" }
/host/spi-builder-workspace/Sources/YAML/YAML.swift:213:1: warning: extension declares a conformance of imported type 'Or' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
 211 | }
 212 |
 213 | extension YAML.Scalar : ExpressibleByStringLiteral, ExpressibleByExtendedGraphemeClusterLiteral, ExpressibleByUnicodeScalarLiteral {
     | |- warning: extension declares a conformance of imported type 'Or' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
 214 |     public init(stringLiteral value: StringLiteralType) {
 215 |         self = YAML.Scalar(.init(value))
/host/spi-builder-workspace/Sources/YAML/YAML.swift:233:1: warning: extension declares a conformance of imported type 'Or' to imported protocol 'ExpressibleByNilLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
 231 | }
 232 |
 233 | extension YAML.Scalar : ExpressibleByNilLiteral {
     | |- warning: extension declares a conformance of imported type 'Or' to imported protocol 'ExpressibleByNilLiteral'; this will not behave correctly if the owners of 'Either' introduce this conformance in the future
     | `- note: add '@retroactive' to silence this warning
 234 |     public init(nilLiteral: ()) {
 235 |         self = YAML.Scalar.null
/host/spi-builder-workspace/Sources/YAML/YAML.swift:384:13: warning: var 'error' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 382 | private typealias Context = YAMLParser.Context
 383 |
 384 | private var error = YAMLParser.Context.error
     |             |- warning: var 'error' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |             |- note: convert 'error' to a 'let' constant to make 'Sendable' shared state immutable
     |             |- note: annotate 'error' 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
 385 |
 386 | private typealias ContextValue = (context: Context, value: YAML)
[22/24] Compiling JSON JSONCoding.swift
/host/spi-builder-workspace/Sources/JSON/JSONCoding.swift:1702:14: warning: var '_iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
1700 |
1701 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
1702 | internal var _iso8601Formatter: ISO8601DateFormatter = {
     |              |- warning: var '_iso8601Formatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |              |- note: convert '_iso8601Formatter' to a 'let' constant to make 'Sendable' shared state immutable
     |              |- note: annotate '_iso8601Formatter' 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
1703 |     let formatter = ISO8601DateFormatter()
1704 |     formatter.formatOptions = .withInternetDateTime
[23/24] Compiling JSON JSON.swift
[26/27] Emitting module Universal
[27/27] Compiling Universal Universal.swift
Build complete! (31.46s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "universal",
  "name" : "universal",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Either",
      "targets" : [
        "Either"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "XML",
      "targets" : [
        "XML"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "YAML",
      "targets" : [
        "YAML"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "JSON",
      "targets" : [
        "JSON"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "PLIST",
      "targets" : [
        "PLIST"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Universal",
      "targets" : [
        "Universal"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "YAMLTests",
      "module_type" : "SwiftTarget",
      "name" : "YAMLTests",
      "path" : "Tests/YAMLTests",
      "sources" : [
        "YAMLTests.swift"
      ],
      "target_dependencies" : [
        "YAML"
      ],
      "type" : "test"
    },
    {
      "c99name" : "YAML",
      "module_type" : "SwiftTarget",
      "name" : "YAML",
      "path" : "Sources/YAML",
      "product_memberships" : [
        "YAML",
        "Universal"
      ],
      "sources" : [
        "YAML.swift"
      ],
      "target_dependencies" : [
        "Either"
      ],
      "type" : "library"
    },
    {
      "c99name" : "XMLTests",
      "module_type" : "SwiftTarget",
      "name" : "XMLTests",
      "path" : "Tests/XMLTests",
      "sources" : [
        "XMLTests.swift"
      ],
      "target_dependencies" : [
        "XML"
      ],
      "type" : "test"
    },
    {
      "c99name" : "XML",
      "module_type" : "SwiftTarget",
      "name" : "XML",
      "path" : "Sources/XML",
      "product_memberships" : [
        "XML",
        "Universal"
      ],
      "sources" : [
        "XML.swift"
      ],
      "target_dependencies" : [
        "Either"
      ],
      "type" : "library"
    },
    {
      "c99name" : "UniversalTests",
      "module_type" : "SwiftTarget",
      "name" : "UniversalTests",
      "path" : "Tests/UniversalTests",
      "sources" : [
        "UniversalTests.swift"
      ],
      "target_dependencies" : [
        "Universal"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Universal",
      "module_type" : "SwiftTarget",
      "name" : "Universal",
      "path" : "Sources/Universal",
      "product_memberships" : [
        "Universal"
      ],
      "sources" : [
        "Universal.swift"
      ],
      "target_dependencies" : [
        "XML",
        "YAML",
        "JSON",
        "PLIST"
      ],
      "type" : "library"
    },
    {
      "c99name" : "PLISTTests",
      "module_type" : "SwiftTarget",
      "name" : "PLISTTests",
      "path" : "Tests/PLISTTests",
      "sources" : [
        "PLISTTests.swift"
      ],
      "target_dependencies" : [
        "PLIST"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PLIST",
      "module_type" : "SwiftTarget",
      "name" : "PLIST",
      "path" : "Sources/PLIST",
      "product_memberships" : [
        "PLIST",
        "Universal"
      ],
      "sources" : [
        "PLIST.swift"
      ],
      "target_dependencies" : [
        "Either"
      ],
      "type" : "library"
    },
    {
      "c99name" : "JSONTests",
      "module_type" : "SwiftTarget",
      "name" : "JSONTests",
      "path" : "Tests/JSONTests",
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/JSONTests/testdata",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "JSONParserTests.swift",
        "JSONTests.swift"
      ],
      "target_dependencies" : [
        "JSON"
      ],
      "type" : "test"
    },
    {
      "c99name" : "JSON",
      "module_type" : "SwiftTarget",
      "name" : "JSON",
      "path" : "Sources/JSON",
      "product_memberships" : [
        "JSON",
        "Universal"
      ],
      "sources" : [
        "JSON.swift",
        "JSONCoding.swift",
        "JSONParser.swift",
        "JSONX.swift"
      ],
      "target_dependencies" : [
        "Either"
      ],
      "type" : "library"
    },
    {
      "c99name" : "EitherTests",
      "module_type" : "SwiftTarget",
      "name" : "EitherTests",
      "path" : "Tests/EitherTests",
      "sources" : [
        "EitherTests.swift"
      ],
      "target_dependencies" : [
        "Either"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Either",
      "module_type" : "SwiftTarget",
      "name" : "Either",
      "path" : "Sources/Either",
      "product_memberships" : [
        "Either",
        "XML",
        "YAML",
        "JSON",
        "PLIST",
        "Universal"
      ],
      "sources" : [
        "Either.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.4"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.