Build Information
Successful build of KituraContracts, reference 2.0.1 (6edf7a
), with Swift 6.0 for macOS (SPM) on 28 Nov 2024 05:50:49 UTC.
Swift 6 data race errors: 5
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.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.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Kitura/KituraContracts.git
Reference: 2.0.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Kitura/KituraContracts
* tag 2.0.1 -> FETCH_HEAD
HEAD is now at 6edf7ac Update dependency version (#62)
Cloned https://github.com/Kitura/KituraContracts.git
Revision (git rev-parse @):
6edf7ac3dd2b3a2c61284778d430bbad7d8a6f23
SUCCESS checkout https://github.com/Kitura/KituraContracts.git at 2.0.1
Fetching https://github.com/Kitura/LoggerAPI.git
[1/771] Fetching loggerapi
Fetched https://github.com/Kitura/LoggerAPI.git from cache (1.02s)
Computing version for https://github.com/Kitura/LoggerAPI.git
Computed https://github.com/Kitura/LoggerAPI.git at 2.0.0 (0.54s)
Fetching https://github.com/apple/swift-log.git
[1/3702] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (1.12s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.2 (0.41s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.2
Creating working copy for https://github.com/Kitura/LoggerAPI.git
Working copy of https://github.com/Kitura/LoggerAPI.git resolved at 2.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": "kituracontracts",
"name": "KituraContracts",
"url": "https://github.com/Kitura/KituraContracts.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/KituraContracts",
"dependencies": [
{
"identity": "loggerapi",
"name": "LoggerAPI",
"url": "https://github.com/Kitura/LoggerAPI.git",
"version": "2.0.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/LoggerAPI",
"dependencies": [
{
"identity": "swift-log",
"name": "swift-log",
"url": "https://github.com/apple/swift-log.git",
"version": "1.6.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
"dependencies": [
]
}
]
}
]
}
]
}
Fetching https://github.com/Kitura/KituraContracts.git
[1/2546] Fetching kituracontracts
Fetched https://github.com/Kitura/KituraContracts.git from cache (1.28s)
Fetching https://github.com/Kitura/LoggerAPI.git from cache
Fetched https://github.com/Kitura/LoggerAPI.git from cache (0.45s)
Computing version for https://github.com/Kitura/LoggerAPI.git
Computed https://github.com/Kitura/LoggerAPI.git at 2.0.0 (0.02s)
Fetching https://github.com/apple/swift-log.git from cache
Fetched https://github.com/apple/swift-log.git from cache (0.45s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.2 (0.02s)
Creating working copy for https://github.com/Kitura/LoggerAPI.git
Working copy of https://github.com/Kitura/LoggerAPI.git resolved at 2.0.0
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.2
Creating working copy for https://github.com/Kitura/KituraContracts.git
Working copy of https://github.com/Kitura/KituraContracts.git resolved at 2.0.1 (6edf7ac)
warning: '.resolve-product-dependencies': dependency 'kituracontracts' is not used by any target
Found 1 product dependencies
- LoggerAPI
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/Kitura/KituraContracts.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.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/4] Write sources
[3/4] Write swift-version--7754E27361AE5C74.txt
[5/9] Compiling Logging MetadataProvider.swift
[6/9] Compiling Logging LogHandler.swift
[7/9] Compiling Logging Logging.swift
[8/9] Emitting module Logging
[9/9] Compiling Logging Locks.swift
[10/11] Emitting module LoggerAPI
[11/11] Compiling LoggerAPI Logger.swift
[12/21] Compiling KituraContracts QueryEncoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/CodableQuery/Extensions.swift:336:5: 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
334 | // ISO8601 Formatter used for formatting ISO8601 dates.
335 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
336 | 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
337 | let formatter = ISO8601DateFormatter()
338 | formatter.formatOptions = .withInternetDateTime
[13/21] Compiling KituraContracts QueryDecoder.swift
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/CodableQuery/Extensions.swift:336:5: 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
334 | // ISO8601 Formatter used for formatting ISO8601 dates.
335 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
336 | 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
337 | let formatter = ISO8601DateFormatter()
338 | formatter.formatOptions = .withInternetDateTime
[14/21] Compiling KituraContracts ClosureAliases.swift
[15/21] Compiling KituraContracts Coder.swift
[16/21] Compiling KituraContracts Extensions.swift
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/CodableQuery/Extensions.swift:336:5: 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
334 | // ISO8601 Formatter used for formatting ISO8601 dates.
335 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
336 | 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
337 | let formatter = ISO8601DateFormatter()
338 | formatter.formatOptions = .withInternetDateTime
[17/21] Compiling KituraContracts BodyEncoder.swift
[18/21] Compiling KituraContracts BodyFormat.swift
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/BodyFormat.swift:60:23: warning: static property 'json' is not concurrency-safe because non-'Sendable' type 'BodyFormat' may have shared mutable state; this is an error in the Swift 6 language mode
37 | ````
38 | */
39 | public struct BodyFormat: Equatable {
| `- note: consider making struct 'BodyFormat' conform to the 'Sendable' protocol
40 |
41 | /**
:
58 | The JSON representation of the response body.
59 | */
60 | public static let json = BodyFormat("application/json")
| |- warning: static property 'json' is not concurrency-safe because non-'Sendable' type 'BodyFormat' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'json' 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
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/BodyFormat.swift:71:16: warning: stored property 'bodyFormat' of 'Sendable'-conforming struct 'UnsupportedBodyFormatError' has non-sendable type 'BodyFormat'; this is an error in the Swift 6 language mode
37 | ````
38 | */
39 | public struct BodyFormat: Equatable {
| `- note: consider making struct 'BodyFormat' conform to the 'Sendable' protocol
40 |
41 | /**
:
69 | The format of the body.
70 | */
71 | public let bodyFormat: BodyFormat
| `- warning: stored property 'bodyFormat' of 'Sendable'-conforming struct 'UnsupportedBodyFormatError' has non-sendable type 'BodyFormat'; this is an error in the Swift 6 language mode
72 | /**
73 | Initialize `UnsupportedBodyFormatError` with the format of the body.
[19/21] Compiling KituraContracts BodyDecoder.swift
[20/21] Emitting module KituraContracts
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/BodyFormat.swift:60:23: warning: static property 'json' is not concurrency-safe because non-'Sendable' type 'BodyFormat' may have shared mutable state; this is an error in the Swift 6 language mode
37 | ````
38 | */
39 | public struct BodyFormat: Equatable {
| `- note: consider making struct 'BodyFormat' conform to the 'Sendable' protocol
40 |
41 | /**
:
58 | The JSON representation of the response body.
59 | */
60 | public static let json = BodyFormat("application/json")
| |- warning: static property 'json' is not concurrency-safe because non-'Sendable' type 'BodyFormat' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'json' 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
61 | }
62 |
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/BodyFormat.swift:71:16: warning: stored property 'bodyFormat' of 'Sendable'-conforming struct 'UnsupportedBodyFormatError' has non-sendable type 'BodyFormat'; this is an error in the Swift 6 language mode
37 | ````
38 | */
39 | public struct BodyFormat: Equatable {
| `- note: consider making struct 'BodyFormat' conform to the 'Sendable' protocol
40 |
41 | /**
:
69 | The format of the body.
70 | */
71 | public let bodyFormat: BodyFormat
| `- warning: stored property 'bodyFormat' of 'Sendable'-conforming struct 'UnsupportedBodyFormatError' has non-sendable type 'BodyFormat'; this is an error in the Swift 6 language mode
72 | /**
73 | Initialize `UnsupportedBodyFormatError` with the format of the body.
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/CodableQuery/Extensions.swift:336:5: 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
334 | // ISO8601 Formatter used for formatting ISO8601 dates.
335 | @available(macOS 10.12, iOS 10.0, watchOS 3.0, tvOS 10.0, *)
336 | 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
337 | let formatter = ISO8601DateFormatter()
338 | formatter.formatOptions = .withInternetDateTime
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/Contracts.swift:162:29: warning: stored property 'body' of 'Sendable'-conforming struct 'RequestError' has non-sendable type 'RequestError.ErrorBody?'; this is an error in the Swift 6 language mode
48 | May be a type-erased Codable object or a Data (in a particular format).
49 | */
50 | public enum ErrorBody {
| `- note: consider making enum 'ErrorBody' conform to the 'Sendable' protocol
51 | /// Codable object.
52 | case codable(Codable)
:
160 | can call the `bodyAs(_:)` function to get the converted value.
161 | */
162 | public private(set) var body: ErrorBody? = nil
| `- warning: stored property 'body' of 'Sendable'-conforming struct 'RequestError' has non-sendable type 'RequestError.ErrorBody?'; this is an error in the Swift 6 language mode
163 |
164 | // A closure used to hide the generic type of the Codable body
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/Contracts.swift:166:17: warning: stored property 'bodyDataEncoder' of 'Sendable'-conforming struct 'RequestError' has non-sendable type '((BodyFormat) throws -> Data)?'; this is an error in the Swift 6 language mode
164 | // A closure used to hide the generic type of the Codable body
165 | // for later encoding to Data.
166 | private var bodyDataEncoder: ((BodyFormat) throws -> Data)? = nil
| |- warning: stored property 'bodyDataEncoder' of 'Sendable'-conforming struct 'RequestError' has non-sendable type '((BodyFormat) throws -> Data)?'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
167 |
168 | /**
[21/21] Compiling KituraContracts Contracts.swift
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/Contracts.swift:162:29: warning: stored property 'body' of 'Sendable'-conforming struct 'RequestError' has non-sendable type 'RequestError.ErrorBody?'; this is an error in the Swift 6 language mode
48 | May be a type-erased Codable object or a Data (in a particular format).
49 | */
50 | public enum ErrorBody {
| `- note: consider making enum 'ErrorBody' conform to the 'Sendable' protocol
51 | /// Codable object.
52 | case codable(Codable)
:
160 | can call the `bodyAs(_:)` function to get the converted value.
161 | */
162 | public private(set) var body: ErrorBody? = nil
| `- warning: stored property 'body' of 'Sendable'-conforming struct 'RequestError' has non-sendable type 'RequestError.ErrorBody?'; this is an error in the Swift 6 language mode
163 |
164 | // A closure used to hide the generic type of the Codable body
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/Contracts.swift:166:17: warning: stored property 'bodyDataEncoder' of 'Sendable'-conforming struct 'RequestError' has non-sendable type '((BodyFormat) throws -> Data)?'; this is an error in the Swift 6 language mode
164 | // A closure used to hide the generic type of the Codable body
165 | // for later encoding to Data.
166 | private var bodyDataEncoder: ((BodyFormat) throws -> Data)? = nil
| |- warning: stored property 'bodyDataEncoder' of 'Sendable'-conforming struct 'RequestError' has non-sendable type '((BodyFormat) throws -> Data)?'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
167 |
168 | /**
/Users/admin/builder/spi-builder-workspace/Sources/KituraContracts/BodyFormat.swift:60:23: warning: static property 'json' is not concurrency-safe because non-'Sendable' type 'BodyFormat' may have shared mutable state; this is an error in the Swift 6 language mode
37 | ````
38 | */
39 | public struct BodyFormat: Equatable {
| `- note: consider making struct 'BodyFormat' conform to the 'Sendable' protocol
40 |
41 | /**
:
58 | The JSON representation of the response body.
59 | */
60 | public static let json = BodyFormat("application/json")
| |- warning: static property 'json' is not concurrency-safe because non-'Sendable' type 'BodyFormat' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'json' 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
61 | }
62 |
Build complete! (9.14s)
Build complete.
{
"dependencies" : [
{
"identity" : "loggerapi",
"requirement" : {
"range" : [
{
"lower_bound" : "2.0.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Kitura/LoggerAPI.git"
}
],
"manifest_display_name" : "KituraContracts",
"name" : "KituraContracts",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "KituraContracts",
"targets" : [
"KituraContracts"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "KituraContractsTests",
"module_type" : "SwiftTarget",
"name" : "KituraContractsTests",
"path" : "Tests/KituraContractsTests",
"sources" : [
"KituraContractsTests.swift",
"Models.swift",
"QueryCoderTests.swift",
"StringExtensionTests.swift"
],
"target_dependencies" : [
"KituraContracts"
],
"type" : "test"
},
{
"c99name" : "KituraContracts",
"module_type" : "SwiftTarget",
"name" : "KituraContracts",
"path" : "Sources/KituraContracts",
"product_dependencies" : [
"LoggerAPI"
],
"product_memberships" : [
"KituraContracts"
],
"sources" : [
"BodyDecoder.swift",
"BodyEncoder.swift",
"BodyFormat.swift",
"ClosureAliases.swift",
"CodableQuery/Coder.swift",
"CodableQuery/Extensions.swift",
"CodableQuery/QueryDecoder.swift",
"CodableQuery/QueryEncoder.swift",
"Contracts.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.