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 Hamilton, reference master (6040c0), with Swift 6.0 for macOS (SPM) on 31 Oct 2024 20:03:50 UTC.

Swift 6 data race errors: 8

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

Build Log

========================================
RunAll
========================================
Builder version: 4.56.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
========================================
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": "hamilton",
      "name": "Hamilton",
      "url": "https://github.com/pducks32/Hamilton.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Hamilton",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/pducks32/Hamilton.git
[1/339] Fetching hamilton
Fetched https://github.com/pducks32/Hamilton.git from cache (0.73s)
Creating working copy for https://github.com/pducks32/Hamilton.git
Working copy of https://github.com/pducks32/Hamilton.git resolved at master (6040c03)
warning: '.resolve-product-dependencies': dependency 'hamilton' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/pducks32/Hamilton.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
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.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/16] 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/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
[6/16] 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 nonisolated 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 nonisolated 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 Vectorable.swift
[8/16] Compiling Hamilton Scalar.swift
[9/16] Compiling Hamilton Vectorable+SceneKit.swift
[10/16] Compiling Hamilton EulerAngles+Operators.swift
[11/16] Compiling Hamilton EulerAngles.swift
[12/16] Compiling Hamilton AngleConvertible.swift
[13/16] Compiling Hamilton EulerAngles+Equatable.swift
[14/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 nonisolated 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 nonisolated 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
[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! (21.33s)
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.