Build Information
Successful build of Hamilton with Swift 6.0 for macOS (SPM).
Swift 6 data race errors: 8
Build Command
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pducks32/Hamilton.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/pducks32/Hamilton
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 6040c03 Merge pull request #2 from martin-key/master
Cloned https://github.com/pducks32/Hamilton.git
Revision (git rev-parse @):
6040c03390f5b998685e424fb0125ed79869729f
SUCCESS checkout https://github.com/pducks32/Hamilton.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $workDir
https://github.com/pducks32/Hamilton.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/15] Compiling Hamilton Vector3.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:12:23: warning: static property 'xAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | public struct Vector3 : Vectorable {
| `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
11 | /// X Axis in 3D space
12 | public static let xAxis = Vector3(1, 0, 0)
| |- warning: static property 'xAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'xAxis' 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
13 | /// Y Axis in 3D space
14 | public static let yAxis = Vector3(0, 1, 0)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:14:23: warning: static property 'yAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | public struct Vector3 : Vectorable {
| `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
11 | /// X Axis in 3D space
12 | public static let xAxis = Vector3(1, 0, 0)
13 | /// Y Axis in 3D space
14 | public static let yAxis = Vector3(0, 1, 0)
| |- warning: static property 'yAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'yAxis' 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
15 | /// Z Axis in 3D space
16 | public static let zAxis = Vector3(0, 0, 1)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:16:23: warning: static property 'zAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | public struct Vector3 : Vectorable {
| `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
11 | /// X Axis in 3D space
12 | public static let xAxis = Vector3(1, 0, 0)
:
14 | public static let yAxis = Vector3(0, 1, 0)
15 | /// Z Axis in 3D space
16 | public static let zAxis = Vector3(0, 0, 1)
| |- warning: static property 'zAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zAxis' 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
17 |
18 | /// 3D origin
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:19:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | public struct Vector3 : Vectorable {
| `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
11 | /// X Axis in 3D space
12 | public static let xAxis = Vector3(1, 0, 0)
:
17 |
18 | /// 3D origin
19 | public static let zero = Vector3(x: 0, y: 0, z: 0)
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' 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
20 |
21 | public typealias Size = ThreeDegreesOfFreedom
[4/15] Compiling Hamilton Vector2.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector2.swift:16:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector2' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | public struct Vector2 : Vectorable {
| `- note: consider making struct 'Vector2' conform to the 'Sendable' protocol
11 |
12 | public typealias Size = TwoDegreesOfFreedom
:
14 |
15 | /// 2D origin
16 | public static let zero = Vector2(x: 0, y: 0)
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector2' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' 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
17 |
18 | /// First component of vector
[5/15] Compiling Hamilton Vectorable.swift
[6/15] Compiling Hamilton VectorableFormatter.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/VectorableFormatter.swift:24:23: warning: static property 'defaultNumberFormatter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
22 | }
23 |
24 | public static var defaultNumberFormatter : NumberFormatter = {
| |- warning: static property 'defaultNumberFormatter' 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 'defaultNumberFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultNumberFormatter' 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
25 | let formatter = NumberFormatter()
26 | formatter.maximumFractionDigits = 3
[7/16] Compiling Hamilton Vector4.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector4.swift:16:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector4' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// W first 4 vector.
11 | public struct Vector4 : Vectorable {
| `- note: consider making struct 'Vector4' conform to the 'Sendable' protocol
12 | public typealias Size = FourDegreesOfFreedom
13 | public typealias Component = Double
14 |
15 | /// 4D origin
16 | public static let zero = Vector4(w: 0, x: 0, y: 0, z: 0)
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector4' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' 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
17 |
18 | /// First component of vector
[8/16] Compiling Hamilton Vectorable+SceneKit.swift
[9/16] Compiling Hamilton EulerAngles+Operators.swift
[10/16] Compiling Hamilton EulerAngles.swift
[11/16] Compiling Hamilton AngleConvertible.swift
[12/16] Compiling Hamilton EulerAngles+Equatable.swift
[13/16] Emitting module Hamilton
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:12:1: warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
10 | import SceneKit
11 |
12 | extension GLKMatrix4 : CustomDebugStringConvertible {
| |- warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
13 | public var debugDescription: String {
14 | let topRow = GLKMatrix4GetRow(self, 0)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:33:23: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
27 | /// `Vectorable` however it is not a 4 vector and
28 | /// there are some key differences.
29 | public struct Quaternion : Vectorable {
| `- note: consider making struct 'Quaternion' conform to the 'Sendable' protocol
30 | public typealias Size = FourDegreesOfFreedom
31 | public typealias Component = Double
32 |
33 | public static let identity = Quaternion(w: 1, x: 0, y: 0, z: 0)
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'identity' 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
34 |
35 | /// First component of quaternion
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/VectorableFormatter.swift:24:23: warning: static property 'defaultNumberFormatter' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
22 | }
23 |
24 | public static var defaultNumberFormatter : NumberFormatter = {
| |- warning: static property 'defaultNumberFormatter' 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 'defaultNumberFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultNumberFormatter' 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
25 | let formatter = NumberFormatter()
26 | formatter.maximumFractionDigits = 3
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector2.swift:16:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector2' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | public struct Vector2 : Vectorable {
| `- note: consider making struct 'Vector2' conform to the 'Sendable' protocol
11 |
12 | public typealias Size = TwoDegreesOfFreedom
:
14 |
15 | /// 2D origin
16 | public static let zero = Vector2(x: 0, y: 0)
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector2' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' 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
17 |
18 | /// First component of vector
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:12:23: warning: static property 'xAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | public struct Vector3 : Vectorable {
| `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
11 | /// X Axis in 3D space
12 | public static let xAxis = Vector3(1, 0, 0)
| |- warning: static property 'xAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'xAxis' 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
13 | /// Y Axis in 3D space
14 | public static let yAxis = Vector3(0, 1, 0)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:14:23: warning: static property 'yAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | public struct Vector3 : Vectorable {
| `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
11 | /// X Axis in 3D space
12 | public static let xAxis = Vector3(1, 0, 0)
13 | /// Y Axis in 3D space
14 | public static let yAxis = Vector3(0, 1, 0)
| |- warning: static property 'yAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'yAxis' 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
15 | /// Z Axis in 3D space
16 | public static let zAxis = Vector3(0, 0, 1)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:16:23: warning: static property 'zAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | public struct Vector3 : Vectorable {
| `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
11 | /// X Axis in 3D space
12 | public static let xAxis = Vector3(1, 0, 0)
:
14 | public static let yAxis = Vector3(0, 1, 0)
15 | /// Z Axis in 3D space
16 | public static let zAxis = Vector3(0, 0, 1)
| |- warning: static property 'zAxis' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zAxis' 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
17 |
18 | /// 3D origin
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector3.swift:19:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | public struct Vector3 : Vectorable {
| `- note: consider making struct 'Vector3' conform to the 'Sendable' protocol
11 | /// X Axis in 3D space
12 | public static let xAxis = Vector3(1, 0, 0)
:
17 |
18 | /// 3D origin
19 | public static let zero = Vector3(x: 0, y: 0, z: 0)
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector3' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' 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
20 |
21 | public typealias Size = ThreeDegreesOfFreedom
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Vectors/Vector4.swift:16:23: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector4' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | /// W first 4 vector.
11 | public struct Vector4 : Vectorable {
| `- note: consider making struct 'Vector4' conform to the 'Sendable' protocol
12 | public typealias Size = FourDegreesOfFreedom
13 | public typealias Component = Double
14 |
15 | /// 4D origin
16 | public static let zero = Vector4(w: 0, x: 0, y: 0, z: 0)
| |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'Vector4' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'zero' 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
17 |
18 | /// First component of vector
[14/16] Compiling Hamilton Scalar.swift
[15/16] Compiling Hamilton Quaternion.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:12:1: warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
10 | import SceneKit
11 |
12 | extension GLKMatrix4 : CustomDebugStringConvertible {
| |- warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
13 | public var debugDescription: String {
14 | let topRow = GLKMatrix4GetRow(self, 0)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:33:23: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
27 | /// `Vectorable` however it is not a 4 vector and
28 | /// there are some key differences.
29 | public struct Quaternion : Vectorable {
| `- note: consider making struct 'Quaternion' conform to the 'Sendable' protocol
30 | public typealias Size = FourDegreesOfFreedom
31 | public typealias Component = Double
32 |
33 | public static let identity = Quaternion(w: 1, x: 0, y: 0, z: 0)
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'identity' 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
34 |
35 | /// First component of quaternion
[16/16] Compiling Hamilton Rotateable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:12:1: warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
10 | import SceneKit
11 |
12 | extension GLKMatrix4 : CustomDebugStringConvertible {
| |- warning: extension declares a conformance of imported type '_GLKMatrix4' to imported protocol 'CustomDebugStringConvertible'; this will not behave correctly if the owners of 'GLKit' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
13 | public var debugDescription: String {
14 | let topRow = GLKMatrix4GetRow(self, 0)
/Users/admin/builder/spi-builder-workspace/Sources/Hamilton/Quaternion.swift:33:23: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
27 | /// `Vectorable` however it is not a 4 vector and
28 | /// there are some key differences.
29 | public struct Quaternion : Vectorable {
| `- note: consider making struct 'Quaternion' conform to the 'Sendable' protocol
30 | public typealias Size = FourDegreesOfFreedom
31 | public typealias Component = Double
32 |
33 | public static let identity = Quaternion(w: 1, x: 0, y: 0, z: 0)
| |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Quaternion' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'identity' 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
34 |
35 | /// First component of quaternion
Build complete! (31.73s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Hamilton",
"name" : "Hamilton",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.14"
},
{
"name" : "ios",
"version" : "10.0"
},
{
"name" : "tvos",
"version" : "10.0"
},
{
"name" : "watchos",
"version" : "3.0"
}
],
"products" : [
{
"name" : "Hamilton",
"targets" : [
"Hamilton"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "HamiltonTests",
"module_type" : "SwiftTarget",
"name" : "HamiltonTests",
"path" : "Tests/HamiltonTests",
"sources" : [
"Angles.swift",
"EulerAnglesSystemConversionTests.swift",
"HamiltonTests.swift",
"Helpers.swift",
"MatrixTests.swift",
"Quaternion+EulerAnglesTests.swift",
"QuaternionInitializers.swift",
"QuaternionMultiplication.swift",
"Vector2Arithmatic.swift",
"Vector3Arithmatic.swift"
],
"target_dependencies" : [
"Hamilton"
],
"type" : "test"
},
{
"c99name" : "Hamilton",
"module_type" : "SwiftTarget",
"name" : "Hamilton",
"path" : "Sources/Hamilton",
"product_memberships" : [
"Hamilton"
],
"sources" : [
"AngleConvertible.swift",
"EulerAngles/EulerAngles+Equatable.swift",
"EulerAngles/EulerAngles+Operators.swift",
"EulerAngles/EulerAngles.swift",
"Quaternion.swift",
"Rotateable.swift",
"Scalar.swift",
"SceneKitExtensions/Vectorable+SceneKit.swift",
"Vectorable.swift",
"VectorableFormatter.swift",
"Vectors/Vector2.swift",
"Vectors/Vector3.swift",
"Vectors/Vector4.swift"
],
"type" : "library"
}
],
"tools_version" : "5.2"
}
Done.