The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of Euclid, reference 0.7.14 (028924), with Swift 6.1 for macOS (SPM) on 25 May 2025 22:43:30 UTC.

Swift 6 data race errors: 2

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.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/nicklockwood/Euclid.git
Reference: 0.7.14
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/nicklockwood/Euclid
 * tag               0.7.14     -> FETCH_HEAD
HEAD is now at 028924d Update for 0.7.14 release
Cloned https://github.com/nicklockwood/Euclid.git
Revision (git rev-parse @):
028924db01786e58f79f8b30b8fbfffd7887ca82
SUCCESS checkout https://github.com/nicklockwood/Euclid.git at 0.7.14
========================================
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": "euclid",
      "name": "Euclid",
      "url": "https://github.com/nicklockwood/Euclid.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Euclid",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/nicklockwood/Euclid.git
[1/10696] Fetching euclid
Fetched https://github.com/nicklockwood/Euclid.git from cache (2.16s)
Creating working copy for https://github.com/nicklockwood/Euclid.git
Working copy of https://github.com/nicklockwood/Euclid.git resolved at 0.7.14 (028924d)
warning: '.resolve-product-dependencies': dependency 'euclid' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/nicklockwood/Euclid.git
https://github.com/nicklockwood/Euclid.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Euclid",
  "name" : "Euclid",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Euclid",
      "targets" : [
        "Euclid"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "EuclidTests",
      "module_type" : "SwiftTarget",
      "name" : "EuclidTests",
      "path" : "Tests",
      "sources" : [
        "AngleTests.swift",
        "BoundsTests.swift",
        "CGPathTests.swift",
        "CodingTests.swift",
        "Euclid+Testing.swift",
        "LineSegmentTests.swift",
        "LineTests.swift",
        "MeshCSGTests.swift",
        "MeshExportTests.swift",
        "MeshImportTests.swift",
        "MeshShapeTests.swift",
        "MeshTests.swift",
        "MetadataTests.swift",
        "PathShapeTests.swift",
        "PathTests.swift",
        "PlaneTests.swift",
        "PolygonCSGTests.swift",
        "PolygonTests.swift",
        "QuaternionTests.swift",
        "RealityKitTests.swift",
        "SceneKitTests.swift",
        "StretchableTests.swift",
        "TextTests.swift",
        "TransformTests.swift",
        "UtilityTests.swift",
        "VectorTests.swift"
      ],
      "target_dependencies" : [
        "Euclid"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Euclid",
      "module_type" : "SwiftTarget",
      "name" : "Euclid",
      "path" : "Sources",
      "product_memberships" : [
        "Euclid"
      ],
      "sources" : [
        "Angle.swift",
        "BSP.swift",
        "Bounded.swift",
        "Bounds.swift",
        "Color.swift",
        "Euclid+AppKit.swift",
        "Euclid+CoreGraphics.swift",
        "Euclid+CoreText.swift",
        "Euclid+RealityKit.swift",
        "Euclid+SIMD.swift",
        "Euclid+SceneKit.swift",
        "Euclid+UIKit.swift",
        "Line.swift",
        "LineSegment+CSG.swift",
        "LineSegment.swift",
        "Mesh+CSG.swift",
        "Mesh+IO.swift",
        "Mesh+OBJ.swift",
        "Mesh+STL.swift",
        "Mesh+Shapes.swift",
        "Mesh+Texcoords.swift",
        "Mesh.swift",
        "Path+Shapes.swift",
        "Path.swift",
        "PathPoint.swift",
        "Plane.swift",
        "Polygon+CSG.swift",
        "Polygon.swift",
        "Quaternion.swift",
        "Rotation.swift",
        "Stretchable.swift",
        "Transforms.swift",
        "Utilities.swift",
        "Vector.swift",
        "Vertex.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/35] Emitting module Euclid
/Users/admin/builder/spi-builder-workspace/Sources/Polygon.swift:122:16: warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 120 |
 121 |     /// Supported `NSSecureCodable` Material base classes.
 122 |     static var codableClasses: [AnyClass] = {
     |                |- warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                |- note: convert 'codableClasses' to a 'let' constant to make 'Sendable' shared state immutable
     |                |- note: add '@MainActor' to make static property 'codableClasses' part of global actor 'MainActor'
     |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 123 |         #if canImport(AppKit) || canImport(UIKit)
 124 |         return [OSImage.self, OSColor.self] + scnMaterialTypes
/Users/admin/builder/spi-builder-workspace/Sources/Transforms.swift:215:16: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
123 | /// Working with intermediate transform objects instead of directly updating the vertex positions of a mesh
124 | /// is more efficient and avoids a buildup of rounding errors.
125 | public struct Transform: Hashable {
    |               `- note: consider making struct 'Transform' conform to the 'Sendable' protocol
126 |     /// The translation or position component of the transform.
127 |     public var offset: Vector
    :
213 | public extension Transform {
214 |     /// The identity transform (i.e. no transform).
215 |     static let identity = Transform()
    |                |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'identity' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 |     /// Creates a offset transform.
[4/38] Compiling Euclid Line.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mesh+CSG.swift:591:17: warning: capture of 'op1' with non-sendable type '() -> Void' in a '@Sendable' closure
589 |     DispatchQueue.concurrentPerform(iterations: 2) { index in
590 |         switch index {
591 |         case 0: op1()
    |                 |- warning: capture of 'op1' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
592 |         default: op2()
593 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Mesh+CSG.swift:592:18: warning: capture of 'op2' with non-sendable type '() -> Void' in a '@Sendable' closure
590 |         switch index {
591 |         case 0: op1()
592 |         default: op2()
    |                  |- warning: capture of 'op2' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
593 |         }
594 |     }
[5/38] Compiling Euclid LineSegment+CSG.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mesh+CSG.swift:591:17: warning: capture of 'op1' with non-sendable type '() -> Void' in a '@Sendable' closure
589 |     DispatchQueue.concurrentPerform(iterations: 2) { index in
590 |         switch index {
591 |         case 0: op1()
    |                 |- warning: capture of 'op1' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
592 |         default: op2()
593 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Mesh+CSG.swift:592:18: warning: capture of 'op2' with non-sendable type '() -> Void' in a '@Sendable' closure
590 |         switch index {
591 |         case 0: op1()
592 |         default: op2()
    |                  |- warning: capture of 'op2' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
593 |         }
594 |     }
[6/38] Compiling Euclid LineSegment.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mesh+CSG.swift:591:17: warning: capture of 'op1' with non-sendable type '() -> Void' in a '@Sendable' closure
589 |     DispatchQueue.concurrentPerform(iterations: 2) { index in
590 |         switch index {
591 |         case 0: op1()
    |                 |- warning: capture of 'op1' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
592 |         default: op2()
593 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Mesh+CSG.swift:592:18: warning: capture of 'op2' with non-sendable type '() -> Void' in a '@Sendable' closure
590 |         switch index {
591 |         case 0: op1()
592 |         default: op2()
    |                  |- warning: capture of 'op2' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
593 |         }
594 |     }
[7/38] Compiling Euclid Mesh+CSG.swift
/Users/admin/builder/spi-builder-workspace/Sources/Mesh+CSG.swift:591:17: warning: capture of 'op1' with non-sendable type '() -> Void' in a '@Sendable' closure
589 |     DispatchQueue.concurrentPerform(iterations: 2) { index in
590 |         switch index {
591 |         case 0: op1()
    |                 |- warning: capture of 'op1' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
592 |         default: op2()
593 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Mesh+CSG.swift:592:18: warning: capture of 'op2' with non-sendable type '() -> Void' in a '@Sendable' closure
590 |         switch index {
591 |         case 0: op1()
592 |         default: op2()
    |                  |- warning: capture of 'op2' with non-sendable type '() -> Void' in a '@Sendable' closure
    |                  `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
593 |         }
594 |     }
[8/38] Compiling Euclid Angle.swift
[9/38] Compiling Euclid BSP.swift
[10/38] Compiling Euclid Bounded.swift
[11/38] Compiling Euclid Bounds.swift
[12/38] Compiling Euclid Polygon+CSG.swift
/Users/admin/builder/spi-builder-workspace/Sources/Polygon.swift:122:16: warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 120 |
 121 |     /// Supported `NSSecureCodable` Material base classes.
 122 |     static var codableClasses: [AnyClass] = {
     |                |- warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                |- note: convert 'codableClasses' to a 'let' constant to make 'Sendable' shared state immutable
     |                |- note: add '@MainActor' to make static property 'codableClasses' part of global actor 'MainActor'
     |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 123 |         #if canImport(AppKit) || canImport(UIKit)
 124 |         return [OSImage.self, OSColor.self] + scnMaterialTypes
[13/38] Compiling Euclid Polygon.swift
/Users/admin/builder/spi-builder-workspace/Sources/Polygon.swift:122:16: warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 120 |
 121 |     /// Supported `NSSecureCodable` Material base classes.
 122 |     static var codableClasses: [AnyClass] = {
     |                |- warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                |- note: convert 'codableClasses' to a 'let' constant to make 'Sendable' shared state immutable
     |                |- note: add '@MainActor' to make static property 'codableClasses' part of global actor 'MainActor'
     |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 123 |         #if canImport(AppKit) || canImport(UIKit)
 124 |         return [OSImage.self, OSColor.self] + scnMaterialTypes
[14/38] Compiling Euclid Quaternion.swift
/Users/admin/builder/spi-builder-workspace/Sources/Polygon.swift:122:16: warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 120 |
 121 |     /// Supported `NSSecureCodable` Material base classes.
 122 |     static var codableClasses: [AnyClass] = {
     |                |- warning: static property 'codableClasses' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
     |                |- note: convert 'codableClasses' to a 'let' constant to make 'Sendable' shared state immutable
     |                |- note: add '@MainActor' to make static property 'codableClasses' part of global actor 'MainActor'
     |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 123 |         #if canImport(AppKit) || canImport(UIKit)
 124 |         return [OSImage.self, OSColor.self] + scnMaterialTypes
[15/38] Compiling Euclid Rotation.swift
/Users/admin/builder/spi-builder-workspace/Sources/Transforms.swift:215:16: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
123 | /// Working with intermediate transform objects instead of directly updating the vertex positions of a mesh
124 | /// is more efficient and avoids a buildup of rounding errors.
125 | public struct Transform: Hashable {
    |               `- note: consider making struct 'Transform' conform to the 'Sendable' protocol
126 |     /// The translation or position component of the transform.
127 |     public var offset: Vector
    :
213 | public extension Transform {
214 |     /// The identity transform (i.e. no transform).
215 |     static let identity = Transform()
    |                |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'identity' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 |     /// Creates a offset transform.
[16/38] Compiling Euclid Stretchable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Transforms.swift:215:16: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
123 | /// Working with intermediate transform objects instead of directly updating the vertex positions of a mesh
124 | /// is more efficient and avoids a buildup of rounding errors.
125 | public struct Transform: Hashable {
    |               `- note: consider making struct 'Transform' conform to the 'Sendable' protocol
126 |     /// The translation or position component of the transform.
127 |     public var offset: Vector
    :
213 | public extension Transform {
214 |     /// The identity transform (i.e. no transform).
215 |     static let identity = Transform()
    |                |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'identity' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 |     /// Creates a offset transform.
[17/38] Compiling Euclid Transforms.swift
/Users/admin/builder/spi-builder-workspace/Sources/Transforms.swift:215:16: warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
123 | /// Working with intermediate transform objects instead of directly updating the vertex positions of a mesh
124 | /// is more efficient and avoids a buildup of rounding errors.
125 | public struct Transform: Hashable {
    |               `- note: consider making struct 'Transform' conform to the 'Sendable' protocol
126 |     /// The translation or position component of the transform.
127 |     public var offset: Vector
    :
213 | public extension Transform {
214 |     /// The identity transform (i.e. no transform).
215 |     static let identity = Transform()
    |                |- warning: static property 'identity' is not concurrency-safe because non-'Sendable' type 'Transform' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'identity' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
216 |
217 |     /// Creates a offset transform.
[18/38] Compiling Euclid Utilities.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:744:22: warning: capture of 'fn' with non-sendable type '([T]) -> [U]' in a '@Sendable' closure
742 |     var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x: [U]?
743 |     DispatchQueue.concurrentPerform(iterations: parts.count) { index in
744 |         let result = fn(parts[index])
    |                      |- warning: capture of 'fn' with non-sendable type '([T]) -> [U]' in a '@Sendable' closure
    |                      `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
745 |         switch index {
746 |         case 0: a = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:744:25: warning: capture of 'parts' with non-sendable type '[[T]]' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
742 |     var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x: [U]?
743 |     DispatchQueue.concurrentPerform(iterations: parts.count) { index in
744 |         let result = fn(parts[index])
    |                         `- warning: capture of 'parts' with non-sendable type '[[T]]' in a '@Sendable' closure
745 |         switch index {
746 |         case 0: a = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:746:17: warning: capture of 'a' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
744 |         let result = fn(parts[index])
745 |         switch index {
746 |         case 0: a = result
    |                 `- warning: capture of 'a' with non-sendable type '[U]?' in a '@Sendable' closure
747 |         case 1: b = result
748 |         case 2: c = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:747:17: warning: capture of 'b' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
745 |         switch index {
746 |         case 0: a = result
747 |         case 1: b = result
    |                 `- warning: capture of 'b' with non-sendable type '[U]?' in a '@Sendable' closure
748 |         case 2: c = result
749 |         case 3: d = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:748:17: warning: capture of 'c' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
746 |         case 0: a = result
747 |         case 1: b = result
748 |         case 2: c = result
    |                 `- warning: capture of 'c' with non-sendable type '[U]?' in a '@Sendable' closure
749 |         case 3: d = result
750 |         case 4: e = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:749:17: warning: capture of 'd' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
747 |         case 1: b = result
748 |         case 2: c = result
749 |         case 3: d = result
    |                 `- warning: capture of 'd' with non-sendable type '[U]?' in a '@Sendable' closure
750 |         case 4: e = result
751 |         case 5: f = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:750:17: warning: capture of 'e' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
748 |         case 2: c = result
749 |         case 3: d = result
750 |         case 4: e = result
    |                 `- warning: capture of 'e' with non-sendable type '[U]?' in a '@Sendable' closure
751 |         case 5: f = result
752 |         case 6: g = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:751:17: warning: capture of 'f' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
749 |         case 3: d = result
750 |         case 4: e = result
751 |         case 5: f = result
    |                 `- warning: capture of 'f' with non-sendable type '[U]?' in a '@Sendable' closure
752 |         case 6: g = result
753 |         case 7: h = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:752:17: warning: capture of 'g' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
750 |         case 4: e = result
751 |         case 5: f = result
752 |         case 6: g = result
    |                 `- warning: capture of 'g' with non-sendable type '[U]?' in a '@Sendable' closure
753 |         case 7: h = result
754 |         case 8: i = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:753:17: warning: capture of 'h' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
751 |         case 5: f = result
752 |         case 6: g = result
753 |         case 7: h = result
    |                 `- warning: capture of 'h' with non-sendable type '[U]?' in a '@Sendable' closure
754 |         case 8: i = result
755 |         case 9: j = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:754:17: warning: capture of 'i' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
752 |         case 6: g = result
753 |         case 7: h = result
754 |         case 8: i = result
    |                 `- warning: capture of 'i' with non-sendable type '[U]?' in a '@Sendable' closure
755 |         case 9: j = result
756 |         case 10: k = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:755:17: warning: capture of 'j' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
753 |         case 7: h = result
754 |         case 8: i = result
755 |         case 9: j = result
    |                 `- warning: capture of 'j' with non-sendable type '[U]?' in a '@Sendable' closure
756 |         case 10: k = result
757 |         case 11: l = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:756:18: warning: capture of 'k' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
754 |         case 8: i = result
755 |         case 9: j = result
756 |         case 10: k = result
    |                  `- warning: capture of 'k' with non-sendable type '[U]?' in a '@Sendable' closure
757 |         case 11: l = result
758 |         case 12: m = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:757:18: warning: capture of 'l' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
755 |         case 9: j = result
756 |         case 10: k = result
757 |         case 11: l = result
    |                  `- warning: capture of 'l' with non-sendable type '[U]?' in a '@Sendable' closure
758 |         case 12: m = result
759 |         case 13: n = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:758:18: warning: capture of 'm' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
756 |         case 10: k = result
757 |         case 11: l = result
758 |         case 12: m = result
    |                  `- warning: capture of 'm' with non-sendable type '[U]?' in a '@Sendable' closure
759 |         case 13: n = result
760 |         case 14: o = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:759:18: warning: capture of 'n' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
757 |         case 11: l = result
758 |         case 12: m = result
759 |         case 13: n = result
    |                  `- warning: capture of 'n' with non-sendable type '[U]?' in a '@Sendable' closure
760 |         case 14: o = result
761 |         case 15: p = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:760:18: warning: capture of 'o' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
758 |         case 12: m = result
759 |         case 13: n = result
760 |         case 14: o = result
    |                  `- warning: capture of 'o' with non-sendable type '[U]?' in a '@Sendable' closure
761 |         case 15: p = result
762 |         case 16: q = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:761:18: warning: capture of 'p' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
759 |         case 13: n = result
760 |         case 14: o = result
761 |         case 15: p = result
    |                  `- warning: capture of 'p' with non-sendable type '[U]?' in a '@Sendable' closure
762 |         case 16: q = result
763 |         case 17: r = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:762:18: warning: capture of 'q' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
760 |         case 14: o = result
761 |         case 15: p = result
762 |         case 16: q = result
    |                  `- warning: capture of 'q' with non-sendable type '[U]?' in a '@Sendable' closure
763 |         case 17: r = result
764 |         case 18: s = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:763:18: warning: capture of 'r' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
761 |         case 15: p = result
762 |         case 16: q = result
763 |         case 17: r = result
    |                  `- warning: capture of 'r' with non-sendable type '[U]?' in a '@Sendable' closure
764 |         case 18: s = result
765 |         case 19: t = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:764:18: warning: capture of 's' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
762 |         case 16: q = result
763 |         case 17: r = result
764 |         case 18: s = result
    |                  `- warning: capture of 's' with non-sendable type '[U]?' in a '@Sendable' closure
765 |         case 19: t = result
766 |         case 20: u = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:765:18: warning: capture of 't' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
763 |         case 17: r = result
764 |         case 18: s = result
765 |         case 19: t = result
    |                  `- warning: capture of 't' with non-sendable type '[U]?' in a '@Sendable' closure
766 |         case 20: u = result
767 |         case 21: v = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:766:18: warning: capture of 'u' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
764 |         case 18: s = result
765 |         case 19: t = result
766 |         case 20: u = result
    |                  `- warning: capture of 'u' with non-sendable type '[U]?' in a '@Sendable' closure
767 |         case 21: v = result
768 |         case 22: w = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:767:18: warning: capture of 'v' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
765 |         case 19: t = result
766 |         case 20: u = result
767 |         case 21: v = result
    |                  `- warning: capture of 'v' with non-sendable type '[U]?' in a '@Sendable' closure
768 |         case 22: w = result
769 |         case 23: x = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:768:18: warning: capture of 'w' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
766 |         case 20: u = result
767 |         case 21: v = result
768 |         case 22: w = result
    |                  `- warning: capture of 'w' with non-sendable type '[U]?' in a '@Sendable' closure
769 |         case 23: x = result
770 |         default: preconditionFailure()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:769:18: warning: capture of 'x' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
767 |         case 21: v = result
768 |         case 22: w = result
769 |         case 23: x = result
    |                  `- warning: capture of 'x' with non-sendable type '[U]?' in a '@Sendable' closure
770 |         default: preconditionFailure()
771 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:746:17: warning: mutation of captured var 'a' in concurrently-executing code
744 |         let result = fn(parts[index])
745 |         switch index {
746 |         case 0: a = result
    |                 `- warning: mutation of captured var 'a' in concurrently-executing code
747 |         case 1: b = result
748 |         case 2: c = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:747:17: warning: mutation of captured var 'b' in concurrently-executing code
745 |         switch index {
746 |         case 0: a = result
747 |         case 1: b = result
    |                 `- warning: mutation of captured var 'b' in concurrently-executing code
748 |         case 2: c = result
749 |         case 3: d = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:748:17: warning: mutation of captured var 'c' in concurrently-executing code
746 |         case 0: a = result
747 |         case 1: b = result
748 |         case 2: c = result
    |                 `- warning: mutation of captured var 'c' in concurrently-executing code
749 |         case 3: d = result
750 |         case 4: e = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:749:17: warning: mutation of captured var 'd' in concurrently-executing code
747 |         case 1: b = result
748 |         case 2: c = result
749 |         case 3: d = result
    |                 `- warning: mutation of captured var 'd' in concurrently-executing code
750 |         case 4: e = result
751 |         case 5: f = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:750:17: warning: mutation of captured var 'e' in concurrently-executing code
748 |         case 2: c = result
749 |         case 3: d = result
750 |         case 4: e = result
    |                 `- warning: mutation of captured var 'e' in concurrently-executing code
751 |         case 5: f = result
752 |         case 6: g = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:751:17: warning: mutation of captured var 'f' in concurrently-executing code
749 |         case 3: d = result
750 |         case 4: e = result
751 |         case 5: f = result
    |                 `- warning: mutation of captured var 'f' in concurrently-executing code
752 |         case 6: g = result
753 |         case 7: h = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:752:17: warning: mutation of captured var 'g' in concurrently-executing code
750 |         case 4: e = result
751 |         case 5: f = result
752 |         case 6: g = result
    |                 `- warning: mutation of captured var 'g' in concurrently-executing code
753 |         case 7: h = result
754 |         case 8: i = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:753:17: warning: mutation of captured var 'h' in concurrently-executing code
751 |         case 5: f = result
752 |         case 6: g = result
753 |         case 7: h = result
    |                 `- warning: mutation of captured var 'h' in concurrently-executing code
754 |         case 8: i = result
755 |         case 9: j = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:754:17: warning: mutation of captured var 'i' in concurrently-executing code
752 |         case 6: g = result
753 |         case 7: h = result
754 |         case 8: i = result
    |                 `- warning: mutation of captured var 'i' in concurrently-executing code
755 |         case 9: j = result
756 |         case 10: k = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:755:17: warning: mutation of captured var 'j' in concurrently-executing code
753 |         case 7: h = result
754 |         case 8: i = result
755 |         case 9: j = result
    |                 `- warning: mutation of captured var 'j' in concurrently-executing code
756 |         case 10: k = result
757 |         case 11: l = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:756:18: warning: mutation of captured var 'k' in concurrently-executing code
754 |         case 8: i = result
755 |         case 9: j = result
756 |         case 10: k = result
    |                  `- warning: mutation of captured var 'k' in concurrently-executing code
757 |         case 11: l = result
758 |         case 12: m = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:757:18: warning: mutation of captured var 'l' in concurrently-executing code
755 |         case 9: j = result
756 |         case 10: k = result
757 |         case 11: l = result
    |                  `- warning: mutation of captured var 'l' in concurrently-executing code
758 |         case 12: m = result
759 |         case 13: n = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:758:18: warning: mutation of captured var 'm' in concurrently-executing code
756 |         case 10: k = result
757 |         case 11: l = result
758 |         case 12: m = result
    |                  `- warning: mutation of captured var 'm' in concurrently-executing code
759 |         case 13: n = result
760 |         case 14: o = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:759:18: warning: mutation of captured var 'n' in concurrently-executing code
757 |         case 11: l = result
758 |         case 12: m = result
759 |         case 13: n = result
    |                  `- warning: mutation of captured var 'n' in concurrently-executing code
760 |         case 14: o = result
761 |         case 15: p = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:760:18: warning: mutation of captured var 'o' in concurrently-executing code
758 |         case 12: m = result
759 |         case 13: n = result
760 |         case 14: o = result
    |                  `- warning: mutation of captured var 'o' in concurrently-executing code
761 |         case 15: p = result
762 |         case 16: q = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:761:18: warning: mutation of captured var 'p' in concurrently-executing code
759 |         case 13: n = result
760 |         case 14: o = result
761 |         case 15: p = result
    |                  `- warning: mutation of captured var 'p' in concurrently-executing code
762 |         case 16: q = result
763 |         case 17: r = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:762:18: warning: mutation of captured var 'q' in concurrently-executing code
760 |         case 14: o = result
761 |         case 15: p = result
762 |         case 16: q = result
    |                  `- warning: mutation of captured var 'q' in concurrently-executing code
763 |         case 17: r = result
764 |         case 18: s = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:763:18: warning: mutation of captured var 'r' in concurrently-executing code
761 |         case 15: p = result
762 |         case 16: q = result
763 |         case 17: r = result
    |                  `- warning: mutation of captured var 'r' in concurrently-executing code
764 |         case 18: s = result
765 |         case 19: t = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:764:18: warning: mutation of captured var 's' in concurrently-executing code
762 |         case 16: q = result
763 |         case 17: r = result
764 |         case 18: s = result
    |                  `- warning: mutation of captured var 's' in concurrently-executing code
765 |         case 19: t = result
766 |         case 20: u = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:765:18: warning: mutation of captured var 't' in concurrently-executing code
763 |         case 17: r = result
764 |         case 18: s = result
765 |         case 19: t = result
    |                  `- warning: mutation of captured var 't' in concurrently-executing code
766 |         case 20: u = result
767 |         case 21: v = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:766:18: warning: mutation of captured var 'u' in concurrently-executing code
764 |         case 18: s = result
765 |         case 19: t = result
766 |         case 20: u = result
    |                  `- warning: mutation of captured var 'u' in concurrently-executing code
767 |         case 21: v = result
768 |         case 22: w = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:767:18: warning: mutation of captured var 'v' in concurrently-executing code
765 |         case 19: t = result
766 |         case 20: u = result
767 |         case 21: v = result
    |                  `- warning: mutation of captured var 'v' in concurrently-executing code
768 |         case 22: w = result
769 |         case 23: x = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:768:18: warning: mutation of captured var 'w' in concurrently-executing code
766 |         case 20: u = result
767 |         case 21: v = result
768 |         case 22: w = result
    |                  `- warning: mutation of captured var 'w' in concurrently-executing code
769 |         case 23: x = result
770 |         default: preconditionFailure()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:769:18: warning: mutation of captured var 'x' in concurrently-executing code
767 |         case 21: v = result
768 |         case 22: w = result
769 |         case 23: x = result
    |                  `- warning: mutation of captured var 'x' in concurrently-executing code
770 |         default: preconditionFailure()
771 |         }
[19/38] Compiling Euclid Vector.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:744:22: warning: capture of 'fn' with non-sendable type '([T]) -> [U]' in a '@Sendable' closure
742 |     var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x: [U]?
743 |     DispatchQueue.concurrentPerform(iterations: parts.count) { index in
744 |         let result = fn(parts[index])
    |                      |- warning: capture of 'fn' with non-sendable type '([T]) -> [U]' in a '@Sendable' closure
    |                      `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
745 |         switch index {
746 |         case 0: a = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:744:25: warning: capture of 'parts' with non-sendable type '[[T]]' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
742 |     var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x: [U]?
743 |     DispatchQueue.concurrentPerform(iterations: parts.count) { index in
744 |         let result = fn(parts[index])
    |                         `- warning: capture of 'parts' with non-sendable type '[[T]]' in a '@Sendable' closure
745 |         switch index {
746 |         case 0: a = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:746:17: warning: capture of 'a' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
744 |         let result = fn(parts[index])
745 |         switch index {
746 |         case 0: a = result
    |                 `- warning: capture of 'a' with non-sendable type '[U]?' in a '@Sendable' closure
747 |         case 1: b = result
748 |         case 2: c = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:747:17: warning: capture of 'b' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
745 |         switch index {
746 |         case 0: a = result
747 |         case 1: b = result
    |                 `- warning: capture of 'b' with non-sendable type '[U]?' in a '@Sendable' closure
748 |         case 2: c = result
749 |         case 3: d = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:748:17: warning: capture of 'c' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
746 |         case 0: a = result
747 |         case 1: b = result
748 |         case 2: c = result
    |                 `- warning: capture of 'c' with non-sendable type '[U]?' in a '@Sendable' closure
749 |         case 3: d = result
750 |         case 4: e = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:749:17: warning: capture of 'd' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
747 |         case 1: b = result
748 |         case 2: c = result
749 |         case 3: d = result
    |                 `- warning: capture of 'd' with non-sendable type '[U]?' in a '@Sendable' closure
750 |         case 4: e = result
751 |         case 5: f = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:750:17: warning: capture of 'e' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
748 |         case 2: c = result
749 |         case 3: d = result
750 |         case 4: e = result
    |                 `- warning: capture of 'e' with non-sendable type '[U]?' in a '@Sendable' closure
751 |         case 5: f = result
752 |         case 6: g = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:751:17: warning: capture of 'f' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
749 |         case 3: d = result
750 |         case 4: e = result
751 |         case 5: f = result
    |                 `- warning: capture of 'f' with non-sendable type '[U]?' in a '@Sendable' closure
752 |         case 6: g = result
753 |         case 7: h = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:752:17: warning: capture of 'g' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
750 |         case 4: e = result
751 |         case 5: f = result
752 |         case 6: g = result
    |                 `- warning: capture of 'g' with non-sendable type '[U]?' in a '@Sendable' closure
753 |         case 7: h = result
754 |         case 8: i = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:753:17: warning: capture of 'h' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
751 |         case 5: f = result
752 |         case 6: g = result
753 |         case 7: h = result
    |                 `- warning: capture of 'h' with non-sendable type '[U]?' in a '@Sendable' closure
754 |         case 8: i = result
755 |         case 9: j = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:754:17: warning: capture of 'i' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
752 |         case 6: g = result
753 |         case 7: h = result
754 |         case 8: i = result
    |                 `- warning: capture of 'i' with non-sendable type '[U]?' in a '@Sendable' closure
755 |         case 9: j = result
756 |         case 10: k = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:755:17: warning: capture of 'j' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
753 |         case 7: h = result
754 |         case 8: i = result
755 |         case 9: j = result
    |                 `- warning: capture of 'j' with non-sendable type '[U]?' in a '@Sendable' closure
756 |         case 10: k = result
757 |         case 11: l = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:756:18: warning: capture of 'k' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
754 |         case 8: i = result
755 |         case 9: j = result
756 |         case 10: k = result
    |                  `- warning: capture of 'k' with non-sendable type '[U]?' in a '@Sendable' closure
757 |         case 11: l = result
758 |         case 12: m = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:757:18: warning: capture of 'l' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
755 |         case 9: j = result
756 |         case 10: k = result
757 |         case 11: l = result
    |                  `- warning: capture of 'l' with non-sendable type '[U]?' in a '@Sendable' closure
758 |         case 12: m = result
759 |         case 13: n = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:758:18: warning: capture of 'm' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
756 |         case 10: k = result
757 |         case 11: l = result
758 |         case 12: m = result
    |                  `- warning: capture of 'm' with non-sendable type '[U]?' in a '@Sendable' closure
759 |         case 13: n = result
760 |         case 14: o = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:759:18: warning: capture of 'n' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
757 |         case 11: l = result
758 |         case 12: m = result
759 |         case 13: n = result
    |                  `- warning: capture of 'n' with non-sendable type '[U]?' in a '@Sendable' closure
760 |         case 14: o = result
761 |         case 15: p = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:760:18: warning: capture of 'o' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
758 |         case 12: m = result
759 |         case 13: n = result
760 |         case 14: o = result
    |                  `- warning: capture of 'o' with non-sendable type '[U]?' in a '@Sendable' closure
761 |         case 15: p = result
762 |         case 16: q = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:761:18: warning: capture of 'p' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
759 |         case 13: n = result
760 |         case 14: o = result
761 |         case 15: p = result
    |                  `- warning: capture of 'p' with non-sendable type '[U]?' in a '@Sendable' closure
762 |         case 16: q = result
763 |         case 17: r = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:762:18: warning: capture of 'q' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
760 |         case 14: o = result
761 |         case 15: p = result
762 |         case 16: q = result
    |                  `- warning: capture of 'q' with non-sendable type '[U]?' in a '@Sendable' closure
763 |         case 17: r = result
764 |         case 18: s = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:763:18: warning: capture of 'r' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
761 |         case 15: p = result
762 |         case 16: q = result
763 |         case 17: r = result
    |                  `- warning: capture of 'r' with non-sendable type '[U]?' in a '@Sendable' closure
764 |         case 18: s = result
765 |         case 19: t = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:764:18: warning: capture of 's' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
762 |         case 16: q = result
763 |         case 17: r = result
764 |         case 18: s = result
    |                  `- warning: capture of 's' with non-sendable type '[U]?' in a '@Sendable' closure
765 |         case 19: t = result
766 |         case 20: u = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:765:18: warning: capture of 't' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
763 |         case 17: r = result
764 |         case 18: s = result
765 |         case 19: t = result
    |                  `- warning: capture of 't' with non-sendable type '[U]?' in a '@Sendable' closure
766 |         case 20: u = result
767 |         case 21: v = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:766:18: warning: capture of 'u' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
764 |         case 18: s = result
765 |         case 19: t = result
766 |         case 20: u = result
    |                  `- warning: capture of 'u' with non-sendable type '[U]?' in a '@Sendable' closure
767 |         case 21: v = result
768 |         case 22: w = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:767:18: warning: capture of 'v' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
765 |         case 19: t = result
766 |         case 20: u = result
767 |         case 21: v = result
    |                  `- warning: capture of 'v' with non-sendable type '[U]?' in a '@Sendable' closure
768 |         case 22: w = result
769 |         case 23: x = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:768:18: warning: capture of 'w' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
766 |         case 20: u = result
767 |         case 21: v = result
768 |         case 22: w = result
    |                  `- warning: capture of 'w' with non-sendable type '[U]?' in a '@Sendable' closure
769 |         case 23: x = result
770 |         default: preconditionFailure()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:769:18: warning: capture of 'x' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
767 |         case 21: v = result
768 |         case 22: w = result
769 |         case 23: x = result
    |                  `- warning: capture of 'x' with non-sendable type '[U]?' in a '@Sendable' closure
770 |         default: preconditionFailure()
771 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:746:17: warning: mutation of captured var 'a' in concurrently-executing code
744 |         let result = fn(parts[index])
745 |         switch index {
746 |         case 0: a = result
    |                 `- warning: mutation of captured var 'a' in concurrently-executing code
747 |         case 1: b = result
748 |         case 2: c = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:747:17: warning: mutation of captured var 'b' in concurrently-executing code
745 |         switch index {
746 |         case 0: a = result
747 |         case 1: b = result
    |                 `- warning: mutation of captured var 'b' in concurrently-executing code
748 |         case 2: c = result
749 |         case 3: d = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:748:17: warning: mutation of captured var 'c' in concurrently-executing code
746 |         case 0: a = result
747 |         case 1: b = result
748 |         case 2: c = result
    |                 `- warning: mutation of captured var 'c' in concurrently-executing code
749 |         case 3: d = result
750 |         case 4: e = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:749:17: warning: mutation of captured var 'd' in concurrently-executing code
747 |         case 1: b = result
748 |         case 2: c = result
749 |         case 3: d = result
    |                 `- warning: mutation of captured var 'd' in concurrently-executing code
750 |         case 4: e = result
751 |         case 5: f = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:750:17: warning: mutation of captured var 'e' in concurrently-executing code
748 |         case 2: c = result
749 |         case 3: d = result
750 |         case 4: e = result
    |                 `- warning: mutation of captured var 'e' in concurrently-executing code
751 |         case 5: f = result
752 |         case 6: g = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:751:17: warning: mutation of captured var 'f' in concurrently-executing code
749 |         case 3: d = result
750 |         case 4: e = result
751 |         case 5: f = result
    |                 `- warning: mutation of captured var 'f' in concurrently-executing code
752 |         case 6: g = result
753 |         case 7: h = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:752:17: warning: mutation of captured var 'g' in concurrently-executing code
750 |         case 4: e = result
751 |         case 5: f = result
752 |         case 6: g = result
    |                 `- warning: mutation of captured var 'g' in concurrently-executing code
753 |         case 7: h = result
754 |         case 8: i = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:753:17: warning: mutation of captured var 'h' in concurrently-executing code
751 |         case 5: f = result
752 |         case 6: g = result
753 |         case 7: h = result
    |                 `- warning: mutation of captured var 'h' in concurrently-executing code
754 |         case 8: i = result
755 |         case 9: j = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:754:17: warning: mutation of captured var 'i' in concurrently-executing code
752 |         case 6: g = result
753 |         case 7: h = result
754 |         case 8: i = result
    |                 `- warning: mutation of captured var 'i' in concurrently-executing code
755 |         case 9: j = result
756 |         case 10: k = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:755:17: warning: mutation of captured var 'j' in concurrently-executing code
753 |         case 7: h = result
754 |         case 8: i = result
755 |         case 9: j = result
    |                 `- warning: mutation of captured var 'j' in concurrently-executing code
756 |         case 10: k = result
757 |         case 11: l = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:756:18: warning: mutation of captured var 'k' in concurrently-executing code
754 |         case 8: i = result
755 |         case 9: j = result
756 |         case 10: k = result
    |                  `- warning: mutation of captured var 'k' in concurrently-executing code
757 |         case 11: l = result
758 |         case 12: m = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:757:18: warning: mutation of captured var 'l' in concurrently-executing code
755 |         case 9: j = result
756 |         case 10: k = result
757 |         case 11: l = result
    |                  `- warning: mutation of captured var 'l' in concurrently-executing code
758 |         case 12: m = result
759 |         case 13: n = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:758:18: warning: mutation of captured var 'm' in concurrently-executing code
756 |         case 10: k = result
757 |         case 11: l = result
758 |         case 12: m = result
    |                  `- warning: mutation of captured var 'm' in concurrently-executing code
759 |         case 13: n = result
760 |         case 14: o = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:759:18: warning: mutation of captured var 'n' in concurrently-executing code
757 |         case 11: l = result
758 |         case 12: m = result
759 |         case 13: n = result
    |                  `- warning: mutation of captured var 'n' in concurrently-executing code
760 |         case 14: o = result
761 |         case 15: p = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:760:18: warning: mutation of captured var 'o' in concurrently-executing code
758 |         case 12: m = result
759 |         case 13: n = result
760 |         case 14: o = result
    |                  `- warning: mutation of captured var 'o' in concurrently-executing code
761 |         case 15: p = result
762 |         case 16: q = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:761:18: warning: mutation of captured var 'p' in concurrently-executing code
759 |         case 13: n = result
760 |         case 14: o = result
761 |         case 15: p = result
    |                  `- warning: mutation of captured var 'p' in concurrently-executing code
762 |         case 16: q = result
763 |         case 17: r = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:762:18: warning: mutation of captured var 'q' in concurrently-executing code
760 |         case 14: o = result
761 |         case 15: p = result
762 |         case 16: q = result
    |                  `- warning: mutation of captured var 'q' in concurrently-executing code
763 |         case 17: r = result
764 |         case 18: s = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:763:18: warning: mutation of captured var 'r' in concurrently-executing code
761 |         case 15: p = result
762 |         case 16: q = result
763 |         case 17: r = result
    |                  `- warning: mutation of captured var 'r' in concurrently-executing code
764 |         case 18: s = result
765 |         case 19: t = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:764:18: warning: mutation of captured var 's' in concurrently-executing code
762 |         case 16: q = result
763 |         case 17: r = result
764 |         case 18: s = result
    |                  `- warning: mutation of captured var 's' in concurrently-executing code
765 |         case 19: t = result
766 |         case 20: u = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:765:18: warning: mutation of captured var 't' in concurrently-executing code
763 |         case 17: r = result
764 |         case 18: s = result
765 |         case 19: t = result
    |                  `- warning: mutation of captured var 't' in concurrently-executing code
766 |         case 20: u = result
767 |         case 21: v = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:766:18: warning: mutation of captured var 'u' in concurrently-executing code
764 |         case 18: s = result
765 |         case 19: t = result
766 |         case 20: u = result
    |                  `- warning: mutation of captured var 'u' in concurrently-executing code
767 |         case 21: v = result
768 |         case 22: w = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:767:18: warning: mutation of captured var 'v' in concurrently-executing code
765 |         case 19: t = result
766 |         case 20: u = result
767 |         case 21: v = result
    |                  `- warning: mutation of captured var 'v' in concurrently-executing code
768 |         case 22: w = result
769 |         case 23: x = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:768:18: warning: mutation of captured var 'w' in concurrently-executing code
766 |         case 20: u = result
767 |         case 21: v = result
768 |         case 22: w = result
    |                  `- warning: mutation of captured var 'w' in concurrently-executing code
769 |         case 23: x = result
770 |         default: preconditionFailure()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:769:18: warning: mutation of captured var 'x' in concurrently-executing code
767 |         case 21: v = result
768 |         case 22: w = result
769 |         case 23: x = result
    |                  `- warning: mutation of captured var 'x' in concurrently-executing code
770 |         default: preconditionFailure()
771 |         }
[20/38] Compiling Euclid Vertex.swift
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:744:22: warning: capture of 'fn' with non-sendable type '([T]) -> [U]' in a '@Sendable' closure
742 |     var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x: [U]?
743 |     DispatchQueue.concurrentPerform(iterations: parts.count) { index in
744 |         let result = fn(parts[index])
    |                      |- warning: capture of 'fn' with non-sendable type '([T]) -> [U]' in a '@Sendable' closure
    |                      `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
745 |         switch index {
746 |         case 0: a = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:744:25: warning: capture of 'parts' with non-sendable type '[[T]]' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |            `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
742 |     var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x: [U]?
743 |     DispatchQueue.concurrentPerform(iterations: parts.count) { index in
744 |         let result = fn(parts[index])
    |                         `- warning: capture of 'parts' with non-sendable type '[[T]]' in a '@Sendable' closure
745 |         switch index {
746 |         case 0: a = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:746:17: warning: capture of 'a' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
744 |         let result = fn(parts[index])
745 |         switch index {
746 |         case 0: a = result
    |                 `- warning: capture of 'a' with non-sendable type '[U]?' in a '@Sendable' closure
747 |         case 1: b = result
748 |         case 2: c = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:747:17: warning: capture of 'b' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
745 |         switch index {
746 |         case 0: a = result
747 |         case 1: b = result
    |                 `- warning: capture of 'b' with non-sendable type '[U]?' in a '@Sendable' closure
748 |         case 2: c = result
749 |         case 3: d = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:748:17: warning: capture of 'c' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
746 |         case 0: a = result
747 |         case 1: b = result
748 |         case 2: c = result
    |                 `- warning: capture of 'c' with non-sendable type '[U]?' in a '@Sendable' closure
749 |         case 3: d = result
750 |         case 4: e = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:749:17: warning: capture of 'd' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
747 |         case 1: b = result
748 |         case 2: c = result
749 |         case 3: d = result
    |                 `- warning: capture of 'd' with non-sendable type '[U]?' in a '@Sendable' closure
750 |         case 4: e = result
751 |         case 5: f = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:750:17: warning: capture of 'e' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
748 |         case 2: c = result
749 |         case 3: d = result
750 |         case 4: e = result
    |                 `- warning: capture of 'e' with non-sendable type '[U]?' in a '@Sendable' closure
751 |         case 5: f = result
752 |         case 6: g = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:751:17: warning: capture of 'f' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
749 |         case 3: d = result
750 |         case 4: e = result
751 |         case 5: f = result
    |                 `- warning: capture of 'f' with non-sendable type '[U]?' in a '@Sendable' closure
752 |         case 6: g = result
753 |         case 7: h = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:752:17: warning: capture of 'g' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
750 |         case 4: e = result
751 |         case 5: f = result
752 |         case 6: g = result
    |                 `- warning: capture of 'g' with non-sendable type '[U]?' in a '@Sendable' closure
753 |         case 7: h = result
754 |         case 8: i = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:753:17: warning: capture of 'h' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
751 |         case 5: f = result
752 |         case 6: g = result
753 |         case 7: h = result
    |                 `- warning: capture of 'h' with non-sendable type '[U]?' in a '@Sendable' closure
754 |         case 8: i = result
755 |         case 9: j = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:754:17: warning: capture of 'i' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
752 |         case 6: g = result
753 |         case 7: h = result
754 |         case 8: i = result
    |                 `- warning: capture of 'i' with non-sendable type '[U]?' in a '@Sendable' closure
755 |         case 9: j = result
756 |         case 10: k = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:755:17: warning: capture of 'j' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
753 |         case 7: h = result
754 |         case 8: i = result
755 |         case 9: j = result
    |                 `- warning: capture of 'j' with non-sendable type '[U]?' in a '@Sendable' closure
756 |         case 10: k = result
757 |         case 11: l = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:756:18: warning: capture of 'k' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
754 |         case 8: i = result
755 |         case 9: j = result
756 |         case 10: k = result
    |                  `- warning: capture of 'k' with non-sendable type '[U]?' in a '@Sendable' closure
757 |         case 11: l = result
758 |         case 12: m = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:757:18: warning: capture of 'l' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
755 |         case 9: j = result
756 |         case 10: k = result
757 |         case 11: l = result
    |                  `- warning: capture of 'l' with non-sendable type '[U]?' in a '@Sendable' closure
758 |         case 12: m = result
759 |         case 13: n = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:758:18: warning: capture of 'm' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
756 |         case 10: k = result
757 |         case 11: l = result
758 |         case 12: m = result
    |                  `- warning: capture of 'm' with non-sendable type '[U]?' in a '@Sendable' closure
759 |         case 13: n = result
760 |         case 14: o = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:759:18: warning: capture of 'n' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
757 |         case 11: l = result
758 |         case 12: m = result
759 |         case 13: n = result
    |                  `- warning: capture of 'n' with non-sendable type '[U]?' in a '@Sendable' closure
760 |         case 14: o = result
761 |         case 15: p = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:760:18: warning: capture of 'o' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
758 |         case 12: m = result
759 |         case 13: n = result
760 |         case 14: o = result
    |                  `- warning: capture of 'o' with non-sendable type '[U]?' in a '@Sendable' closure
761 |         case 15: p = result
762 |         case 16: q = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:761:18: warning: capture of 'p' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
759 |         case 13: n = result
760 |         case 14: o = result
761 |         case 15: p = result
    |                  `- warning: capture of 'p' with non-sendable type '[U]?' in a '@Sendable' closure
762 |         case 16: q = result
763 |         case 17: r = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:762:18: warning: capture of 'q' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
760 |         case 14: o = result
761 |         case 15: p = result
762 |         case 16: q = result
    |                  `- warning: capture of 'q' with non-sendable type '[U]?' in a '@Sendable' closure
763 |         case 17: r = result
764 |         case 18: s = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:763:18: warning: capture of 'r' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
761 |         case 15: p = result
762 |         case 16: q = result
763 |         case 17: r = result
    |                  `- warning: capture of 'r' with non-sendable type '[U]?' in a '@Sendable' closure
764 |         case 18: s = result
765 |         case 19: t = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:764:18: warning: capture of 's' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
762 |         case 16: q = result
763 |         case 17: r = result
764 |         case 18: s = result
    |                  `- warning: capture of 's' with non-sendable type '[U]?' in a '@Sendable' closure
765 |         case 19: t = result
766 |         case 20: u = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:765:18: warning: capture of 't' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
763 |         case 17: r = result
764 |         case 18: s = result
765 |         case 19: t = result
    |                  `- warning: capture of 't' with non-sendable type '[U]?' in a '@Sendable' closure
766 |         case 20: u = result
767 |         case 21: v = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:766:18: warning: capture of 'u' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
764 |         case 18: s = result
765 |         case 19: t = result
766 |         case 20: u = result
    |                  `- warning: capture of 'u' with non-sendable type '[U]?' in a '@Sendable' closure
767 |         case 21: v = result
768 |         case 22: w = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:767:18: warning: capture of 'v' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
765 |         case 19: t = result
766 |         case 20: u = result
767 |         case 21: v = result
    |                  `- warning: capture of 'v' with non-sendable type '[U]?' in a '@Sendable' closure
768 |         case 22: w = result
769 |         case 23: x = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:768:18: warning: capture of 'w' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
766 |         case 20: u = result
767 |         case 21: v = result
768 |         case 22: w = result
    |                  `- warning: capture of 'w' with non-sendable type '[U]?' in a '@Sendable' closure
769 |         case 23: x = result
770 |         default: preconditionFailure()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:769:18: warning: capture of 'x' with non-sendable type '[U]?' in a '@Sendable' closure
724 | private let cpuCores = ProcessInfo.processInfo.activeProcessorCount
725 |
726 | func batch<T, U>(
    |               `- note: consider making generic parameter 'U' conform to the 'Sendable' protocol
727 |     _ elements: [T],
728 |     stride minBatchSize: Int,
    :
767 |         case 21: v = result
768 |         case 22: w = result
769 |         case 23: x = result
    |                  `- warning: capture of 'x' with non-sendable type '[U]?' in a '@Sendable' closure
770 |         default: preconditionFailure()
771 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:746:17: warning: mutation of captured var 'a' in concurrently-executing code
744 |         let result = fn(parts[index])
745 |         switch index {
746 |         case 0: a = result
    |                 `- warning: mutation of captured var 'a' in concurrently-executing code
747 |         case 1: b = result
748 |         case 2: c = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:747:17: warning: mutation of captured var 'b' in concurrently-executing code
745 |         switch index {
746 |         case 0: a = result
747 |         case 1: b = result
    |                 `- warning: mutation of captured var 'b' in concurrently-executing code
748 |         case 2: c = result
749 |         case 3: d = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:748:17: warning: mutation of captured var 'c' in concurrently-executing code
746 |         case 0: a = result
747 |         case 1: b = result
748 |         case 2: c = result
    |                 `- warning: mutation of captured var 'c' in concurrently-executing code
749 |         case 3: d = result
750 |         case 4: e = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:749:17: warning: mutation of captured var 'd' in concurrently-executing code
747 |         case 1: b = result
748 |         case 2: c = result
749 |         case 3: d = result
    |                 `- warning: mutation of captured var 'd' in concurrently-executing code
750 |         case 4: e = result
751 |         case 5: f = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:750:17: warning: mutation of captured var 'e' in concurrently-executing code
748 |         case 2: c = result
749 |         case 3: d = result
750 |         case 4: e = result
    |                 `- warning: mutation of captured var 'e' in concurrently-executing code
751 |         case 5: f = result
752 |         case 6: g = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:751:17: warning: mutation of captured var 'f' in concurrently-executing code
749 |         case 3: d = result
750 |         case 4: e = result
751 |         case 5: f = result
    |                 `- warning: mutation of captured var 'f' in concurrently-executing code
752 |         case 6: g = result
753 |         case 7: h = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:752:17: warning: mutation of captured var 'g' in concurrently-executing code
750 |         case 4: e = result
751 |         case 5: f = result
752 |         case 6: g = result
    |                 `- warning: mutation of captured var 'g' in concurrently-executing code
753 |         case 7: h = result
754 |         case 8: i = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:753:17: warning: mutation of captured var 'h' in concurrently-executing code
751 |         case 5: f = result
752 |         case 6: g = result
753 |         case 7: h = result
    |                 `- warning: mutation of captured var 'h' in concurrently-executing code
754 |         case 8: i = result
755 |         case 9: j = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:754:17: warning: mutation of captured var 'i' in concurrently-executing code
752 |         case 6: g = result
753 |         case 7: h = result
754 |         case 8: i = result
    |                 `- warning: mutation of captured var 'i' in concurrently-executing code
755 |         case 9: j = result
756 |         case 10: k = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:755:17: warning: mutation of captured var 'j' in concurrently-executing code
753 |         case 7: h = result
754 |         case 8: i = result
755 |         case 9: j = result
    |                 `- warning: mutation of captured var 'j' in concurrently-executing code
756 |         case 10: k = result
757 |         case 11: l = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:756:18: warning: mutation of captured var 'k' in concurrently-executing code
754 |         case 8: i = result
755 |         case 9: j = result
756 |         case 10: k = result
    |                  `- warning: mutation of captured var 'k' in concurrently-executing code
757 |         case 11: l = result
758 |         case 12: m = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:757:18: warning: mutation of captured var 'l' in concurrently-executing code
755 |         case 9: j = result
756 |         case 10: k = result
757 |         case 11: l = result
    |                  `- warning: mutation of captured var 'l' in concurrently-executing code
758 |         case 12: m = result
759 |         case 13: n = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:758:18: warning: mutation of captured var 'm' in concurrently-executing code
756 |         case 10: k = result
757 |         case 11: l = result
758 |         case 12: m = result
    |                  `- warning: mutation of captured var 'm' in concurrently-executing code
759 |         case 13: n = result
760 |         case 14: o = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:759:18: warning: mutation of captured var 'n' in concurrently-executing code
757 |         case 11: l = result
758 |         case 12: m = result
759 |         case 13: n = result
    |                  `- warning: mutation of captured var 'n' in concurrently-executing code
760 |         case 14: o = result
761 |         case 15: p = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:760:18: warning: mutation of captured var 'o' in concurrently-executing code
758 |         case 12: m = result
759 |         case 13: n = result
760 |         case 14: o = result
    |                  `- warning: mutation of captured var 'o' in concurrently-executing code
761 |         case 15: p = result
762 |         case 16: q = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:761:18: warning: mutation of captured var 'p' in concurrently-executing code
759 |         case 13: n = result
760 |         case 14: o = result
761 |         case 15: p = result
    |                  `- warning: mutation of captured var 'p' in concurrently-executing code
762 |         case 16: q = result
763 |         case 17: r = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:762:18: warning: mutation of captured var 'q' in concurrently-executing code
760 |         case 14: o = result
761 |         case 15: p = result
762 |         case 16: q = result
    |                  `- warning: mutation of captured var 'q' in concurrently-executing code
763 |         case 17: r = result
764 |         case 18: s = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:763:18: warning: mutation of captured var 'r' in concurrently-executing code
761 |         case 15: p = result
762 |         case 16: q = result
763 |         case 17: r = result
    |                  `- warning: mutation of captured var 'r' in concurrently-executing code
764 |         case 18: s = result
765 |         case 19: t = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:764:18: warning: mutation of captured var 's' in concurrently-executing code
762 |         case 16: q = result
763 |         case 17: r = result
764 |         case 18: s = result
    |                  `- warning: mutation of captured var 's' in concurrently-executing code
765 |         case 19: t = result
766 |         case 20: u = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:765:18: warning: mutation of captured var 't' in concurrently-executing code
763 |         case 17: r = result
764 |         case 18: s = result
765 |         case 19: t = result
    |                  `- warning: mutation of captured var 't' in concurrently-executing code
766 |         case 20: u = result
767 |         case 21: v = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:766:18: warning: mutation of captured var 'u' in concurrently-executing code
764 |         case 18: s = result
765 |         case 19: t = result
766 |         case 20: u = result
    |                  `- warning: mutation of captured var 'u' in concurrently-executing code
767 |         case 21: v = result
768 |         case 22: w = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:767:18: warning: mutation of captured var 'v' in concurrently-executing code
765 |         case 19: t = result
766 |         case 20: u = result
767 |         case 21: v = result
    |                  `- warning: mutation of captured var 'v' in concurrently-executing code
768 |         case 22: w = result
769 |         case 23: x = result
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:768:18: warning: mutation of captured var 'w' in concurrently-executing code
766 |         case 20: u = result
767 |         case 21: v = result
768 |         case 22: w = result
    |                  `- warning: mutation of captured var 'w' in concurrently-executing code
769 |         case 23: x = result
770 |         default: preconditionFailure()
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:769:18: warning: mutation of captured var 'x' in concurrently-executing code
767 |         case 21: v = result
768 |         case 22: w = result
769 |         case 23: x = result
    |                  `- warning: mutation of captured var 'x' in concurrently-executing code
770 |         default: preconditionFailure()
771 |         }
[21/38] Compiling Euclid Mesh+IO.swift
[22/38] Compiling Euclid Mesh+OBJ.swift
[23/38] Compiling Euclid Mesh+STL.swift
[24/38] Compiling Euclid Mesh+Shapes.swift
[25/38] Compiling Euclid Mesh+Texcoords.swift
[26/38] Compiling Euclid Mesh.swift
[27/38] Compiling Euclid Path+Shapes.swift
[28/38] Compiling Euclid Color.swift
[29/38] Compiling Euclid Euclid+AppKit.swift
[30/38] Compiling Euclid Euclid+CoreGraphics.swift
[31/38] Compiling Euclid Euclid+CoreText.swift
[32/38] Compiling Euclid Euclid+RealityKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:78:50: warning: call to main actor-isolated static method 'generate(from:withName:options:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 61 |
 62 | @available(macOS 12.0, iOS 15.0, *)
 63 | private func defaultMaterialLookup(_ material: Polygon.Material?) -> RealityKit.Material? {
    |              `- note: add '@MainActor' to make global function 'defaultMaterialLookup' part of global actor 'MainActor'
 64 |     switch material {
 65 |     case let wrapper as MaterialWrapper:
    :
 76 |         return defaultMaterialLookup(image.cgImage)
 77 |     case let image as CGImage where CFGetTypeID(image) == CGImage.typeID:
 78 |         guard let texture = try? TextureResource.generate(
    |                                                  `- warning: call to main actor-isolated static method 'generate(from:withName:options:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 79 |             from: image,
 80 |             options: .init(semantic: .color)
RealityFoundation.TextureResource.generate:6:49: note: calls to static method 'generate(from:withName:options:)' from outside of its actor context are implicitly asynchronous
4 |   @available(macCatalyst, introduced: 15.0, deprecated: 18.0, renamed: "init(image:withName:options:)")
5 |   @available(visionOS, introduced: 1.0, deprecated: 2.0, renamed: "init(image:withName:options:)")
6 |   @MainActor @preconcurrency public static func generate(from cgImage: CGImage, withName resourceName: String? = nil, options: TextureResource.CreateOptions) throws -> TextureResource}
  |                                                 `- note: calls to static method 'generate(from:withName:options:)' from outside of its actor context are implicitly asynchronous
7 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:430:43: warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
428 |     init(_ meshResource: MeshResource, materials: [Polygon.Material?] = []) {
429 |         var models = [String: Mesh]()
430 |         self.init(submeshes: meshResource.contents.instances.compactMap {
    |                                           `- warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
431 |             var mesh = models[$0.model]
432 |             if mesh == nil, let model = meshResource.contents.models[$0.model] {
RealityFoundation.MeshResource.contents:2:39: note: property declared here
1 | class MeshResource {
2 | @MainActor @preconcurrency public var contents: MeshResource.Contents { get }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:432:54: warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
430 |         self.init(submeshes: meshResource.contents.instances.compactMap {
431 |             var mesh = models[$0.model]
432 |             if mesh == nil, let model = meshResource.contents.models[$0.model] {
    |                                                      `- warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
433 |                 let modelMesh = Mesh(model, materials: materials)
434 |                 models[$0.model] = modelMesh
RealityFoundation.MeshResource.contents:2:39: note: property declared here
1 | class MeshResource {
2 | @MainActor @preconcurrency public var contents: MeshResource.Contents { get }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:468:39: warning: main actor-isolated property 'model' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
466 |     ///   - materialLookup: An optional closure to map the RealityKit materials to Euclid materials.
467 |     init(_ modelEntity: ModelEntity, materialLookup: RealityKitMaterialProvider? = nil) {
468 |         guard let model = modelEntity.model else {
    |                                       `- warning: main actor-isolated property 'model' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
469 |             self = .empty
470 |             return
RealityFoundation.HasModel.model:2:39: note: property declared here
1 | protocol HasModel {
2 | @MainActor @preconcurrency public var model: ModelComponent? { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:473:41: warning: main actor-isolated property 'transform' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
471 |         }
472 |         self.init(model, materialLookup: materialLookup)
473 |         transform(by: .init(modelEntity.transform))
    |                                         `- warning: main actor-isolated property 'transform' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
474 |     }
475 |
RealityFoundation.HasTransform.transform:2:39: note: property declared here
1 | protocol HasTransform {
2 | @MainActor @preconcurrency public var transform: Transform { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:519:52: warning: main actor-isolated property 'avPlayer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
517 |                 return MaterialWrapper(material)
518 |             case let videoMaterial as VideoMaterial:
519 |                 guard let avPlayer = videoMaterial.avPlayer else { return nil }
    |                                                    `- warning: main actor-isolated property 'avPlayer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
520 |                 var material = VideoMaterial(avPlayer: avPlayer)
521 |                 #if compiler(>=6)
RealityFoundation.VideoMaterial.avPlayer:2:39: note: property declared here
1 | struct VideoMaterial {
2 | @MainActor @preconcurrency public var avPlayer: AVPlayer? { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:520:32: warning: call to main actor-isolated initializer 'init(avPlayer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
518 |             case let videoMaterial as VideoMaterial:
519 |                 guard let avPlayer = videoMaterial.avPlayer else { return nil }
520 |                 var material = VideoMaterial(avPlayer: avPlayer)
    |                                `- warning: call to main actor-isolated initializer 'init(avPlayer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
RealityFoundation.VideoMaterial.init:2:35: note: calls to initializer 'init(avPlayer:)' from outside of its actor context are implicitly asynchronous
1 | struct VideoMaterial {
2 | @MainActor @preconcurrency public init(avPlayer: AVPlayer)}
  |                                   `- note: calls to initializer 'init(avPlayer:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:523:41: warning: main actor-isolated property 'preferredViewingMode' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
523 |                     material.controller.preferredViewingMode = videoMaterial.controller.preferredViewingMode
    |                                         `- warning: main actor-isolated property 'preferredViewingMode' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
524 |                     material.triangleFillMode = videoMaterial.triangleFillMode
525 |                     if #available(visionOS 2.0, *) {
RealityFoundation.VideoPlaybackController.preferredViewingMode:2:39: note: mutation of this property is only permitted within the actor
1 | class VideoPlaybackController {
2 | @MainActor @preconcurrency public var preferredViewingMode: VideoPlaybackController.ViewingMode { get set }}
  |                                       `- note: mutation of this property is only permitted within the actor
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:523:89: warning: main actor-isolated property 'preferredViewingMode' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
523 |                     material.controller.preferredViewingMode = videoMaterial.controller.preferredViewingMode
    |                                                                                         `- warning: main actor-isolated property 'preferredViewingMode' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
524 |                     material.triangleFillMode = videoMaterial.triangleFillMode
525 |                     if #available(visionOS 2.0, *) {
RealityFoundation.VideoPlaybackController.preferredViewingMode:2:39: note: property declared here
1 | class VideoPlaybackController {
2 | @MainActor @preconcurrency public var preferredViewingMode: VideoPlaybackController.ViewingMode { get set }}
  |                                       `- note: property declared here
3 |
[33/38] Compiling Euclid Euclid+SIMD.swift
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:78:50: warning: call to main actor-isolated static method 'generate(from:withName:options:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 61 |
 62 | @available(macOS 12.0, iOS 15.0, *)
 63 | private func defaultMaterialLookup(_ material: Polygon.Material?) -> RealityKit.Material? {
    |              `- note: add '@MainActor' to make global function 'defaultMaterialLookup' part of global actor 'MainActor'
 64 |     switch material {
 65 |     case let wrapper as MaterialWrapper:
    :
 76 |         return defaultMaterialLookup(image.cgImage)
 77 |     case let image as CGImage where CFGetTypeID(image) == CGImage.typeID:
 78 |         guard let texture = try? TextureResource.generate(
    |                                                  `- warning: call to main actor-isolated static method 'generate(from:withName:options:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 79 |             from: image,
 80 |             options: .init(semantic: .color)
RealityFoundation.TextureResource.generate:6:49: note: calls to static method 'generate(from:withName:options:)' from outside of its actor context are implicitly asynchronous
4 |   @available(macCatalyst, introduced: 15.0, deprecated: 18.0, renamed: "init(image:withName:options:)")
5 |   @available(visionOS, introduced: 1.0, deprecated: 2.0, renamed: "init(image:withName:options:)")
6 |   @MainActor @preconcurrency public static func generate(from cgImage: CGImage, withName resourceName: String? = nil, options: TextureResource.CreateOptions) throws -> TextureResource}
  |                                                 `- note: calls to static method 'generate(from:withName:options:)' from outside of its actor context are implicitly asynchronous
7 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:430:43: warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
428 |     init(_ meshResource: MeshResource, materials: [Polygon.Material?] = []) {
429 |         var models = [String: Mesh]()
430 |         self.init(submeshes: meshResource.contents.instances.compactMap {
    |                                           `- warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
431 |             var mesh = models[$0.model]
432 |             if mesh == nil, let model = meshResource.contents.models[$0.model] {
RealityFoundation.MeshResource.contents:2:39: note: property declared here
1 | class MeshResource {
2 | @MainActor @preconcurrency public var contents: MeshResource.Contents { get }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:432:54: warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
430 |         self.init(submeshes: meshResource.contents.instances.compactMap {
431 |             var mesh = models[$0.model]
432 |             if mesh == nil, let model = meshResource.contents.models[$0.model] {
    |                                                      `- warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
433 |                 let modelMesh = Mesh(model, materials: materials)
434 |                 models[$0.model] = modelMesh
RealityFoundation.MeshResource.contents:2:39: note: property declared here
1 | class MeshResource {
2 | @MainActor @preconcurrency public var contents: MeshResource.Contents { get }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:468:39: warning: main actor-isolated property 'model' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
466 |     ///   - materialLookup: An optional closure to map the RealityKit materials to Euclid materials.
467 |     init(_ modelEntity: ModelEntity, materialLookup: RealityKitMaterialProvider? = nil) {
468 |         guard let model = modelEntity.model else {
    |                                       `- warning: main actor-isolated property 'model' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
469 |             self = .empty
470 |             return
RealityFoundation.HasModel.model:2:39: note: property declared here
1 | protocol HasModel {
2 | @MainActor @preconcurrency public var model: ModelComponent? { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:473:41: warning: main actor-isolated property 'transform' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
471 |         }
472 |         self.init(model, materialLookup: materialLookup)
473 |         transform(by: .init(modelEntity.transform))
    |                                         `- warning: main actor-isolated property 'transform' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
474 |     }
475 |
RealityFoundation.HasTransform.transform:2:39: note: property declared here
1 | protocol HasTransform {
2 | @MainActor @preconcurrency public var transform: Transform { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:519:52: warning: main actor-isolated property 'avPlayer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
517 |                 return MaterialWrapper(material)
518 |             case let videoMaterial as VideoMaterial:
519 |                 guard let avPlayer = videoMaterial.avPlayer else { return nil }
    |                                                    `- warning: main actor-isolated property 'avPlayer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
520 |                 var material = VideoMaterial(avPlayer: avPlayer)
521 |                 #if compiler(>=6)
RealityFoundation.VideoMaterial.avPlayer:2:39: note: property declared here
1 | struct VideoMaterial {
2 | @MainActor @preconcurrency public var avPlayer: AVPlayer? { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:520:32: warning: call to main actor-isolated initializer 'init(avPlayer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
518 |             case let videoMaterial as VideoMaterial:
519 |                 guard let avPlayer = videoMaterial.avPlayer else { return nil }
520 |                 var material = VideoMaterial(avPlayer: avPlayer)
    |                                `- warning: call to main actor-isolated initializer 'init(avPlayer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
RealityFoundation.VideoMaterial.init:2:35: note: calls to initializer 'init(avPlayer:)' from outside of its actor context are implicitly asynchronous
1 | struct VideoMaterial {
2 | @MainActor @preconcurrency public init(avPlayer: AVPlayer)}
  |                                   `- note: calls to initializer 'init(avPlayer:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:523:41: warning: main actor-isolated property 'preferredViewingMode' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
523 |                     material.controller.preferredViewingMode = videoMaterial.controller.preferredViewingMode
    |                                         `- warning: main actor-isolated property 'preferredViewingMode' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
524 |                     material.triangleFillMode = videoMaterial.triangleFillMode
525 |                     if #available(visionOS 2.0, *) {
RealityFoundation.VideoPlaybackController.preferredViewingMode:2:39: note: mutation of this property is only permitted within the actor
1 | class VideoPlaybackController {
2 | @MainActor @preconcurrency public var preferredViewingMode: VideoPlaybackController.ViewingMode { get set }}
  |                                       `- note: mutation of this property is only permitted within the actor
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:523:89: warning: main actor-isolated property 'preferredViewingMode' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
523 |                     material.controller.preferredViewingMode = videoMaterial.controller.preferredViewingMode
    |                                                                                         `- warning: main actor-isolated property 'preferredViewingMode' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
524 |                     material.triangleFillMode = videoMaterial.triangleFillMode
525 |                     if #available(visionOS 2.0, *) {
RealityFoundation.VideoPlaybackController.preferredViewingMode:2:39: note: property declared here
1 | class VideoPlaybackController {
2 | @MainActor @preconcurrency public var preferredViewingMode: VideoPlaybackController.ViewingMode { get set }}
  |                                       `- note: property declared here
3 |
[34/38] Compiling Euclid Euclid+SceneKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:78:50: warning: call to main actor-isolated static method 'generate(from:withName:options:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 61 |
 62 | @available(macOS 12.0, iOS 15.0, *)
 63 | private func defaultMaterialLookup(_ material: Polygon.Material?) -> RealityKit.Material? {
    |              `- note: add '@MainActor' to make global function 'defaultMaterialLookup' part of global actor 'MainActor'
 64 |     switch material {
 65 |     case let wrapper as MaterialWrapper:
    :
 76 |         return defaultMaterialLookup(image.cgImage)
 77 |     case let image as CGImage where CFGetTypeID(image) == CGImage.typeID:
 78 |         guard let texture = try? TextureResource.generate(
    |                                                  `- warning: call to main actor-isolated static method 'generate(from:withName:options:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 79 |             from: image,
 80 |             options: .init(semantic: .color)
RealityFoundation.TextureResource.generate:6:49: note: calls to static method 'generate(from:withName:options:)' from outside of its actor context are implicitly asynchronous
4 |   @available(macCatalyst, introduced: 15.0, deprecated: 18.0, renamed: "init(image:withName:options:)")
5 |   @available(visionOS, introduced: 1.0, deprecated: 2.0, renamed: "init(image:withName:options:)")
6 |   @MainActor @preconcurrency public static func generate(from cgImage: CGImage, withName resourceName: String? = nil, options: TextureResource.CreateOptions) throws -> TextureResource}
  |                                                 `- note: calls to static method 'generate(from:withName:options:)' from outside of its actor context are implicitly asynchronous
7 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:430:43: warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
428 |     init(_ meshResource: MeshResource, materials: [Polygon.Material?] = []) {
429 |         var models = [String: Mesh]()
430 |         self.init(submeshes: meshResource.contents.instances.compactMap {
    |                                           `- warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
431 |             var mesh = models[$0.model]
432 |             if mesh == nil, let model = meshResource.contents.models[$0.model] {
RealityFoundation.MeshResource.contents:2:39: note: property declared here
1 | class MeshResource {
2 | @MainActor @preconcurrency public var contents: MeshResource.Contents { get }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:432:54: warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
430 |         self.init(submeshes: meshResource.contents.instances.compactMap {
431 |             var mesh = models[$0.model]
432 |             if mesh == nil, let model = meshResource.contents.models[$0.model] {
    |                                                      `- warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
433 |                 let modelMesh = Mesh(model, materials: materials)
434 |                 models[$0.model] = modelMesh
RealityFoundation.MeshResource.contents:2:39: note: property declared here
1 | class MeshResource {
2 | @MainActor @preconcurrency public var contents: MeshResource.Contents { get }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:468:39: warning: main actor-isolated property 'model' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
466 |     ///   - materialLookup: An optional closure to map the RealityKit materials to Euclid materials.
467 |     init(_ modelEntity: ModelEntity, materialLookup: RealityKitMaterialProvider? = nil) {
468 |         guard let model = modelEntity.model else {
    |                                       `- warning: main actor-isolated property 'model' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
469 |             self = .empty
470 |             return
RealityFoundation.HasModel.model:2:39: note: property declared here
1 | protocol HasModel {
2 | @MainActor @preconcurrency public var model: ModelComponent? { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:473:41: warning: main actor-isolated property 'transform' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
471 |         }
472 |         self.init(model, materialLookup: materialLookup)
473 |         transform(by: .init(modelEntity.transform))
    |                                         `- warning: main actor-isolated property 'transform' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
474 |     }
475 |
RealityFoundation.HasTransform.transform:2:39: note: property declared here
1 | protocol HasTransform {
2 | @MainActor @preconcurrency public var transform: Transform { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:519:52: warning: main actor-isolated property 'avPlayer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
517 |                 return MaterialWrapper(material)
518 |             case let videoMaterial as VideoMaterial:
519 |                 guard let avPlayer = videoMaterial.avPlayer else { return nil }
    |                                                    `- warning: main actor-isolated property 'avPlayer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
520 |                 var material = VideoMaterial(avPlayer: avPlayer)
521 |                 #if compiler(>=6)
RealityFoundation.VideoMaterial.avPlayer:2:39: note: property declared here
1 | struct VideoMaterial {
2 | @MainActor @preconcurrency public var avPlayer: AVPlayer? { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:520:32: warning: call to main actor-isolated initializer 'init(avPlayer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
518 |             case let videoMaterial as VideoMaterial:
519 |                 guard let avPlayer = videoMaterial.avPlayer else { return nil }
520 |                 var material = VideoMaterial(avPlayer: avPlayer)
    |                                `- warning: call to main actor-isolated initializer 'init(avPlayer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
RealityFoundation.VideoMaterial.init:2:35: note: calls to initializer 'init(avPlayer:)' from outside of its actor context are implicitly asynchronous
1 | struct VideoMaterial {
2 | @MainActor @preconcurrency public init(avPlayer: AVPlayer)}
  |                                   `- note: calls to initializer 'init(avPlayer:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:523:41: warning: main actor-isolated property 'preferredViewingMode' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
523 |                     material.controller.preferredViewingMode = videoMaterial.controller.preferredViewingMode
    |                                         `- warning: main actor-isolated property 'preferredViewingMode' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
524 |                     material.triangleFillMode = videoMaterial.triangleFillMode
525 |                     if #available(visionOS 2.0, *) {
RealityFoundation.VideoPlaybackController.preferredViewingMode:2:39: note: mutation of this property is only permitted within the actor
1 | class VideoPlaybackController {
2 | @MainActor @preconcurrency public var preferredViewingMode: VideoPlaybackController.ViewingMode { get set }}
  |                                       `- note: mutation of this property is only permitted within the actor
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:523:89: warning: main actor-isolated property 'preferredViewingMode' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
523 |                     material.controller.preferredViewingMode = videoMaterial.controller.preferredViewingMode
    |                                                                                         `- warning: main actor-isolated property 'preferredViewingMode' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
524 |                     material.triangleFillMode = videoMaterial.triangleFillMode
525 |                     if #available(visionOS 2.0, *) {
RealityFoundation.VideoPlaybackController.preferredViewingMode:2:39: note: property declared here
1 | class VideoPlaybackController {
2 | @MainActor @preconcurrency public var preferredViewingMode: VideoPlaybackController.ViewingMode { get set }}
  |                                       `- note: property declared here
3 |
[35/38] Compiling Euclid Euclid+UIKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:78:50: warning: call to main actor-isolated static method 'generate(from:withName:options:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 61 |
 62 | @available(macOS 12.0, iOS 15.0, *)
 63 | private func defaultMaterialLookup(_ material: Polygon.Material?) -> RealityKit.Material? {
    |              `- note: add '@MainActor' to make global function 'defaultMaterialLookup' part of global actor 'MainActor'
 64 |     switch material {
 65 |     case let wrapper as MaterialWrapper:
    :
 76 |         return defaultMaterialLookup(image.cgImage)
 77 |     case let image as CGImage where CFGetTypeID(image) == CGImage.typeID:
 78 |         guard let texture = try? TextureResource.generate(
    |                                                  `- warning: call to main actor-isolated static method 'generate(from:withName:options:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 79 |             from: image,
 80 |             options: .init(semantic: .color)
RealityFoundation.TextureResource.generate:6:49: note: calls to static method 'generate(from:withName:options:)' from outside of its actor context are implicitly asynchronous
4 |   @available(macCatalyst, introduced: 15.0, deprecated: 18.0, renamed: "init(image:withName:options:)")
5 |   @available(visionOS, introduced: 1.0, deprecated: 2.0, renamed: "init(image:withName:options:)")
6 |   @MainActor @preconcurrency public static func generate(from cgImage: CGImage, withName resourceName: String? = nil, options: TextureResource.CreateOptions) throws -> TextureResource}
  |                                                 `- note: calls to static method 'generate(from:withName:options:)' from outside of its actor context are implicitly asynchronous
7 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:430:43: warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
428 |     init(_ meshResource: MeshResource, materials: [Polygon.Material?] = []) {
429 |         var models = [String: Mesh]()
430 |         self.init(submeshes: meshResource.contents.instances.compactMap {
    |                                           `- warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
431 |             var mesh = models[$0.model]
432 |             if mesh == nil, let model = meshResource.contents.models[$0.model] {
RealityFoundation.MeshResource.contents:2:39: note: property declared here
1 | class MeshResource {
2 | @MainActor @preconcurrency public var contents: MeshResource.Contents { get }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:432:54: warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
430 |         self.init(submeshes: meshResource.contents.instances.compactMap {
431 |             var mesh = models[$0.model]
432 |             if mesh == nil, let model = meshResource.contents.models[$0.model] {
    |                                                      `- warning: main actor-isolated property 'contents' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
433 |                 let modelMesh = Mesh(model, materials: materials)
434 |                 models[$0.model] = modelMesh
RealityFoundation.MeshResource.contents:2:39: note: property declared here
1 | class MeshResource {
2 | @MainActor @preconcurrency public var contents: MeshResource.Contents { get }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:468:39: warning: main actor-isolated property 'model' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
466 |     ///   - materialLookup: An optional closure to map the RealityKit materials to Euclid materials.
467 |     init(_ modelEntity: ModelEntity, materialLookup: RealityKitMaterialProvider? = nil) {
468 |         guard let model = modelEntity.model else {
    |                                       `- warning: main actor-isolated property 'model' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
469 |             self = .empty
470 |             return
RealityFoundation.HasModel.model:2:39: note: property declared here
1 | protocol HasModel {
2 | @MainActor @preconcurrency public var model: ModelComponent? { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:473:41: warning: main actor-isolated property 'transform' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
471 |         }
472 |         self.init(model, materialLookup: materialLookup)
473 |         transform(by: .init(modelEntity.transform))
    |                                         `- warning: main actor-isolated property 'transform' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
474 |     }
475 |
RealityFoundation.HasTransform.transform:2:39: note: property declared here
1 | protocol HasTransform {
2 | @MainActor @preconcurrency public var transform: Transform { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:519:52: warning: main actor-isolated property 'avPlayer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
517 |                 return MaterialWrapper(material)
518 |             case let videoMaterial as VideoMaterial:
519 |                 guard let avPlayer = videoMaterial.avPlayer else { return nil }
    |                                                    `- warning: main actor-isolated property 'avPlayer' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
520 |                 var material = VideoMaterial(avPlayer: avPlayer)
521 |                 #if compiler(>=6)
RealityFoundation.VideoMaterial.avPlayer:2:39: note: property declared here
1 | struct VideoMaterial {
2 | @MainActor @preconcurrency public var avPlayer: AVPlayer? { get set }}
  |                                       `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:520:32: warning: call to main actor-isolated initializer 'init(avPlayer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
518 |             case let videoMaterial as VideoMaterial:
519 |                 guard let avPlayer = videoMaterial.avPlayer else { return nil }
520 |                 var material = VideoMaterial(avPlayer: avPlayer)
    |                                `- warning: call to main actor-isolated initializer 'init(avPlayer:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
RealityFoundation.VideoMaterial.init:2:35: note: calls to initializer 'init(avPlayer:)' from outside of its actor context are implicitly asynchronous
1 | struct VideoMaterial {
2 | @MainActor @preconcurrency public init(avPlayer: AVPlayer)}
  |                                   `- note: calls to initializer 'init(avPlayer:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:523:41: warning: main actor-isolated property 'preferredViewingMode' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
523 |                     material.controller.preferredViewingMode = videoMaterial.controller.preferredViewingMode
    |                                         `- warning: main actor-isolated property 'preferredViewingMode' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
524 |                     material.triangleFillMode = videoMaterial.triangleFillMode
525 |                     if #available(visionOS 2.0, *) {
RealityFoundation.VideoPlaybackController.preferredViewingMode:2:39: note: mutation of this property is only permitted within the actor
1 | class VideoPlaybackController {
2 | @MainActor @preconcurrency public var preferredViewingMode: VideoPlaybackController.ViewingMode { get set }}
  |                                       `- note: mutation of this property is only permitted within the actor
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Euclid+RealityKit.swift:523:89: warning: main actor-isolated property 'preferredViewingMode' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
521 |                 #if compiler(>=6)
522 |                 if #available(visionOS 1.0, macOS 15.0, iOS 18.0, *) {
523 |                     material.controller.preferredViewingMode = videoMaterial.controller.preferredViewingMode
    |                                                                                         `- warning: main actor-isolated property 'preferredViewingMode' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
524 |                     material.triangleFillMode = videoMaterial.triangleFillMode
525 |                     if #available(visionOS 2.0, *) {
RealityFoundation.VideoPlaybackController.preferredViewingMode:2:39: note: property declared here
1 | class VideoPlaybackController {
2 | @MainActor @preconcurrency public var preferredViewingMode: VideoPlaybackController.ViewingMode { get set }}
  |                                       `- note: property declared here
3 |
[36/38] Compiling Euclid Path.swift
[37/38] Compiling Euclid PathPoint.swift
[38/38] Compiling Euclid Plane.swift
Build complete! (8.89s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Euclid",
  "name" : "Euclid",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "Euclid",
      "targets" : [
        "Euclid"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "EuclidTests",
      "module_type" : "SwiftTarget",
      "name" : "EuclidTests",
      "path" : "Tests",
      "sources" : [
        "AngleTests.swift",
        "BoundsTests.swift",
        "CGPathTests.swift",
        "CodingTests.swift",
        "Euclid+Testing.swift",
        "LineSegmentTests.swift",
        "LineTests.swift",
        "MeshCSGTests.swift",
        "MeshExportTests.swift",
        "MeshImportTests.swift",
        "MeshShapeTests.swift",
        "MeshTests.swift",
        "MetadataTests.swift",
        "PathShapeTests.swift",
        "PathTests.swift",
        "PlaneTests.swift",
        "PolygonCSGTests.swift",
        "PolygonTests.swift",
        "QuaternionTests.swift",
        "RealityKitTests.swift",
        "SceneKitTests.swift",
        "StretchableTests.swift",
        "TextTests.swift",
        "TransformTests.swift",
        "UtilityTests.swift",
        "VectorTests.swift"
      ],
      "target_dependencies" : [
        "Euclid"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Euclid",
      "module_type" : "SwiftTarget",
      "name" : "Euclid",
      "path" : "Sources",
      "product_memberships" : [
        "Euclid"
      ],
      "sources" : [
        "Angle.swift",
        "BSP.swift",
        "Bounded.swift",
        "Bounds.swift",
        "Color.swift",
        "Euclid+AppKit.swift",
        "Euclid+CoreGraphics.swift",
        "Euclid+CoreText.swift",
        "Euclid+RealityKit.swift",
        "Euclid+SIMD.swift",
        "Euclid+SceneKit.swift",
        "Euclid+UIKit.swift",
        "Line.swift",
        "LineSegment+CSG.swift",
        "LineSegment.swift",
        "Mesh+CSG.swift",
        "Mesh+IO.swift",
        "Mesh+OBJ.swift",
        "Mesh+STL.swift",
        "Mesh+Shapes.swift",
        "Mesh+Texcoords.swift",
        "Mesh.swift",
        "Path+Shapes.swift",
        "Path.swift",
        "PathPoint.swift",
        "Plane.swift",
        "Polygon+CSG.swift",
        "Polygon.swift",
        "Quaternion.swift",
        "Rotation.swift",
        "Stretchable.swift",
        "Transforms.swift",
        "Utilities.swift",
        "Vector.swift",
        "Vertex.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.