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 CloseEnough, reference main (540274), with Swift 6.0 for Linux on 3 Nov 2024 06:30:14 UTC.

Swift 6 data race errors: 4

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1

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 /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
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
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/ZevEisenberg/CloseEnough.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
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 (0.61s)
Computing version for https://github.com/pointfreeco/xctest-dynamic-overlay.git
Computed https://github.com/pointfreeco/xctest-dynamic-overlay.git at 0.8.4 (1.79s)
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
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/11] Compiling XCTestDynamicOverlay Deprecations.swift
[5/11] Compiling XCTestDynamicOverlay GeneratePlaceholder.swift
[6/11] Compiling XCTestDynamicOverlay XCTCurrentTestCase.swift
[7/11] Compiling XCTestDynamicOverlay RuntimeWarnings.swift
[8/12] Compiling XCTestDynamicOverlay XCTIsTesting.swift
[9/12] Compiling XCTestDynamicOverlay Unimplemented.swift
[10/12] Compiling XCTestDynamicOverlay XCTFail.swift
[11/12] Emitting module XCTestDynamicOverlay
[12/12] Compiling XCTestDynamicOverlay DefaultInitializable.swift
[14/19] Compiling CloseEnough EquatableWithPrecision.swift
[15/19] 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
`- /host/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
`- /host/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
`- /host/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
`- /host/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
`- /host/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 |
[16/19] 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
`- /host/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
`- /host/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 |
/host/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 |     }
/host/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
`- /host/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 |
/host/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 |     }
/host/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 |
[17/19] Compiling CloseEnough CloseEnoughable Conformances.swift
[18/19] 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
`- /host/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
`- /host/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
`- /host/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
`- /host/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 |
[19/19] 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
`- /host/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
`- /host/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 |
/host/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 {
/host/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
`- /host/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 |
Build complete! (11.74s)
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" : "/host/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"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.