Build Information
Successful build of CloseEnough, reference main (540274
), with Swift 6.0 for macOS (SPM) on 3 Nov 2024 06:41:43 UTC.
Swift 6 data race errors: 4
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/ZevEisenberg/CloseEnough.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/ZevEisenberg/CloseEnough
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 5402746 Fix typo.
Cloned https://github.com/ZevEisenberg/CloseEnough.git
Revision (git rev-parse @):
5402746c6ce9a5992e7e879ece92d4e1a2cf285f
SUCCESS checkout https://github.com/ZevEisenberg/CloseEnough.git at main
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay.git
[1/4985] Fetching xctest-dynamic-overlay
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay.git from cache (1.53s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay.git
Computed https://github.com/pointfreeco/xctest-dynamic-overlay.git at 0.8.4 (3.46s)
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay.git
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay.git resolved at 0.8.4
========================================
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": "closeenough",
"name": "CloseEnough",
"url": "https://github.com/ZevEisenberg/CloseEnough.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CloseEnough",
"dependencies": [
{
"identity": "xctest-dynamic-overlay",
"name": "xctest-dynamic-overlay",
"url": "https://github.com/pointfreeco/xctest-dynamic-overlay.git",
"version": "0.8.4",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/xctest-dynamic-overlay",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/ZevEisenberg/CloseEnough.git
[1/249] Fetching closeenough
Fetched https://github.com/ZevEisenberg/CloseEnough.git from cache (0.66s)
Fetching https://github.com/pointfreeco/xctest-dynamic-overlay.git from cache
Fetched https://github.com/pointfreeco/xctest-dynamic-overlay.git from cache (0.48s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay.git
Computed https://github.com/pointfreeco/xctest-dynamic-overlay.git at 0.8.4 (0.03s)
Creating working copy for https://github.com/pointfreeco/xctest-dynamic-overlay.git
Working copy of https://github.com/pointfreeco/xctest-dynamic-overlay.git resolved at 0.8.4
Creating working copy for https://github.com/ZevEisenberg/CloseEnough.git
Working copy of https://github.com/ZevEisenberg/CloseEnough.git resolved at main (5402746)
warning: '.resolve-product-dependencies': dependency 'closeenough' is not used by any target
Found 1 product dependencies
- xctest-dynamic-overlay
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/ZevEisenberg/CloseEnough.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/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/12] Compiling XCTestDynamicOverlay XCTFail.swift
[5/12] Compiling XCTestDynamicOverlay GeneratePlaceholder.swift
[6/12] Compiling XCTestDynamicOverlay RuntimeWarnings.swift
[7/12] Compiling XCTestDynamicOverlay XCTCurrentTestCase.swift
[8/12] Compiling XCTestDynamicOverlay Unimplemented.swift
[9/12] Compiling XCTestDynamicOverlay DefaultInitializable.swift
[10/12] Compiling XCTestDynamicOverlay XCTIsTesting.swift
[11/12] Compiling XCTestDynamicOverlay Deprecations.swift
[12/12] Emitting module XCTestDynamicOverlay
[13/18] Compiling CloseEnough WithPrecisions.swift
macro expansion @TaskLocal:1:26: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+--------------------------------------------------------------------
23 | }
24 |
macro expansion @TaskLocal:1:26: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+--------------------------------------------------------------------
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/WithPrecisions.swift:8:36: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
6 | }
7 |
8 | try! PrecisionStore.$taskLocal.withValue(store) {
| `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
9 | try tests()
10 | }
/Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:3:8: note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
macro expansion @TaskLocal:1:12: warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<PrecisionStore>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | |- warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<PrecisionStore>' may have shared mutable state; this is an error in the Swift 6 language mode
| | |- note: annotate '$taskLocal' 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
+--------------------------------------------------------------------
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/WithPrecisions.swift:20:42: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 | }
19 |
20 | try! await PrecisionStore.$taskLocal.withValue(store) {
| `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
21 | try await tests()
22 | }
/Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:3:8: note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
[14/18] Compiling CloseEnough PrecisionStore.swift
macro expansion @TaskLocal:1:26: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+--------------------------------------------------------------------
23 | }
24 |
macro expansion @TaskLocal:1:26: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+--------------------------------------------------------------------
23 | }
24 |
macro expansion @TaskLocal:1:12: warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<PrecisionStore>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | |- warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<PrecisionStore>' may have shared mutable state; this is an error in the Swift 6 language mode
| | |- note: annotate '$taskLocal' 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
+--------------------------------------------------------------------
23 | }
24 |
macro expansion @TaskLocal:1:12: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+--------------------------------------------------------------------
23 | }
24 |
macro expansion @TaskLocal:3:21: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | {
|2 | get {
|3 | $taskLocal .get()
| | `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
|4 | }
|5 | }
+--------------------------------------------------------------------
23 | }
24 |
[15/18] Compiling CloseEnough EquatableWithPrecision.swift
[16/18] Compiling CloseEnough CloseEnough.swift
macro expansion @TaskLocal:1:26: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+--------------------------------------------------------------------
23 | }
24 |
macro expansion @TaskLocal:1:26: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+--------------------------------------------------------------------
23 | }
24 |
/Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/CloseEnough.swift:14:73: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
12 | public static func ==(lhs: Self, rhs: Self) -> Bool {
13 | if isTesting,
14 | let precision: Wrapped.Precision = PrecisionStore.$taskLocal.get()[Wrapped.self] {
| `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
15 | return lhs.wrappedValue.isApproximatelyEqual(to: rhs.wrappedValue, precision: precision)
16 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:3:8: note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
macro expansion @TaskLocal:1:12: warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<PrecisionStore>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | |- warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<PrecisionStore>' may have shared mutable state; this is an error in the Swift 6 language mode
| | |- note: annotate '$taskLocal' 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
+--------------------------------------------------------------------
23 | }
24 |
[17/18] Compiling CloseEnough CloseEnoughable Conformances.swift
[18/18] Emitting module CloseEnough
macro expansion @TaskLocal:1:26: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+--------------------------------------------------------------------
23 | }
24 |
macro expansion @TaskLocal:1:26: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+--------------------------------------------------------------------
23 | }
24 |
macro expansion @TaskLocal:1:12: warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<PrecisionStore>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | |- warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<PrecisionStore>' may have shared mutable state; this is an error in the Swift 6 language mode
| | |- note: annotate '$taskLocal' 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
+--------------------------------------------------------------------
23 | }
24 |
macro expansion @TaskLocal:1:12: warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /Users/admin/builder/spi-builder-workspace/Sources/CloseEnough/PrecisionStore.swift:22:55: note: expanded code originates here
1 | import XCTestDynamicOverlay
2 |
3 | struct PrecisionStore {
| `- note: consider making struct 'PrecisionStore' conform to the 'Sendable' protocol
4 | private var storage: [ObjectIdentifier: Any] = [:]
5 |
:
20 | }
21 |
22 | @TaskLocal static var taskLocal = PrecisionStore()
+--- macro expansion @TaskLocal -------------------------------------
|1 | static let $taskLocal = TaskLocal(wrappedValue: PrecisionStore())
| | `- warning: type 'PrecisionStore' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+--------------------------------------------------------------------
23 | }
24 |
Build complete! (15.62s)
Build complete.
{
"dependencies" : [
{
"identity" : "xctest-dynamic-overlay",
"requirement" : {
"exact" : [
"0.8.4"
]
},
"type" : "sourceControl",
"url" : "https://github.com/pointfreeco/xctest-dynamic-overlay.git"
}
],
"manifest_display_name" : "CloseEnough",
"name" : "CloseEnough",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "maccatalyst",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "CloseEnough",
"targets" : [
"CloseEnough"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "CloseEnoughTests",
"module_type" : "SwiftTarget",
"name" : "CloseEnoughTests",
"path" : "Tests/CloseEnoughTests",
"sources" : [
"AngleTests.swift",
"AsyncTests.swift",
"CustomTypeTests.swift",
"DateTests.swift",
"DoubleTests.swift",
"MultipleTypesTests.swift",
"WrongRegistrationTests.swift"
],
"target_dependencies" : [
"CloseEnough"
],
"type" : "test"
},
{
"c99name" : "CloseEnough",
"module_type" : "SwiftTarget",
"name" : "CloseEnough",
"path" : "Sources/CloseEnough",
"product_dependencies" : [
"XCTestDynamicOverlay"
],
"product_memberships" : [
"CloseEnough"
],
"sources" : [
"CloseEnough.swift",
"CloseEnoughable Conformances.swift",
"EquatableWithPrecision.swift",
"PrecisionStore.swift",
"WithPrecisions.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
Done.