Build Information
Successful build of swift-analytics, reference main (b595fd
), with Swift 6.1 for macOS (SPM) on 1 Jun 2025 02:46:18 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.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/dankinsoid/swift-analytics.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/dankinsoid/swift-analytics
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at b595fdb docs: Update documentation to reflect parameter type change to Encodable
Cloned https://github.com/dankinsoid/swift-analytics.git
Revision (git rev-parse @):
b595fdbe390a3d3505919f87b3c276012a7fc7f5
SUCCESS checkout https://github.com/dankinsoid/swift-analytics.git at main
========================================
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": "swift-analytics",
"name": "swift-analytics",
"url": "https://github.com/dankinsoid/swift-analytics.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-analytics",
"dependencies": [
]
}
]
}
Fetching https://github.com/dankinsoid/swift-analytics.git
[1/249] Fetching swift-analytics
Fetched https://github.com/dankinsoid/swift-analytics.git from cache (0.75s)
Creating working copy for https://github.com/dankinsoid/swift-analytics.git
Working copy of https://github.com/dankinsoid/swift-analytics.git resolved at main (b595fdb)
warning: '.resolve-product-dependencies': dependency 'swift-analytics' 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/dankinsoid/swift-analytics.git
https://github.com/dankinsoid/swift-analytics.git
{
"dependencies" : [
],
"manifest_display_name" : "swift-analytics",
"name" : "swift-analytics",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "SwiftAnalytics",
"targets" : [
"SwiftAnalytics"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftAnalyticsTests",
"module_type" : "SwiftTarget",
"name" : "SwiftAnalyticsTests",
"path" : "Tests/SwiftAnalyticsTests",
"sources" : [
"ParametersValueEncoderDecoderTests.swift",
"SwiftAnalyticsTests.swift"
],
"target_dependencies" : [
"SwiftAnalytics"
],
"type" : "test"
},
{
"c99name" : "SwiftAnalytics",
"module_type" : "SwiftTarget",
"name" : "SwiftAnalytics",
"path" : "Sources/SwiftAnalytics",
"product_memberships" : [
"SwiftAnalytics"
],
"sources" : [
"Analytics.swift",
"AnalyticsHandler.swift",
"AnalyticsSystem.swift",
"AnyCodingKey.swift",
"Locks.swift",
"MockAnalyticsHandler.swift",
"MultiplexAnalyticsHandler.swift",
"NOOPAnalyticsHandler.swift",
"ParametersProvider.swift",
"ParametersValue+JSONString.swift",
"ParametersValueDecoder.swift",
"ParametersValueEncoder.swift",
"WithAnalyticsParameters.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
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/15] Compiling SwiftAnalytics ParametersValue+JSONString.swift
[4/15] Compiling SwiftAnalytics ParametersValueDecoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/ParametersValueDecoder.swift:653:9: warning: switch covers known cases, but 'ParametersValueDecoder.DateDecodingStrategy' (aka 'JSONDecoder.DateDecodingStrategy') may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
651 |
652 | func decodeDate(from value: Analytics.ParametersValue) throws -> Date {
653 | switch dateDecodingStrategy {
| |- warning: switch covers known cases, but 'ParametersValueDecoder.DateDecodingStrategy' (aka 'JSONDecoder.DateDecodingStrategy') may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
| `- note: handle unknown values using "@unknown default"
654 | case .deferredToDate:
655 | let subDecoder = _ParametersValueDecoder(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/ParametersValueDecoder.swift:744:9: warning: switch covers known cases, but 'ParametersValueDecoder.DataDecodingStrategy' (aka 'JSONDecoder.DataDecodingStrategy') may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
742 |
743 | func decodeData(from value: Analytics.ParametersValue) throws -> Data {
744 | switch dataDecodingStrategy {
| |- warning: switch covers known cases, but 'ParametersValueDecoder.DataDecodingStrategy' (aka 'JSONDecoder.DataDecodingStrategy') may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
| `- note: handle unknown values using "@unknown default"
745 | case .deferredToData:
746 | let subDecoder = _ParametersValueDecoder(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/ParametersValueDecoder.swift:824:9: warning: switch covers known cases, but 'JSONDecoder.KeyDecodingStrategy' may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
822 |
823 | func decode(_ key: CodingKey, path: [CodingKey]) -> String {
824 | switch self {
| |- warning: switch covers known cases, but 'JSONDecoder.KeyDecodingStrategy' may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
| `- note: handle unknown values using "@unknown default"
825 | case .useDefaultKeys:
826 | return key.stringValue
[5/15] Compiling SwiftAnalytics NOOPAnalyticsHandler.swift
[6/15] Compiling SwiftAnalytics ParametersValueEncoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/ParametersValueEncoder.swift:447:16: warning: static property 'iso8601DateFormatterWithOptions' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
445 |
446 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
447 | static let iso8601DateFormatterWithOptions: ISO8601DateFormatter = {
| |- warning: static property 'iso8601DateFormatterWithOptions' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'iso8601DateFormatterWithOptions' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
448 | let formatter = ISO8601DateFormatter()
449 | return formatter
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/ParametersValueEncoder.swift:453:9: warning: switch covers known cases, but 'ParametersValueEncoder.DateEncodingStrategy' (aka 'JSONEncoder.DateEncodingStrategy') may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
451 |
452 | func encodeDate(_ date: Date) throws -> Analytics.ParametersValue {
453 | switch dateEncodingStrategy {
| |- warning: switch covers known cases, but 'ParametersValueEncoder.DateEncodingStrategy' (aka 'JSONEncoder.DateEncodingStrategy') may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
| `- note: handle unknown values using "@unknown default"
454 | case .deferredToDate:
455 | let subEncoder = _ParametersValueEncoder(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/ParametersValueEncoder.swift:493:9: warning: switch covers known cases, but 'ParametersValueEncoder.DataEncodingStrategy' (aka 'JSONEncoder.DataEncodingStrategy') may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
491 |
492 | func encodeData(_ data: Data) throws -> Analytics.ParametersValue {
493 | switch dataEncodingStrategy {
| |- warning: switch covers known cases, but 'ParametersValueEncoder.DataEncodingStrategy' (aka 'JSONEncoder.DataEncodingStrategy') may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
| `- note: handle unknown values using "@unknown default"
494 | case .deferredToData:
495 | let subEncoder = _ParametersValueEncoder(
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/ParametersValueEncoder.swift:523:9: warning: switch covers known cases, but 'JSONEncoder.KeyEncodingStrategy' may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
521 |
522 | func encode<Key: CodingKey>(_ key: Key, codingPath: [CodingKey]) -> String {
523 | switch self {
| |- warning: switch covers known cases, but 'JSONEncoder.KeyEncodingStrategy' may have additional unknown values, possibly added in future versions; this is an error in the Swift 6 language mode
| `- note: handle unknown values using "@unknown default"
524 | case .useDefaultKeys:
525 | return key.stringValue
[7/16] Compiling SwiftAnalytics ParametersProvider.swift
[8/16] Compiling SwiftAnalytics Locks.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/MockAnalyticsHandler.swift:6:13: warning: stored property 'parameters' of 'Sendable'-conforming class 'MockAnalyticsHandler' is mutable; this is an error in the Swift 6 language mode
4 | public final class MockAnalyticsHandler: AnalyticsHandler {
5 |
6 | public var parameters: Analytics.Parameters
| `- warning: stored property 'parameters' of 'Sendable'-conforming class 'MockAnalyticsHandler' is mutable; this is an error in the Swift 6 language mode
7 | public var events: [Analytics.Event] = []
8 |
[9/16] Compiling SwiftAnalytics MockAnalyticsHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/MockAnalyticsHandler.swift:6:13: warning: stored property 'parameters' of 'Sendable'-conforming class 'MockAnalyticsHandler' is mutable; this is an error in the Swift 6 language mode
4 | public final class MockAnalyticsHandler: AnalyticsHandler {
5 |
6 | public var parameters: Analytics.Parameters
| `- warning: stored property 'parameters' of 'Sendable'-conforming class 'MockAnalyticsHandler' is mutable; this is an error in the Swift 6 language mode
7 | public var events: [Analytics.Event] = []
8 |
[10/16] Compiling SwiftAnalytics MultiplexAnalyticsHandler.swift
[11/16] Emitting module SwiftAnalytics
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/AnalyticsSystem.swift:8:21: warning: static property '_handler' is not concurrency-safe because non-'Sendable' type 'AnalyticsSystem.HandlerBox' may have shared mutable state; this is an error in the Swift 6 language mode
6 | public enum AnalyticsSystem {
7 |
8 | private static let _handler = HandlerBox(NOOPAnalyticsHandler.instance)
| |- warning: static property '_handler' is not concurrency-safe because non-'Sendable' type 'AnalyticsSystem.HandlerBox' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property '_handler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 |
10 | /// `bootstrap` is an one-time configuration function which globally selects the desired analytics backend
:
41 | }
42 |
43 | private final class HandlerBox {
| `- note: class 'HandlerBox' does not conform to the 'Sendable' protocol
44 |
45 | private let lock = ReadWriteLock()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/MockAnalyticsHandler.swift:6:13: warning: stored property 'parameters' of 'Sendable'-conforming class 'MockAnalyticsHandler' is mutable; this is an error in the Swift 6 language mode
4 | public final class MockAnalyticsHandler: AnalyticsHandler {
5 |
6 | public var parameters: Analytics.Parameters
| `- warning: stored property 'parameters' of 'Sendable'-conforming class 'MockAnalyticsHandler' is mutable; this is an error in the Swift 6 language mode
7 | public var events: [Analytics.Event] = []
8 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/ParametersValueEncoder.swift:447:16: warning: static property 'iso8601DateFormatterWithOptions' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
445 |
446 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
447 | static let iso8601DateFormatterWithOptions: ISO8601DateFormatter = {
| |- warning: static property 'iso8601DateFormatterWithOptions' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'iso8601DateFormatterWithOptions' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
448 | let formatter = ISO8601DateFormatter()
449 | return formatter
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
[12/16] Compiling SwiftAnalytics AnalyticsSystem.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/AnalyticsSystem.swift:8:21: warning: static property '_handler' is not concurrency-safe because non-'Sendable' type 'AnalyticsSystem.HandlerBox' may have shared mutable state; this is an error in the Swift 6 language mode
6 | public enum AnalyticsSystem {
7 |
8 | private static let _handler = HandlerBox(NOOPAnalyticsHandler.instance)
| |- warning: static property '_handler' is not concurrency-safe because non-'Sendable' type 'AnalyticsSystem.HandlerBox' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property '_handler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 |
10 | /// `bootstrap` is an one-time configuration function which globally selects the desired analytics backend
:
41 | }
42 |
43 | private final class HandlerBox {
| `- note: class 'HandlerBox' does not conform to the 'Sendable' protocol
44 |
45 | private let lock = ReadWriteLock()
[13/16] Compiling SwiftAnalytics AnyCodingKey.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftAnalytics/AnalyticsSystem.swift:8:21: warning: static property '_handler' is not concurrency-safe because non-'Sendable' type 'AnalyticsSystem.HandlerBox' may have shared mutable state; this is an error in the Swift 6 language mode
6 | public enum AnalyticsSystem {
7 |
8 | private static let _handler = HandlerBox(NOOPAnalyticsHandler.instance)
| |- warning: static property '_handler' is not concurrency-safe because non-'Sendable' type 'AnalyticsSystem.HandlerBox' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property '_handler' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
9 |
10 | /// `bootstrap` is an one-time configuration function which globally selects the desired analytics backend
:
41 | }
42 |
43 | private final class HandlerBox {
| `- note: class 'HandlerBox' does not conform to the 'Sendable' protocol
44 |
45 | private let lock = ReadWriteLock()
[14/16] Compiling SwiftAnalytics Analytics.swift
[15/16] Compiling SwiftAnalytics AnalyticsHandler.swift
[16/16] Compiling SwiftAnalytics WithAnalyticsParameters.swift
Build complete! (4.71s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "swift-analytics",
"name" : "swift-analytics",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "SwiftAnalytics",
"targets" : [
"SwiftAnalytics"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftAnalyticsTests",
"module_type" : "SwiftTarget",
"name" : "SwiftAnalyticsTests",
"path" : "Tests/SwiftAnalyticsTests",
"sources" : [
"ParametersValueEncoderDecoderTests.swift",
"SwiftAnalyticsTests.swift"
],
"target_dependencies" : [
"SwiftAnalytics"
],
"type" : "test"
},
{
"c99name" : "SwiftAnalytics",
"module_type" : "SwiftTarget",
"name" : "SwiftAnalytics",
"path" : "Sources/SwiftAnalytics",
"product_memberships" : [
"SwiftAnalytics"
],
"sources" : [
"Analytics.swift",
"AnalyticsHandler.swift",
"AnalyticsSystem.swift",
"AnyCodingKey.swift",
"Locks.swift",
"MockAnalyticsHandler.swift",
"MultiplexAnalyticsHandler.swift",
"NOOPAnalyticsHandler.swift",
"ParametersProvider.swift",
"ParametersValue+JSONString.swift",
"ParametersValueDecoder.swift",
"ParametersValueEncoder.swift",
"WithAnalyticsParameters.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
Done.