Build Information
Successful build of DictionaryEncoder, reference v1.0.0 (86d513
), with Swift 6.1 for macOS (SPM) on 24 Apr 2025 11:28:23 UTC.
Swift 6 data race errors: 3
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/adam-fowler/dictionary-encoder.git
Reference: v1.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/adam-fowler/dictionary-encoder
* tag v1.0.0 -> FETCH_HEAD
HEAD is now at 86d5139 Added more tests
Cloned https://github.com/adam-fowler/dictionary-encoder.git
Revision (git rev-parse @):
86d5139662b987d43fd968e84d082084997e8230
SUCCESS checkout https://github.com/adam-fowler/dictionary-encoder.git at v1.0.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "dictionary-encoder",
"name": "DictionaryEncoder",
"url": "https://github.com/adam-fowler/dictionary-encoder.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/dictionary-encoder",
"dependencies": [
]
}
]
}
Fetching https://github.com/adam-fowler/dictionary-encoder.git
[1/36] Fetching dictionary-encoder
Fetched https://github.com/adam-fowler/dictionary-encoder.git from cache (0.58s)
Creating working copy for https://github.com/adam-fowler/dictionary-encoder.git
Working copy of https://github.com/adam-fowler/dictionary-encoder.git resolved at v1.0.0 (86d5139)
warning: '.resolve-product-dependencies': dependency 'dictionary-encoder' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/adam-fowler/dictionary-encoder.git
https://github.com/adam-fowler/dictionary-encoder.git
{
"dependencies" : [
],
"manifest_display_name" : "DictionaryEncoder",
"name" : "DictionaryEncoder",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "DictionaryEncoder",
"targets" : [
"DictionaryEncoder"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "DictionaryEncoderTests",
"module_type" : "SwiftTarget",
"name" : "DictionaryEncoderTests",
"path" : "Tests/DictionaryEncoderTests",
"sources" : [
"DictionaryEncoderTests.swift"
],
"target_dependencies" : [
"DictionaryEncoder"
],
"type" : "test"
},
{
"c99name" : "DictionaryEncoder",
"module_type" : "SwiftTarget",
"name" : "DictionaryEncoder",
"path" : "Sources/DictionaryEncoder",
"product_memberships" : [
"DictionaryEncoder"
],
"sources" : [
"DictionaryEncoder.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/4] Emitting module DictionaryEncoder
/Users/admin/builder/spi-builder-workspace/Sources/DictionaryEncoder/DictionaryEncoder.swift:75:27: warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'DictionaryEncoder.OutputFormatting' may have shared mutable state; this is an error in the Swift 6 language mode
63 |
64 | /// The formatting of the output dictionary data.
65 | public struct OutputFormatting : OptionSet {
| `- note: consider making struct 'OutputFormatting' conform to the 'Sendable' protocol
66 | /// The format's default value.
67 | public let rawValue: UInt
:
73 |
74 | /// Produce human-readable text in dictionary with indented output.
75 | public static let prettyPrinted = OutputFormatting(rawValue: 1 << 0)
| |- warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'DictionaryEncoder.OutputFormatting' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'prettyPrinted' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 |
77 | /// Produce JSON with dictionary keys sorted in lexicographic order.
/Users/admin/builder/spi-builder-workspace/Sources/DictionaryEncoder/DictionaryEncoder.swift:79:27: warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'DictionaryEncoder.OutputFormatting' may have shared mutable state; this is an error in the Swift 6 language mode
63 |
64 | /// The formatting of the output dictionary data.
65 | public struct OutputFormatting : OptionSet {
| `- note: consider making struct 'OutputFormatting' conform to the 'Sendable' protocol
66 | /// The format's default value.
67 | public let rawValue: UInt
:
77 | /// Produce JSON with dictionary keys sorted in lexicographic order.
78 | @available(macOS 10.13, iOS 11.0, watchOS 4.0, tvOS 11.0, *)
79 | public static let sortedKeys = OutputFormatting(rawValue: 1 << 1)
| |- warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'DictionaryEncoder.OutputFormatting' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sortedKeys' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
80 | }
81 |
/Users/admin/builder/spi-builder-workspace/Sources/DictionaryEncoder/DictionaryEncoder.swift:2545:17: 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
2543 | // NOTE: This value is implicitly lazy and _must_ be lazy. We're compiled against the latest SDK (w/ ISO8601DateFormatter), but linked against whichever Foundation the user has. ISO8601DateFormatter might not exist, so we better not hit this code path on an older OS.
2544 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
2545 | fileprivate 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: add '@MainActor' to make var '_iso8601Formatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2546 | let formatter = ISO8601DateFormatter()
2547 | formatter.formatOptions = .withInternetDateTime
[4/4] Compiling DictionaryEncoder DictionaryEncoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/DictionaryEncoder/DictionaryEncoder.swift:75:27: warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'DictionaryEncoder.OutputFormatting' may have shared mutable state; this is an error in the Swift 6 language mode
63 |
64 | /// The formatting of the output dictionary data.
65 | public struct OutputFormatting : OptionSet {
| `- note: consider making struct 'OutputFormatting' conform to the 'Sendable' protocol
66 | /// The format's default value.
67 | public let rawValue: UInt
:
73 |
74 | /// Produce human-readable text in dictionary with indented output.
75 | public static let prettyPrinted = OutputFormatting(rawValue: 1 << 0)
| |- warning: static property 'prettyPrinted' is not concurrency-safe because non-'Sendable' type 'DictionaryEncoder.OutputFormatting' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'prettyPrinted' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 |
77 | /// Produce JSON with dictionary keys sorted in lexicographic order.
/Users/admin/builder/spi-builder-workspace/Sources/DictionaryEncoder/DictionaryEncoder.swift:79:27: warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'DictionaryEncoder.OutputFormatting' may have shared mutable state; this is an error in the Swift 6 language mode
63 |
64 | /// The formatting of the output dictionary data.
65 | public struct OutputFormatting : OptionSet {
| `- note: consider making struct 'OutputFormatting' conform to the 'Sendable' protocol
66 | /// The format's default value.
67 | public let rawValue: UInt
:
77 | /// Produce JSON with dictionary keys sorted in lexicographic order.
78 | @available(macOS 10.13, iOS 11.0, watchOS 4.0, tvOS 11.0, *)
79 | public static let sortedKeys = OutputFormatting(rawValue: 1 << 1)
| |- warning: static property 'sortedKeys' is not concurrency-safe because non-'Sendable' type 'DictionaryEncoder.OutputFormatting' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sortedKeys' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
80 | }
81 |
/Users/admin/builder/spi-builder-workspace/Sources/DictionaryEncoder/DictionaryEncoder.swift:2545:17: 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
2543 | // NOTE: This value is implicitly lazy and _must_ be lazy. We're compiled against the latest SDK (w/ ISO8601DateFormatter), but linked against whichever Foundation the user has. ISO8601DateFormatter might not exist, so we better not hit this code path on an older OS.
2544 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
2545 | fileprivate 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: add '@MainActor' to make var '_iso8601Formatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2546 | let formatter = ISO8601DateFormatter()
2547 | formatter.formatOptions = .withInternetDateTime
Build complete! (4.71s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "DictionaryEncoder",
"name" : "DictionaryEncoder",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "DictionaryEncoder",
"targets" : [
"DictionaryEncoder"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "DictionaryEncoderTests",
"module_type" : "SwiftTarget",
"name" : "DictionaryEncoderTests",
"path" : "Tests/DictionaryEncoderTests",
"sources" : [
"DictionaryEncoderTests.swift"
],
"target_dependencies" : [
"DictionaryEncoder"
],
"type" : "test"
},
{
"c99name" : "DictionaryEncoder",
"module_type" : "SwiftTarget",
"name" : "DictionaryEncoder",
"path" : "Sources/DictionaryEncoder",
"product_memberships" : [
"DictionaryEncoder"
],
"sources" : [
"DictionaryEncoder.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.