Build Information
Successful build of iTriangle, reference main (08509e
), with Swift 6.1 for macOS (SPM) on 30 Apr 2025 00:21:43 UTC.
Swift 6 data race errors: 6
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.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.61.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/iShape-Swift/iTriangle.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/iShape-Swift/iTriangle
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 08509ee fix on border point
Cloned https://github.com/iShape-Swift/iTriangle.git
Revision (git rev-parse @):
08509ee0f096131f116cb40ce4e4bb471d1431eb
SUCCESS checkout https://github.com/iShape-Swift/iTriangle.git at main
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/iShape-Swift/iTriangle.git
https://github.com/iShape-Swift/iTriangle.git
{
"dependencies" : [
{
"identity" : "ifixfloat",
"requirement" : {
"range" : [
{
"lower_bound" : "1.9.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" : "ioverlay",
"requirement" : {
"range" : [
{
"lower_bound" : "1.22.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/iShape-Swift/iOverlay"
}
],
"manifest_display_name" : "iTriangle",
"name" : "iTriangle",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "iTriangle",
"targets" : [
"iTriangle"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "iTriangleTests",
"module_type" : "SwiftTarget",
"name" : "iTriangleTests",
"path" : "Tests/iTriangleTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_0.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_1.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_10.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_11.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_12.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_13.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_14.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_15.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_16.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_17.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_18.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_19.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_2.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_20.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_21.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_22.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_23.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_24.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_25.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_26.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_27.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_28.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_29.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_3.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_30.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_31.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_32.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_33.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_34.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_35.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_36.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_37.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_38.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_39.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_4.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_40.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_41.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_42.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_43.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_44.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_45.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_46.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_47.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_48.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_49.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_5.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_50.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_51.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_52.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_53.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_54.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_55.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_56.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_57.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_58.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_59.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_6.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_60.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_61.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_62.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_63.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_64.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_65.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_66.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_67.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_68.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_69.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_7.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_70.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_71.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_72.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_8.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_9.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"ReadmeTests.swift",
"TriangulationTestBank.swift",
"iConvexTests.swift",
"iTriangleTests.swift"
],
"target_dependencies" : [
"iTriangle"
],
"type" : "test"
},
{
"c99name" : "iTriangle",
"module_type" : "SwiftTarget",
"name" : "iTriangle",
"path" : "Sources/iTriangle",
"product_dependencies" : [
"iFixFloat",
"iShape",
"iOverlay"
],
"product_memberships" : [
"iTriangle"
],
"sources" : [
"Delaunay/Array3d.swift",
"Delaunay/DTriangle.swift",
"Delaunay/DVertex.swift",
"Delaunay/Delaunay+Convex.swift",
"Delaunay/Delaunay.swift",
"Delaunay/IndexBuffer.swift",
"Delaunay/Shape+Delaunay.swift",
"Int.swift",
"Monotone/MNavNode.swift",
"Monotone/MPoly.swift",
"Monotone/MSliceBuffer.swift",
"Monotone/Shape+mLayout.swift",
"Monotone/Shape+nLayout.swift",
"Triangulate/CGShape+Triangulate.swift",
"Triangulate/CGTriangulation.swift",
"Triangulate/Shape+Triangulate.swift",
"Triangulate/Triangulation.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.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/6] Write sources
[5/6] Write swift-version-2F0A5646E1D333AE.txt
[7/21] Compiling iTree TreeNode.swift
[8/21] Compiling iTree NodeStore.swift
[9/21] Compiling iTree Array.swift
[10/21] Compiling iTree RedBlackTree.swift
[11/21] Emitting module iTree
[12/21] Compiling iFixFloat UInt128.swift
[13/22] Emitting module iFixFloat
[14/22] Compiling iFixFloat Triangle.swift
[15/22] Compiling iFixFloat Vec.swift
[16/22] Compiling iFixFloat Rect.swift
[17/22] Compiling iFixFloat Point.swift
[18/22] Compiling iFixFloat FixSin.swift
[19/22] Compiling iFixFloat FixFloat.swift
[20/22] Compiling iFixFloat FixAngle.swift
[21/22] Compiling iFixFloat FixVec.swift
[22/22] Compiling iFixFloat BitPack.swift
[23/32] Emitting module iShape
[24/32] Compiling iShape FixPaths.swift
[25/32] Compiling iShape FixBnd.swift
[26/33] Compiling iShape CGFloat.swift
[27/33] Compiling iShape FixShapes.swift
[28/33] Compiling iShape FixShape.swift
[29/33] Compiling iShape CGPoint.swift
[30/33] Compiling iShape FixPath.swift
[31/33] Compiling iShape Path.swift
[32/33] Compiling iShape Adapter.swift
[33/33] Compiling iShape Shape.swift
[34/70] Emitting module iOverlay
[35/74] Compiling iOverlay Simplify.swift
[36/74] Compiling iOverlay Solver.swift
[37/74] Compiling iOverlay CountSegment.swift
[38/74] Compiling iOverlay ScanFillList.swift
[39/74] Compiling iOverlay OverlayGraph.swift
[40/74] Compiling iOverlay OverlayLink.swift
[41/74] Compiling iOverlay OverlayNode.swift
[42/74] Compiling iOverlay OverlayRule.swift
[43/74] Compiling iOverlay LineRange.swift
[44/74] Compiling iOverlay Point.swift
[45/74] Compiling iOverlay End.swift
[46/74] Compiling iOverlay Segment.swift
[47/74] Compiling iOverlay Array.swift
[48/74] Compiling iOverlay IdSegment.swift
[49/74] Compiling iOverlay ScanBindList.swift
[50/74] Compiling iOverlay ScanBindTree.swift
[51/74] Compiling iOverlay ScanFillTree.swift
[52/74] Compiling iOverlay Segment+Fill.swift
[53/74] Compiling iOverlay IdPoint.swift
[54/74] Compiling iOverlay Int.swift
[55/74] Compiling iOverlay ShapeBinder.swift
[56/74] Compiling iOverlay CGOverlay.swift
[57/74] Compiling iOverlay CGOverlayGraph.swift
[58/74] Compiling iOverlay Divide.swift
[59/74] Compiling iOverlay FillRule.swift
[60/74] Compiling iOverlay Filter.swift
[61/74] Compiling iOverlay Overlay.swift
[62/74] Compiling iOverlay OverlayGraph+Extract.swift
[63/74] Compiling iOverlay ShapeCount.swift
[64/74] Compiling iOverlay XSegment.swift
[65/74] Compiling iOverlay CrossSolver.swift
[66/74] Compiling iOverlay Fragment.swift
[67/74] Compiling iOverlay LineMark.swift
[68/74] Compiling iOverlay SegmentTree.swift
[69/74] Compiling iOverlay SpaceLayout.swift
[70/74] Compiling iOverlay SplitSolver+List.swift
[71/74] Compiling iOverlay SplitSolver+Tree.swift
[72/74] Compiling iOverlay SplitSolver.swift
[73/74] Compiling iOverlay OverlayGraph+ExtractVector.swift
[74/74] Compiling iOverlay VectorEdge.swift
[75/91] Compiling iTriangle Shape+Triangulate.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Delaunay/Delaunay.swift:15:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
13 | private var buffer: UnsafeMutablePointer<Int>
14 | private var capacity: Int
15 | private (set) var count: Int
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
16 |
17 | subscript(index: Int) -> Int {
[76/92] Compiling iTriangle MNavNode.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/MNavNode.swift:14:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MNavNode' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | @usableFromInline
11 | struct MNavNode {
| `- note: consider making struct 'MNavNode' conform to the 'Sendable' protocol
12 |
13 | @usableFromInline
14 | static let empty = MNavNode(next: .empty, index: .empty, prev: .empty, vert: .empty)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MNavNode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | @usableFromInline
[77/92] Compiling iTriangle MPoly.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/MNavNode.swift:14:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MNavNode' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | @usableFromInline
11 | struct MNavNode {
| `- note: consider making struct 'MNavNode' conform to the 'Sendable' protocol
12 |
13 | @usableFromInline
14 | static let empty = MNavNode(next: .empty, index: .empty, prev: .empty, vert: .empty)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MNavNode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | @usableFromInline
[78/92] Compiling iTriangle Array3d.swift
[79/92] Compiling iTriangle DTriangle.swift
[80/92] Emitting module iTriangle
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Delaunay/DVertex.swift:25:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'DVertex' may have shared mutable state; this is an error in the Swift 6 language mode
21 | }
22 |
23 | public struct DVertex {
| `- note: consider making struct 'DVertex' conform to the 'Sendable' protocol
24 |
25 | public static let empty = DVertex(index: .empty, point: .zero, type: .origin)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'DVertex' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | public let index: Int
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Delaunay/Delaunay.swift:15:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
13 | private var buffer: UnsafeMutablePointer<Int>
14 | private var capacity: Int
15 | private (set) var count: Int
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
16 |
17 | subscript(index: Int) -> Int {
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/MNavNode.swift:14:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MNavNode' may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | @usableFromInline
11 | struct MNavNode {
| `- note: consider making struct 'MNavNode' conform to the 'Sendable' protocol
12 |
13 | @usableFromInline
14 | static let empty = MNavNode(next: .empty, index: .empty, prev: .empty, vert: .empty)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MNavNode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 | @usableFromInline
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/Shape+mLayout.swift:18:16: warning: static property 'fail' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
15 | }
16 |
17 | struct MLayout {
| `- note: consider making struct 'MLayout' conform to the 'Sendable' protocol
18 | static let fail = MLayout(startList: [], navNodes: [], sliceList: [], status: .fail)
| |- warning: static property 'fail' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fail' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | static let empty = MLayout(startList: [], navNodes: [], sliceList: [], status: .empty)
20 |
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/Shape+mLayout.swift:19:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
15 | }
16 |
17 | struct MLayout {
| `- note: consider making struct 'MLayout' conform to the 'Sendable' protocol
18 | static let fail = MLayout(startList: [], navNodes: [], sliceList: [], status: .fail)
19 | static let empty = MLayout(startList: [], navNodes: [], sliceList: [], status: .empty)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | let startList: [Int]
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/Shape+nLayout.swift:23:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MSpecialNode' may have shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | @usableFromInline
20 | struct MSpecialNode {
| `- note: consider making struct 'MSpecialNode' conform to the 'Sendable' protocol
21 |
22 | @usableFromInline
23 | static let empty = MSpecialNode(index: .empty, type: .start, sort: .zero)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MSpecialNode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |
25 | @usableFromInline
[81/92] Compiling iTriangle DVertex.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Delaunay/DVertex.swift:25:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'DVertex' may have shared mutable state; this is an error in the Swift 6 language mode
21 | }
22 |
23 | public struct DVertex {
| `- note: consider making struct 'DVertex' conform to the 'Sendable' protocol
24 |
25 | public static let empty = DVertex(index: .empty, point: .zero, type: .origin)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'DVertex' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | public let index: Int
[82/92] Compiling iTriangle Delaunay+Convex.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Delaunay/DVertex.swift:25:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'DVertex' may have shared mutable state; this is an error in the Swift 6 language mode
21 | }
22 |
23 | public struct DVertex {
| `- note: consider making struct 'DVertex' conform to the 'Sendable' protocol
24 |
25 | public static let empty = DVertex(index: .empty, point: .zero, type: .origin)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'DVertex' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 | public let index: Int
[83/92] Compiling iTriangle Delaunay.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Delaunay/Delaunay.swift:15:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
13 | private var buffer: UnsafeMutablePointer<Int>
14 | private var capacity: Int
15 | private (set) var count: Int
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
16 |
17 | subscript(index: Int) -> Int {
[84/92] Compiling iTriangle IndexBuffer.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Delaunay/Delaunay.swift:15:12: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
13 | private var buffer: UnsafeMutablePointer<Int>
14 | private var capacity: Int
15 | private (set) var count: Int
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
16 |
17 | subscript(index: Int) -> Int {
[85/92] Compiling iTriangle Shape+Delaunay.swift
[86/92] Compiling iTriangle Int.swift
[87/92] Compiling iTriangle Triangulation.swift
[88/92] Compiling iTriangle MSliceBuffer.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/Shape+mLayout.swift:18:16: warning: static property 'fail' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
15 | }
16 |
17 | struct MLayout {
| `- note: consider making struct 'MLayout' conform to the 'Sendable' protocol
18 | static let fail = MLayout(startList: [], navNodes: [], sliceList: [], status: .fail)
| |- warning: static property 'fail' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fail' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | static let empty = MLayout(startList: [], navNodes: [], sliceList: [], status: .empty)
20 |
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/Shape+mLayout.swift:19:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
15 | }
16 |
17 | struct MLayout {
| `- note: consider making struct 'MLayout' conform to the 'Sendable' protocol
18 | static let fail = MLayout(startList: [], navNodes: [], sliceList: [], status: .fail)
19 | static let empty = MLayout(startList: [], navNodes: [], sliceList: [], status: .empty)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | let startList: [Int]
[89/92] Compiling iTriangle Shape+mLayout.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/Shape+mLayout.swift:18:16: warning: static property 'fail' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
15 | }
16 |
17 | struct MLayout {
| `- note: consider making struct 'MLayout' conform to the 'Sendable' protocol
18 | static let fail = MLayout(startList: [], navNodes: [], sliceList: [], status: .fail)
| |- warning: static property 'fail' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'fail' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | static let empty = MLayout(startList: [], navNodes: [], sliceList: [], status: .empty)
20 |
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/Shape+mLayout.swift:19:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
15 | }
16 |
17 | struct MLayout {
| `- note: consider making struct 'MLayout' conform to the 'Sendable' protocol
18 | static let fail = MLayout(startList: [], navNodes: [], sliceList: [], status: .fail)
19 | static let empty = MLayout(startList: [], navNodes: [], sliceList: [], status: .empty)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MLayout' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | let startList: [Int]
[90/92] Compiling iTriangle CGTriangulation.swift
[91/92] Compiling iTriangle Shape+nLayout.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/Shape+nLayout.swift:23:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MSpecialNode' may have shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | @usableFromInline
20 | struct MSpecialNode {
| `- note: consider making struct 'MSpecialNode' conform to the 'Sendable' protocol
21 |
22 | @usableFromInline
23 | static let empty = MSpecialNode(index: .empty, type: .start, sort: .zero)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MSpecialNode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |
25 | @usableFromInline
[92/92] Compiling iTriangle CGShape+Triangulate.swift
/Users/admin/builder/spi-builder-workspace/Sources/iTriangle/Monotone/Shape+nLayout.swift:23:16: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MSpecialNode' may have shared mutable state; this is an error in the Swift 6 language mode
18 |
19 | @usableFromInline
20 | struct MSpecialNode {
| `- note: consider making struct 'MSpecialNode' conform to the 'Sendable' protocol
21 |
22 | @usableFromInline
23 | static let empty = MSpecialNode(index: .empty, type: .start, sort: .zero)
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'MSpecialNode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 |
25 | @usableFromInline
Build complete! (14.84s)
Fetching https://github.com/iShape-Swift/iOverlay
Fetching https://github.com/iShape-Swift/iFixFloat
Fetching https://github.com/iShape-Swift/iShape
[1/437] Fetching ishape
[124/632] Fetching ishape, ifixfloat
[139/4205] Fetching ishape, ifixfloat, ioverlay
Fetched https://github.com/iShape-Swift/iFixFloat from cache (1.08s)
Fetched https://github.com/iShape-Swift/iShape from cache (1.08s)
Fetched https://github.com/iShape-Swift/iOverlay from cache (1.08s)
Computing version for https://github.com/iShape-Swift/iOverlay
Computed https://github.com/iShape-Swift/iOverlay at 1.22.0 (1.56s)
Fetching https://github.com/iShape-Swift/iTree
[1/204] Fetching itree
Fetched https://github.com/iShape-Swift/iTree from cache (0.77s)
Computing version for https://github.com/iShape-Swift/iShape
Computed https://github.com/iShape-Swift/iShape at 1.13.0 (1.69s)
Computing version for https://github.com/iShape-Swift/iFixFloat
Computed https://github.com/iShape-Swift/iFixFloat at 1.9.0 (0.47s)
Computing version for https://github.com/iShape-Swift/iTree
Computed https://github.com/iShape-Swift/iTree at 0.5.0 (0.47s)
Creating working copy for https://github.com/iShape-Swift/iOverlay
Working copy of https://github.com/iShape-Swift/iOverlay resolved at 1.22.0
Creating working copy for https://github.com/iShape-Swift/iFixFloat
Working copy of https://github.com/iShape-Swift/iFixFloat resolved at 1.9.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
Build complete.
{
"dependencies" : [
{
"identity" : "ifixfloat",
"requirement" : {
"range" : [
{
"lower_bound" : "1.9.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" : "ioverlay",
"requirement" : {
"range" : [
{
"lower_bound" : "1.22.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/iShape-Swift/iOverlay"
}
],
"manifest_display_name" : "iTriangle",
"name" : "iTriangle",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "iTriangle",
"targets" : [
"iTriangle"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "iTriangleTests",
"module_type" : "SwiftTarget",
"name" : "iTriangleTests",
"path" : "Tests/iTriangleTests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_0.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_1.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_10.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_11.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_12.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_13.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_14.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_15.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_16.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_17.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_18.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_19.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_2.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_20.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_21.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_22.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_23.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_24.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_25.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_26.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_27.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_28.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_29.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_3.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_30.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_31.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_32.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_33.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_34.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_35.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_36.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_37.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_38.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_39.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_4.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_40.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_41.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_42.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_43.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_44.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_45.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_46.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_47.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_48.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_49.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_5.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_50.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_51.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_52.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_53.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_54.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_55.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_56.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_57.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_58.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_59.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_6.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_60.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_61.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_62.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_63.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_64.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_65.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_66.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_67.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_68.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_69.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_7.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_70.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_71.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_72.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_8.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/iTriangleTests/Triangulation/triangle_test_9.json",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"ReadmeTests.swift",
"TriangulationTestBank.swift",
"iConvexTests.swift",
"iTriangleTests.swift"
],
"target_dependencies" : [
"iTriangle"
],
"type" : "test"
},
{
"c99name" : "iTriangle",
"module_type" : "SwiftTarget",
"name" : "iTriangle",
"path" : "Sources/iTriangle",
"product_dependencies" : [
"iFixFloat",
"iShape",
"iOverlay"
],
"product_memberships" : [
"iTriangle"
],
"sources" : [
"Delaunay/Array3d.swift",
"Delaunay/DTriangle.swift",
"Delaunay/DVertex.swift",
"Delaunay/Delaunay+Convex.swift",
"Delaunay/Delaunay.swift",
"Delaunay/IndexBuffer.swift",
"Delaunay/Shape+Delaunay.swift",
"Int.swift",
"Monotone/MNavNode.swift",
"Monotone/MPoly.swift",
"Monotone/MSliceBuffer.swift",
"Monotone/Shape+mLayout.swift",
"Monotone/Shape+nLayout.swift",
"Triangulate/CGShape+Triangulate.swift",
"Triangulate/CGTriangulation.swift",
"Triangulate/Shape+Triangulate.swift",
"Triangulate/Triangulation.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8"
}
Done.