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 iOverlay, reference 1.22.0 (6a505d), with Swift 6.0 for macOS (SPM) on 27 Nov 2024 20:55:49 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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/iShape-Swift/iOverlay.git
Reference: 1.22.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/iShape-Swift/iOverlay
 * tag               1.22.0     -> FETCH_HEAD
HEAD is now at 6a505d5 shape api for decompose
Cloned https://github.com/iShape-Swift/iOverlay.git
Revision (git rev-parse @):
6a505d514485f7c0d059492e0386d668123441af
SUCCESS checkout https://github.com/iShape-Swift/iOverlay.git at 1.22.0
Fetching https://github.com/iShape-Swift/iShape
Fetching https://github.com/iShape-Swift/iFixFloat
Fetching https://github.com/iShape-Swift/iTree
[1/437] Fetching ishape
[277/641] Fetching ishape, itree
[481/830] Fetching ishape, itree, ifixfloat
Fetched https://github.com/iShape-Swift/iFixFloat from cache (0.75s)
Fetched https://github.com/iShape-Swift/iShape from cache (0.75s)
Fetched https://github.com/iShape-Swift/iTree from cache (0.75s)
Computing version for https://github.com/iShape-Swift/iTree
Computed https://github.com/iShape-Swift/iTree at 0.5.0 (0.45s)
Computing version for https://github.com/iShape-Swift/iShape
Computed https://github.com/iShape-Swift/iShape at 1.13.0 (3.04s)
Computing version for https://github.com/iShape-Swift/iFixFloat
Computed https://github.com/iShape-Swift/iFixFloat at 1.8.0 (0.44s)
Creating working copy for https://github.com/iShape-Swift/iTree
Working copy of https://github.com/iShape-Swift/iTree resolved at 0.5.0
Creating working copy for https://github.com/iShape-Swift/iFixFloat
Working copy of https://github.com/iShape-Swift/iFixFloat resolved at 1.8.0
Creating working copy for https://github.com/iShape-Swift/iShape
Working copy of https://github.com/iShape-Swift/iShape resolved at 1.13.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "ioverlay",
      "name": "iOverlay",
      "url": "https://github.com/iShape-Swift/iOverlay.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/iOverlay",
      "dependencies": [
        {
          "identity": "ifixfloat",
          "name": "iFixFloat",
          "url": "https://github.com/iShape-Swift/iFixFloat",
          "version": "1.8.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/iFixFloat",
          "dependencies": [
          ]
        },
        {
          "identity": "ishape",
          "name": "iShape",
          "url": "https://github.com/iShape-Swift/iShape",
          "version": "1.13.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/iShape",
          "dependencies": [
            {
              "identity": "ifixfloat",
              "name": "iFixFloat",
              "url": "https://github.com/iShape-Swift/iFixFloat",
              "version": "1.8.0",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/iFixFloat",
              "dependencies": [
              ]
            }
          ]
        },
        {
          "identity": "itree",
          "name": "iTree",
          "url": "https://github.com/iShape-Swift/iTree",
          "version": "0.5.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/iTree",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/iShape-Swift/iOverlay.git
[1/3573] Fetching ioverlay
Fetched https://github.com/iShape-Swift/iOverlay.git from cache (1.06s)
Fetching https://github.com/iShape-Swift/iShape from cache
Fetching https://github.com/iShape-Swift/iFixFloat from cache
Fetching https://github.com/iShape-Swift/iTree from cache
Fetched https://github.com/iShape-Swift/iTree from cache (0.48s)
Fetched https://github.com/iShape-Swift/iShape from cache (0.48s)
Fetched https://github.com/iShape-Swift/iFixFloat from cache (0.48s)
Computing version for https://github.com/iShape-Swift/iTree
Computed https://github.com/iShape-Swift/iTree at 0.5.0 (0.02s)
Computing version for https://github.com/iShape-Swift/iShape
Computed https://github.com/iShape-Swift/iShape at 1.13.0 (0.02s)
Computing version for https://github.com/iShape-Swift/iFixFloat
Computed https://github.com/iShape-Swift/iFixFloat at 1.8.0 (0.02s)
Creating working copy for https://github.com/iShape-Swift/iOverlay.git
Working copy of https://github.com/iShape-Swift/iOverlay.git resolved at 1.22.0 (6a505d5)
Creating working copy for https://github.com/iShape-Swift/iFixFloat
Working copy of https://github.com/iShape-Swift/iFixFloat resolved at 1.8.0
Creating working copy for https://github.com/iShape-Swift/iShape
Working copy of https://github.com/iShape-Swift/iShape resolved at 1.13.0
Creating working copy for https://github.com/iShape-Swift/iTree
Working copy of https://github.com/iShape-Swift/iTree resolved at 0.5.0
warning: '.resolve-product-dependencies': dependency 'ioverlay' is not used by any target
Found 3 product dependencies
  - iFixFloat
  - iShape
  - iTree
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/iShape-Swift/iOverlay.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version--7754E27361AE5C74.txt
[6/20] Compiling iTree TreeNode.swift
[7/20] Compiling iTree NodeStore.swift
[8/20] Compiling iTree Array.swift
[9/20] Emitting module iTree
[10/20] Compiling iTree RedBlackTree.swift
[11/20] Compiling iFixFloat UInt128.swift
[12/21] Compiling iFixFloat Triangle.swift
[13/21] Compiling iFixFloat Vec.swift
[14/21] Compiling iFixFloat Rect.swift
[15/21] Compiling iFixFloat FixSin.swift
[16/21] Compiling iFixFloat Point.swift
[17/21] Compiling iFixFloat FixFloat.swift
[18/21] Compiling iFixFloat BitPack.swift
[19/21] Emitting module iFixFloat
[20/21] Compiling iFixFloat FixVec.swift
[21/21] Compiling iFixFloat FixAngle.swift
[22/31] Compiling iShape Path.swift
[23/32] Compiling iShape FixPaths.swift
[24/32] Compiling iShape FixBnd.swift
[25/32] Compiling iShape CGPoint.swift
[26/32] Emitting module iShape
[27/32] Compiling iShape FixPath.swift
[28/32] Compiling iShape Adapter.swift
[29/32] Compiling iShape FixShape.swift
[30/32] Compiling iShape CGFloat.swift
[31/32] Compiling iShape FixShapes.swift
[32/32] Compiling iShape Shape.swift
[33/69] Compiling iOverlay Array.swift
[34/69] Compiling iOverlay IdSegment.swift
[35/69] Compiling iOverlay ScanBindList.swift
[36/69] Compiling iOverlay ScanBindTree.swift
[37/73] Emitting module iOverlay
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:31:23: warning: static property 'list' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
   |                       |- warning: static property 'list' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'list' 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
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:32:23: warning: static property 'tree' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
   |                       |- warning: static property 'tree' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'tree' 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
33 |     public static let auto = Solver(strategy: .auto)
34 |
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Point.swift:10:1: warning: extension declares a conformance of imported type 'SIMD2' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 8 | import iFixFloat
 9 |
10 | extension Point: Comparable {
   | |- warning: extension declares a conformance of imported type 'SIMD2' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func < (lhs: SIMD2<Scalar>, rhs: SIMD2<Scalar>) -> Bool {
12 |         lhs.x < rhs.x || lhs.x == rhs.x && lhs.y < rhs.y
[38/73] Compiling iOverlay OverlayGraph.swift
[39/73] Compiling iOverlay OverlayLink.swift
[40/73] Compiling iOverlay OverlayNode.swift
[41/73] Compiling iOverlay OverlayRule.swift
[42/73] Compiling iOverlay ShapeBinder.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
[43/73] Compiling iOverlay CGOverlay.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
[44/73] Compiling iOverlay CGOverlayGraph.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
[45/73] Compiling iOverlay Divide.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
[46/73] Compiling iOverlay ShapeCount.swift
[47/73] Compiling iOverlay XSegment.swift
[48/73] Compiling iOverlay CrossSolver.swift
[49/73] Compiling iOverlay Fragment.swift
[50/73] Compiling iOverlay ScanFillTree.swift
[51/73] Compiling iOverlay Segment+Fill.swift
[52/73] Compiling iOverlay IdPoint.swift
[53/73] Compiling iOverlay Int.swift
[54/73] Compiling iOverlay LineRange.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Point.swift:10:1: warning: extension declares a conformance of imported type 'SIMD2' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 8 | import iFixFloat
 9 |
10 | extension Point: Comparable {
   | |- warning: extension declares a conformance of imported type 'SIMD2' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func < (lhs: SIMD2<Scalar>, rhs: SIMD2<Scalar>) -> Bool {
12 |         lhs.x < rhs.x || lhs.x == rhs.x && lhs.y < rhs.y
[55/73] Compiling iOverlay Point.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Point.swift:10:1: warning: extension declares a conformance of imported type 'SIMD2' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 8 | import iFixFloat
 9 |
10 | extension Point: Comparable {
   | |- warning: extension declares a conformance of imported type 'SIMD2' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func < (lhs: SIMD2<Scalar>, rhs: SIMD2<Scalar>) -> Bool {
12 |         lhs.x < rhs.x || lhs.x == rhs.x && lhs.y < rhs.y
[56/73] Compiling iOverlay End.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Point.swift:10:1: warning: extension declares a conformance of imported type 'SIMD2' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 8 | import iFixFloat
 9 |
10 | extension Point: Comparable {
   | |- warning: extension declares a conformance of imported type 'SIMD2' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func < (lhs: SIMD2<Scalar>, rhs: SIMD2<Scalar>) -> Bool {
12 |         lhs.x < rhs.x || lhs.x == rhs.x && lhs.y < rhs.y
[57/73] Compiling iOverlay Segment.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Point.swift:10:1: warning: extension declares a conformance of imported type 'SIMD2' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 8 | import iFixFloat
 9 |
10 | extension Point: Comparable {
   | |- warning: extension declares a conformance of imported type 'SIMD2' to imported protocol 'Comparable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
11 |     public static func < (lhs: SIMD2<Scalar>, rhs: SIMD2<Scalar>) -> Bool {
12 |         lhs.x < rhs.x || lhs.x == rhs.x && lhs.y < rhs.y
[58/73] Compiling iOverlay Simplify.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:31:23: warning: static property 'list' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
   |                       |- warning: static property 'list' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'list' 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
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:32:23: warning: static property 'tree' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
   |                       |- warning: static property 'tree' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'tree' 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
33 |     public static let auto = Solver(strategy: .auto)
34 |
[59/73] Compiling iOverlay Solver.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:31:23: warning: static property 'list' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
   |                       |- warning: static property 'list' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'list' 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
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:32:23: warning: static property 'tree' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
   |                       |- warning: static property 'tree' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'tree' 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
33 |     public static let auto = Solver(strategy: .auto)
34 |
[60/73] Compiling iOverlay CountSegment.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:31:23: warning: static property 'list' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
   |                       |- warning: static property 'list' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'list' 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
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:32:23: warning: static property 'tree' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
   |                       |- warning: static property 'tree' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'tree' 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
33 |     public static let auto = Solver(strategy: .auto)
34 |
[61/73] Compiling iOverlay ScanFillList.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:31:23: warning: static property 'list' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
   |                       |- warning: static property 'list' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'list' 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
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:32:23: warning: static property 'tree' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
   |                       |- warning: static property 'tree' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'tree' 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
33 |     public static let auto = Solver(strategy: .auto)
34 |
[62/73] Compiling iOverlay FillRule.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
[63/73] Compiling iOverlay Filter.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
[64/73] Compiling iOverlay Overlay.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
[65/73] Compiling iOverlay OverlayGraph+Extract.swift
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Overlay.swift:30:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 28 | public struct Overlay {
 29 |
 30 |     public internal (set) var edges: [Segment]
    |            `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
 31 |
 32 |
/Users/admin/builder/spi-builder-workspace/Sources/iOverlay/Core/Solver.swift:33:23: warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
27 | }
28 |
29 | public struct Solver {
   |               `- note: consider making struct 'Solver' conform to the 'Sendable' protocol
30 |
31 |     public static let list = Solver(strategy: .list)
32 |     public static let tree = Solver(strategy: .tree)
33 |     public static let auto = Solver(strategy: .auto)
   |                       |- warning: static property 'auto' is not concurrency-safe because non-'Sendable' type 'Solver' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'auto' 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 |     public let strategy: Strategy
[66/73] Compiling iOverlay LineMark.swift
[67/73] Compiling iOverlay SegmentTree.swift
[68/73] Compiling iOverlay SpaceLayout.swift
[69/73] Compiling iOverlay SplitSolver+List.swift
[70/73] Compiling iOverlay SplitSolver+Tree.swift
[71/73] Compiling iOverlay SplitSolver.swift
[72/73] Compiling iOverlay OverlayGraph+ExtractVector.swift
[73/73] Compiling iOverlay VectorEdge.swift
Build complete! (14.18s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "ifixfloat",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.8.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/iShape-Swift/iFixFloat"
    },
    {
      "identity" : "ishape",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.13.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/iShape-Swift/iShape"
    },
    {
      "identity" : "itree",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/iShape-Swift/iTree"
    }
  ],
  "manifest_display_name" : "iOverlay",
  "name" : "iOverlay",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "iOverlay",
      "targets" : [
        "iOverlay"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "iOverlayTests",
      "module_type" : "SwiftTarget",
      "name" : "iOverlayTests",
      "path" : "Tests/iOverlayTests",
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_0.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_1.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_10.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_100.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_101.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_102.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_103.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_104.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_105.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_106.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_107.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_108.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_109.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_11.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_110.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_111.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_112.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_113.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_114.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_115.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_116.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_117.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_118.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_119.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_12.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_120.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_121.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_122.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_123.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_124.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_125.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_126.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_127.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_128.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_129.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_13.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_130.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_131.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_132.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_133.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_134.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_135.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_14.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_15.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_16.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_17.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_18.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_19.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_2.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_20.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_21.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_22.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_23.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_24.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_25.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_26.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_27.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_28.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_29.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_3.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_30.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_31.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_32.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_33.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_34.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_35.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_36.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_37.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_38.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_39.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_4.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_40.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_41.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_42.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_43.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_44.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_45.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_46.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_47.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_48.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_49.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_5.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_50.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_51.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_52.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_53.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_54.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_55.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_56.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_57.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_58.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_59.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_6.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_60.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_61.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_62.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_63.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_64.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_65.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_66.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_67.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_68.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_69.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_7.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_70.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_71.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_72.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_73.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_74.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_75.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_76.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_77.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_78.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_79.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_8.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_80.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_81.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_82.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_83.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_84.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_85.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_86.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_87.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_88.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_89.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_9.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_90.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_91.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_92.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_93.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_94.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_95.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_96.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_97.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_98.json",
          "rule" : {
            "process" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/iOverlayTests/Overlay/test_99.json",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "CheckboardTests.swift",
        "ClockwiseTests.swift",
        "DinamycTests.swift",
        "DivideTests.swift",
        "FillRuleTests.swift",
        "FixRun.swift",
        "FloatOverlayTests.swift",
        "IntervalTreeTests.swift",
        "OverlayTestBank.swift",
        "OverlayTests.swift",
        "ReadmeTests.swift",
        "SimplifyTests.swift",
        "SpaceLayoutTests.swift",
        "Tree/CrossSolver.swift",
        "Tree/Fill/FillSolver.swift",
        "Tree/Fill/FillTests.swift",
        "TreeTests.swift",
        "VectorTests.swift"
      ],
      "target_dependencies" : [
        "iOverlay"
      ],
      "type" : "test"
    },
    {
      "c99name" : "iOverlay",
      "module_type" : "SwiftTarget",
      "name" : "iOverlay",
      "path" : "Sources/iOverlay",
      "product_dependencies" : [
        "iFixFloat",
        "iShape",
        "iTree"
      ],
      "product_memberships" : [
        "iOverlay"
      ],
      "sources" : [
        "Array.swift",
        "Bind/IdSegment.swift",
        "Bind/ScanBindList.swift",
        "Bind/ScanBindTree.swift",
        "Bind/ShapeBinder.swift",
        "Core/CGOverlay.swift",
        "Core/CGOverlayGraph.swift",
        "Core/Divide.swift",
        "Core/FillRule.swift",
        "Core/Filter.swift",
        "Core/Overlay.swift",
        "Core/OverlayGraph+Extract.swift",
        "Core/OverlayGraph.swift",
        "Core/OverlayLink.swift",
        "Core/OverlayNode.swift",
        "Core/OverlayRule.swift",
        "Core/Simplify.swift",
        "Core/Solver.swift",
        "Fill/CountSegment.swift",
        "Fill/ScanFillList.swift",
        "Fill/ScanFillTree.swift",
        "Fill/Segment+Fill.swift",
        "IdPoint.swift",
        "Int.swift",
        "LineRange.swift",
        "Point.swift",
        "Segment/End.swift",
        "Segment/Segment.swift",
        "Segment/ShapeCount.swift",
        "Segment/XSegment.swift",
        "Split/CrossSolver.swift",
        "Split/Fragment.swift",
        "Split/LineMark.swift",
        "Split/SegmentTree.swift",
        "Split/SpaceLayout.swift",
        "Split/SplitSolver+List.swift",
        "Split/SplitSolver+Tree.swift",
        "Split/SplitSolver.swift",
        "Vector/OverlayGraph+ExtractVector.swift",
        "Vector/VectorEdge.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
Done.