The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of GfxMath, reference master (249161), with Swift 6.0 for Linux on 14 Sep 2024 15:57:00 UTC.

Swift 6 data race errors: 12

Build Command

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

Build Log

/host/spi-builder-workspace/Sources/GfxMath/Color/Experimental/EColorFormatFpRGB.swift:24:24: warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 1 | public struct FpRGBColor<D: BinaryFloatingPoint>: ERGBColor {
   |                          `- note: 'D' previously declared here
 2 |     public typealias DataType = D
 3 |
   :
22 |     }
23 |
24 |     public func toIRGB<D>() -> IRGBColor<D> {
   |                        `- warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
25 |         IRGBColor(
26 |             r: D(max(0, min(255, r * 255))),
/host/spi-builder-workspace/Sources/GfxMath/Color/Experimental/EColorFormatFpRGBA.swift:28:25: warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 1 |
 2 |
 3 | public struct FpRGBAColor<D: BinaryFloatingPoint>: ERGBAColor {
   |                           `- note: 'D' previously declared here
 4 |     public typealias DataType = D
 5 |
   :
26 |     }
27 |
28 |     public func toIRGBA<D>() -> IRGBAColor<D> {
   |                         `- warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
29 |         IRGBAColor(
30 |             r: D(max(0, min(255, r * 255))),
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:45:16: warning: 'public' modifier is redundant for property declared in a public extension
 43 |
 44 |     // TODO: there might be a more efficient way to transpose
 45 |     @inlinable public var transposed: Self {
    |                `- warning: 'public' modifier is redundant for property declared in a public extension
 46 |         var matrix = clone() // TODO: maybe have some clone function that does not clone elements
 47 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:265:5: warning: 'public' modifier is redundant for initializer declared in a public extension
263 | public extension Matrix4Protocol {
264 |
265 |     public init<M3: Matrix3Protocol>(topLeft: M3, rest: Self = .identity) where M3.Element == Element {
    |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
266 |         self.init([
267 |             topLeft[0, 0], topLeft[0, 1], topLeft[0, 2], rest[0, 3],
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:379:16: warning: no calls to throwing functions occur within 'try' expression
377 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
378 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
379 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
380 |             right.x, right.y, right.z, 0,
381 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:438:12: warning: no calls to throwing functions occur within 'try' expression
436 | // TODO: might replace this or remove this / current function of this is to simply remove throws
437 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
438 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
439 | }
440 |
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:133:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'LineProtocol': use init(origin:, direction:)
  8 |
  9 |     init()
 10 |     init(point: VectorProtocol, direction: VectorProtocol)
    |     `- note: requirement 'init(point:direction:)' declared here
 11 |     init(origin: VectorProtocol, direction: VectorProtocol)
 12 | }
    :
 14 | public extension LineProtocol {
 15 |     @available(*, deprecated, message: "use init(origin:, direction:)")
 16 |     init(point: VectorProtocol, direction: VectorProtocol) {
    |     `- note: 'init(point:direction:)' declared here
 17 |         self.init(origin: point, direction: direction)
 18 |     }
    :
131 | }
132 |
133 | public struct Line<V: VectorProtocol>: LineProtocol, Equatable where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'LineProtocol': use init(origin:, direction:)
134 |     public typealias VectorProtocol = V
135 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:16:20: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
14 |   }
15 |
16 |   public var line: AnyLine<Vector>
   |                    `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
17 |
18 |   public init(line: AnyLine<Vector>, scaleMin: Vector.Element, scaleMax: Vector.Element) {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:18:21: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
16 |   public var line: AnyLine<Vector>
17 |
18 |   public init(line: AnyLine<Vector>, scaleMin: Vector.Element, scaleMax: Vector.Element) {
   |                     `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
19 |     var scaleMin = scaleMin
20 |     var scaleMax = scaleMax
/host/spi-builder-workspace/Sources/GfxMath/geometry/Plane.swift:16:5: warning: 'public' modifier is redundant for initializer declared in a public extension
14 |     }
15 |
16 |     public init(point: VectorProtocol, normal: VectorProtocol) {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
17 |         self.init()
18 |         self.point = point
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:27: warning: no calls to throwing functions occur within 'try' expression
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                           `- warning: no calls to throwing functions occur within 'try' expression
245 |   }
246 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:37: warning: function call causes an infinite recursion
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                                     `- warning: function call causes an infinite recursion
245 |   }
246 | }
[4/34] Compiling GfxMath EColorFormatFpRGBA.swift
/host/spi-builder-workspace/Sources/GfxMath/Color/Experimental/EColorFormatFpRGBA.swift:28:25: warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 1 |
 2 |
 3 | public struct FpRGBAColor<D: BinaryFloatingPoint>: ERGBAColor {
   |                           `- note: 'D' previously declared here
 4 |     public typealias DataType = D
 5 |
   :
26 |     }
27 |
28 |     public func toIRGBA<D>() -> IRGBAColor<D> {
   |                         `- warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
29 |         IRGBAColor(
30 |             r: D(max(0, min(255, r * 255))),
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
[5/34] Compiling GfxMath EColorFormatIRGB.swift
/host/spi-builder-workspace/Sources/GfxMath/Color/Experimental/EColorFormatFpRGBA.swift:28:25: warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 1 |
 2 |
 3 | public struct FpRGBAColor<D: BinaryFloatingPoint>: ERGBAColor {
   |                           `- note: 'D' previously declared here
 4 |     public typealias DataType = D
 5 |
   :
26 |     }
27 |
28 |     public func toIRGBA<D>() -> IRGBAColor<D> {
   |                         `- warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
29 |         IRGBAColor(
30 |             r: D(max(0, min(255, r * 255))),
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
[6/34] Compiling GfxMath EColorFormatIRGBA.swift
/host/spi-builder-workspace/Sources/GfxMath/Color/Experimental/EColorFormatFpRGBA.swift:28:25: warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 1 |
 2 |
 3 | public struct FpRGBAColor<D: BinaryFloatingPoint>: ERGBAColor {
   |                           `- note: 'D' previously declared here
 4 |     public typealias DataType = D
 5 |
   :
26 |     }
27 |
28 |     public func toIRGBA<D>() -> IRGBAColor<D> {
   |                         `- warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
29 |         IRGBAColor(
30 |             r: D(max(0, min(255, r * 255))),
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
[7/34] Compiling GfxMath ERGBAColor.swift
/host/spi-builder-workspace/Sources/GfxMath/Color/Experimental/EColorFormatFpRGBA.swift:28:25: warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 1 |
 2 |
 3 | public struct FpRGBAColor<D: BinaryFloatingPoint>: ERGBAColor {
   |                           `- note: 'D' previously declared here
 4 |     public typealias DataType = D
 5 |
   :
26 |     }
27 |
28 |     public func toIRGBA<D>() -> IRGBAColor<D> {
   |                         `- warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
29 |         IRGBAColor(
30 |             r: D(max(0, min(255, r * 255))),
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
[8/34] Compiling GfxMath Transformation.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:133:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'LineProtocol': use init(origin:, direction:)
  8 |
  9 |     init()
 10 |     init(point: VectorProtocol, direction: VectorProtocol)
    |     `- note: requirement 'init(point:direction:)' declared here
 11 |     init(origin: VectorProtocol, direction: VectorProtocol)
 12 | }
    :
 14 | public extension LineProtocol {
 15 |     @available(*, deprecated, message: "use init(origin:, direction:)")
 16 |     init(point: VectorProtocol, direction: VectorProtocol) {
    |     `- note: 'init(point:direction:)' declared here
 17 |         self.init(origin: point, direction: direction)
 18 |     }
    :
131 | }
132 |
133 | public struct Line<V: VectorProtocol>: LineProtocol, Equatable where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'LineProtocol': use init(origin:, direction:)
134 |     public typealias VectorProtocol = V
135 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:33:30: warning: 'point' is deprecated: use origin
 31 |
 32 |     var debugDescription: String {
 33 |         "LineProtocol x = (\(point)) + scale * (\(direction))"
    |                              `- warning: 'point' is deprecated: use origin
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:48:16: warning: 'point' is deprecated: use origin
 46 |
 47 |     func pointAt(scale: VectorProtocol.Element) -> VectorProtocol {
 48 |         return point + direction * scale
    |                `- warning: 'point' is deprecated: use origin
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:57:29: warning: 'point' is deprecated: use origin
 55 |             if direction[axis] == 0 {
 56 |                 // TODO: maybe need accuracy here too
 57 |                 if abs(self.point[axis] - point[axis]) > accuracy {
    |                             `- warning: 'point' is deprecated: use origin
 58 |                     return nil
 59 |                 }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:61:49: warning: 'point' is deprecated: use origin
 59 |                 }
 60 |             } else {
 61 |                 let scale = (point[axis] - self.point[axis]) / direction[axis]
    |                                                 `- warning: 'point' is deprecated: use origin
 62 |                 if lastScale == nil {
 63 |                     lastScale = scale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:109:35: warning: 'point' is deprecated: use origin
107 |         // TODO: which value to use as accuracy?
108 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
109 |             if contains(otherLine.point) {
    |                                   `- warning: 'point' is deprecated: use origin
110 |                 return point
111 |             } else {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:110:24: warning: 'point' is deprecated: use origin
108 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
109 |             if contains(otherLine.point) {
110 |                 return point
    |                        `- warning: 'point' is deprecated: use origin
111 |             } else {
112 |                 return nil
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:116:33: warning: 'point' is deprecated: use origin
114 |         }
115 |
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                 `- warning: 'point' is deprecated: use origin
117 |
118 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:116:46: warning: 'point' is deprecated: use origin
114 |         }
115 |
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                              `- warning: 'point' is deprecated: use origin
117 |
118 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:118:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
117 |
118 |         return pointAtScale(scale1)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
119 |     }
120 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:128:53: warning: 'point' is deprecated: use origin
126 |         }
127 |
128 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
    |                                                     `- warning: 'point' is deprecated: use origin
129 |         return pointAtScale(s)
130 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:129:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
127 |
128 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
129 |         return pointAtScale(s)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
130 |     }
131 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:16:20: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
14 |   }
15 |
16 |   public var line: AnyLine<Vector>
   |                    `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
17 |
18 |   public init(line: AnyLine<Vector>, scaleMin: Vector.Element, scaleMax: Vector.Element) {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:18:21: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
16 |   public var line: AnyLine<Vector>
17 |
18 |   public init(line: AnyLine<Vector>, scaleMin: Vector.Element, scaleMax: Vector.Element) {
   |                     `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
19 |     var scaleMin = scaleMin
20 |     var scaleMax = scaleMax
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:7:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 5 |   public var scaleMax: Vector.Element
 6 |   public var start: Vector {
 7 |     line.pointAtScale(scaleMin)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 8 |   }
 9 |   public var end: Vector {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:10:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 8 |   }
 9 |   public var end: Vector {
10 |     line.pointAtScale(scaleMax)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
11 |   }
12 |   public var length: Vector.Element {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:34:16: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
32 |
33 |   public init(start: Vector, end: Vector) {
34 |     let line = AnyLine(from: start, to: end)
   |                `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
35 |     var scaleMin = line.scaleAt(start)!
36 |     var scaleMax = line.scaleAt(end)!
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:35:9: warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
33 |   public init(start: Vector, end: Vector) {
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
   |         `- warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
36 |     var scaleMax = line.scaleAt(end)!
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:36:9: warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
36 |     var scaleMax = line.scaleAt(end)!
   |         `- warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
38 |   }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Plane.swift:16:5: warning: 'public' modifier is redundant for initializer declared in a public extension
14 |     }
15 |
16 |     public init(point: VectorProtocol, normal: VectorProtocol) {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
17 |         self.init()
18 |         self.point = point
[9/34] Compiling GfxMath Line.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:133:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'LineProtocol': use init(origin:, direction:)
  8 |
  9 |     init()
 10 |     init(point: VectorProtocol, direction: VectorProtocol)
    |     `- note: requirement 'init(point:direction:)' declared here
 11 |     init(origin: VectorProtocol, direction: VectorProtocol)
 12 | }
    :
 14 | public extension LineProtocol {
 15 |     @available(*, deprecated, message: "use init(origin:, direction:)")
 16 |     init(point: VectorProtocol, direction: VectorProtocol) {
    |     `- note: 'init(point:direction:)' declared here
 17 |         self.init(origin: point, direction: direction)
 18 |     }
    :
131 | }
132 |
133 | public struct Line<V: VectorProtocol>: LineProtocol, Equatable where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'LineProtocol': use init(origin:, direction:)
134 |     public typealias VectorProtocol = V
135 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:33:30: warning: 'point' is deprecated: use origin
 31 |
 32 |     var debugDescription: String {
 33 |         "LineProtocol x = (\(point)) + scale * (\(direction))"
    |                              `- warning: 'point' is deprecated: use origin
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:48:16: warning: 'point' is deprecated: use origin
 46 |
 47 |     func pointAt(scale: VectorProtocol.Element) -> VectorProtocol {
 48 |         return point + direction * scale
    |                `- warning: 'point' is deprecated: use origin
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:57:29: warning: 'point' is deprecated: use origin
 55 |             if direction[axis] == 0 {
 56 |                 // TODO: maybe need accuracy here too
 57 |                 if abs(self.point[axis] - point[axis]) > accuracy {
    |                             `- warning: 'point' is deprecated: use origin
 58 |                     return nil
 59 |                 }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:61:49: warning: 'point' is deprecated: use origin
 59 |                 }
 60 |             } else {
 61 |                 let scale = (point[axis] - self.point[axis]) / direction[axis]
    |                                                 `- warning: 'point' is deprecated: use origin
 62 |                 if lastScale == nil {
 63 |                     lastScale = scale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:109:35: warning: 'point' is deprecated: use origin
107 |         // TODO: which value to use as accuracy?
108 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
109 |             if contains(otherLine.point) {
    |                                   `- warning: 'point' is deprecated: use origin
110 |                 return point
111 |             } else {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:110:24: warning: 'point' is deprecated: use origin
108 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
109 |             if contains(otherLine.point) {
110 |                 return point
    |                        `- warning: 'point' is deprecated: use origin
111 |             } else {
112 |                 return nil
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:116:33: warning: 'point' is deprecated: use origin
114 |         }
115 |
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                 `- warning: 'point' is deprecated: use origin
117 |
118 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:116:46: warning: 'point' is deprecated: use origin
114 |         }
115 |
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                              `- warning: 'point' is deprecated: use origin
117 |
118 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:118:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
117 |
118 |         return pointAtScale(scale1)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
119 |     }
120 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:128:53: warning: 'point' is deprecated: use origin
126 |         }
127 |
128 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
    |                                                     `- warning: 'point' is deprecated: use origin
129 |         return pointAtScale(s)
130 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:129:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
127 |
128 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
129 |         return pointAtScale(s)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
130 |     }
131 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:16:20: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
14 |   }
15 |
16 |   public var line: AnyLine<Vector>
   |                    `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
17 |
18 |   public init(line: AnyLine<Vector>, scaleMin: Vector.Element, scaleMax: Vector.Element) {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:18:21: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
16 |   public var line: AnyLine<Vector>
17 |
18 |   public init(line: AnyLine<Vector>, scaleMin: Vector.Element, scaleMax: Vector.Element) {
   |                     `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
19 |     var scaleMin = scaleMin
20 |     var scaleMax = scaleMax
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:7:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 5 |   public var scaleMax: Vector.Element
 6 |   public var start: Vector {
 7 |     line.pointAtScale(scaleMin)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 8 |   }
 9 |   public var end: Vector {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:10:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 8 |   }
 9 |   public var end: Vector {
10 |     line.pointAtScale(scaleMax)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
11 |   }
12 |   public var length: Vector.Element {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:34:16: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
32 |
33 |   public init(start: Vector, end: Vector) {
34 |     let line = AnyLine(from: start, to: end)
   |                `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
35 |     var scaleMin = line.scaleAt(start)!
36 |     var scaleMax = line.scaleAt(end)!
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:35:9: warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
33 |   public init(start: Vector, end: Vector) {
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
   |         `- warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
36 |     var scaleMax = line.scaleAt(end)!
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:36:9: warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
36 |     var scaleMax = line.scaleAt(end)!
   |         `- warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
38 |   }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Plane.swift:16:5: warning: 'public' modifier is redundant for initializer declared in a public extension
14 |     }
15 |
16 |     public init(point: VectorProtocol, normal: VectorProtocol) {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
17 |         self.init()
18 |         self.point = point
[10/34] Compiling GfxMath LineSegment.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:133:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'LineProtocol': use init(origin:, direction:)
  8 |
  9 |     init()
 10 |     init(point: VectorProtocol, direction: VectorProtocol)
    |     `- note: requirement 'init(point:direction:)' declared here
 11 |     init(origin: VectorProtocol, direction: VectorProtocol)
 12 | }
    :
 14 | public extension LineProtocol {
 15 |     @available(*, deprecated, message: "use init(origin:, direction:)")
 16 |     init(point: VectorProtocol, direction: VectorProtocol) {
    |     `- note: 'init(point:direction:)' declared here
 17 |         self.init(origin: point, direction: direction)
 18 |     }
    :
131 | }
132 |
133 | public struct Line<V: VectorProtocol>: LineProtocol, Equatable where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'LineProtocol': use init(origin:, direction:)
134 |     public typealias VectorProtocol = V
135 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:33:30: warning: 'point' is deprecated: use origin
 31 |
 32 |     var debugDescription: String {
 33 |         "LineProtocol x = (\(point)) + scale * (\(direction))"
    |                              `- warning: 'point' is deprecated: use origin
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:48:16: warning: 'point' is deprecated: use origin
 46 |
 47 |     func pointAt(scale: VectorProtocol.Element) -> VectorProtocol {
 48 |         return point + direction * scale
    |                `- warning: 'point' is deprecated: use origin
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:57:29: warning: 'point' is deprecated: use origin
 55 |             if direction[axis] == 0 {
 56 |                 // TODO: maybe need accuracy here too
 57 |                 if abs(self.point[axis] - point[axis]) > accuracy {
    |                             `- warning: 'point' is deprecated: use origin
 58 |                     return nil
 59 |                 }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:61:49: warning: 'point' is deprecated: use origin
 59 |                 }
 60 |             } else {
 61 |                 let scale = (point[axis] - self.point[axis]) / direction[axis]
    |                                                 `- warning: 'point' is deprecated: use origin
 62 |                 if lastScale == nil {
 63 |                     lastScale = scale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:109:35: warning: 'point' is deprecated: use origin
107 |         // TODO: which value to use as accuracy?
108 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
109 |             if contains(otherLine.point) {
    |                                   `- warning: 'point' is deprecated: use origin
110 |                 return point
111 |             } else {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:110:24: warning: 'point' is deprecated: use origin
108 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
109 |             if contains(otherLine.point) {
110 |                 return point
    |                        `- warning: 'point' is deprecated: use origin
111 |             } else {
112 |                 return nil
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:116:33: warning: 'point' is deprecated: use origin
114 |         }
115 |
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                 `- warning: 'point' is deprecated: use origin
117 |
118 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:116:46: warning: 'point' is deprecated: use origin
114 |         }
115 |
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                              `- warning: 'point' is deprecated: use origin
117 |
118 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:118:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
117 |
118 |         return pointAtScale(scale1)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
119 |     }
120 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:128:53: warning: 'point' is deprecated: use origin
126 |         }
127 |
128 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
    |                                                     `- warning: 'point' is deprecated: use origin
129 |         return pointAtScale(s)
130 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:129:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
127 |
128 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
129 |         return pointAtScale(s)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
130 |     }
131 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:16:20: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
14 |   }
15 |
16 |   public var line: AnyLine<Vector>
   |                    `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
17 |
18 |   public init(line: AnyLine<Vector>, scaleMin: Vector.Element, scaleMax: Vector.Element) {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:18:21: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
16 |   public var line: AnyLine<Vector>
17 |
18 |   public init(line: AnyLine<Vector>, scaleMin: Vector.Element, scaleMax: Vector.Element) {
   |                     `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
19 |     var scaleMin = scaleMin
20 |     var scaleMax = scaleMax
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:7:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 5 |   public var scaleMax: Vector.Element
 6 |   public var start: Vector {
 7 |     line.pointAtScale(scaleMin)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 8 |   }
 9 |   public var end: Vector {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:10:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 8 |   }
 9 |   public var end: Vector {
10 |     line.pointAtScale(scaleMax)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
11 |   }
12 |   public var length: Vector.Element {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:34:16: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
32 |
33 |   public init(start: Vector, end: Vector) {
34 |     let line = AnyLine(from: start, to: end)
   |                `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
35 |     var scaleMin = line.scaleAt(start)!
36 |     var scaleMax = line.scaleAt(end)!
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:35:9: warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
33 |   public init(start: Vector, end: Vector) {
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
   |         `- warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
36 |     var scaleMax = line.scaleAt(end)!
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:36:9: warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
36 |     var scaleMax = line.scaleAt(end)!
   |         `- warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
38 |   }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Plane.swift:16:5: warning: 'public' modifier is redundant for initializer declared in a public extension
14 |     }
15 |
16 |     public init(point: VectorProtocol, normal: VectorProtocol) {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
17 |         self.init()
18 |         self.point = point
[11/34] Compiling GfxMath Plane.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:133:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'LineProtocol': use init(origin:, direction:)
  8 |
  9 |     init()
 10 |     init(point: VectorProtocol, direction: VectorProtocol)
    |     `- note: requirement 'init(point:direction:)' declared here
 11 |     init(origin: VectorProtocol, direction: VectorProtocol)
 12 | }
    :
 14 | public extension LineProtocol {
 15 |     @available(*, deprecated, message: "use init(origin:, direction:)")
 16 |     init(point: VectorProtocol, direction: VectorProtocol) {
    |     `- note: 'init(point:direction:)' declared here
 17 |         self.init(origin: point, direction: direction)
 18 |     }
    :
131 | }
132 |
133 | public struct Line<V: VectorProtocol>: LineProtocol, Equatable where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'LineProtocol': use init(origin:, direction:)
134 |     public typealias VectorProtocol = V
135 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:33:30: warning: 'point' is deprecated: use origin
 31 |
 32 |     var debugDescription: String {
 33 |         "LineProtocol x = (\(point)) + scale * (\(direction))"
    |                              `- warning: 'point' is deprecated: use origin
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:48:16: warning: 'point' is deprecated: use origin
 46 |
 47 |     func pointAt(scale: VectorProtocol.Element) -> VectorProtocol {
 48 |         return point + direction * scale
    |                `- warning: 'point' is deprecated: use origin
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:57:29: warning: 'point' is deprecated: use origin
 55 |             if direction[axis] == 0 {
 56 |                 // TODO: maybe need accuracy here too
 57 |                 if abs(self.point[axis] - point[axis]) > accuracy {
    |                             `- warning: 'point' is deprecated: use origin
 58 |                     return nil
 59 |                 }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:61:49: warning: 'point' is deprecated: use origin
 59 |                 }
 60 |             } else {
 61 |                 let scale = (point[axis] - self.point[axis]) / direction[axis]
    |                                                 `- warning: 'point' is deprecated: use origin
 62 |                 if lastScale == nil {
 63 |                     lastScale = scale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:109:35: warning: 'point' is deprecated: use origin
107 |         // TODO: which value to use as accuracy?
108 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
109 |             if contains(otherLine.point) {
    |                                   `- warning: 'point' is deprecated: use origin
110 |                 return point
111 |             } else {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:110:24: warning: 'point' is deprecated: use origin
108 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
109 |             if contains(otherLine.point) {
110 |                 return point
    |                        `- warning: 'point' is deprecated: use origin
111 |             } else {
112 |                 return nil
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:116:33: warning: 'point' is deprecated: use origin
114 |         }
115 |
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                 `- warning: 'point' is deprecated: use origin
117 |
118 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:116:46: warning: 'point' is deprecated: use origin
114 |         }
115 |
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                              `- warning: 'point' is deprecated: use origin
117 |
118 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:118:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
116 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
117 |
118 |         return pointAtScale(scale1)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
119 |     }
120 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:128:53: warning: 'point' is deprecated: use origin
126 |         }
127 |
128 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
    |                                                     `- warning: 'point' is deprecated: use origin
129 |         return pointAtScale(s)
130 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:129:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
127 |
128 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
129 |         return pointAtScale(s)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
130 |     }
131 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:16:20: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
14 |   }
15 |
16 |   public var line: AnyLine<Vector>
   |                    `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
17 |
18 |   public init(line: AnyLine<Vector>, scaleMin: Vector.Element, scaleMax: Vector.Element) {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:18:21: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
16 |   public var line: AnyLine<Vector>
17 |
18 |   public init(line: AnyLine<Vector>, scaleMin: Vector.Element, scaleMax: Vector.Element) {
   |                     `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
19 |     var scaleMin = scaleMin
20 |     var scaleMax = scaleMax
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:7:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 5 |   public var scaleMax: Vector.Element
 6 |   public var start: Vector {
 7 |     line.pointAtScale(scaleMin)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 8 |   }
 9 |   public var end: Vector {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:10:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
 8 |   }
 9 |   public var end: Vector {
10 |     line.pointAtScale(scaleMax)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
11 |   }
12 |   public var length: Vector.Element {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:34:16: warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
32 |
33 |   public init(start: Vector, end: Vector) {
34 |     let line = AnyLine(from: start, to: end)
   |                `- warning: 'AnyLine' is deprecated: use Line<V> instead of AnyLine<V>
35 |     var scaleMin = line.scaleAt(start)!
36 |     var scaleMax = line.scaleAt(end)!
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:35:9: warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
33 |   public init(start: Vector, end: Vector) {
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
   |         `- warning: variable 'scaleMin' was never mutated; consider changing to 'let' constant
36 |     var scaleMax = line.scaleAt(end)!
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:36:9: warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
34 |     let line = AnyLine(from: start, to: end)
35 |     var scaleMin = line.scaleAt(start)!
36 |     var scaleMax = line.scaleAt(end)!
   |         `- warning: variable 'scaleMax' was never mutated; consider changing to 'let' constant
37 |     self.init(line: line, scaleMin: scaleMin, scaleMax: scaleMax)
38 |   }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Plane.swift:16:5: warning: 'public' modifier is redundant for initializer declared in a public extension
14 |     }
15 |
16 |     public init(point: VectorProtocol, normal: VectorProtocol) {
   |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
17 |         self.init()
18 |         self.point = point
[12/34] Compiling GfxMath Color+EColor.swift
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:19:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
17 |     public static let grey = Color(128, 128, 128, 255)
18 |
19 |     public static let white = Color(255, 255, 255, 255)
   |                       |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'white' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:15:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
13 |     public static let lightBlue = Color(180, 180, 255, 255)
14 |
15 |     public static let black = Color(0, 0, 0, 255)
   |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'black' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Color/Experimental/EColorFormatFpRGB.swift:24:24: warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 1 | public struct FpRGBColor<D: BinaryFloatingPoint>: ERGBColor {
   |                          `- note: 'D' previously declared here
 2 |     public typealias DataType = D
 3 |
   :
22 |     }
23 |
24 |     public func toIRGB<D>() -> IRGBColor<D> {
   |                        `- warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
25 |         IRGBColor(
26 |             r: D(max(0, min(255, r * 255))),
[13/34] Compiling GfxMath EColor+swim.swift
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:19:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
17 |     public static let grey = Color(128, 128, 128, 255)
18 |
19 |     public static let white = Color(255, 255, 255, 255)
   |                       |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'white' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:15:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
13 |     public static let lightBlue = Color(180, 180, 255, 255)
14 |
15 |     public static let black = Color(0, 0, 0, 255)
   |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'black' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Color/Experimental/EColorFormatFpRGB.swift:24:24: warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 1 | public struct FpRGBColor<D: BinaryFloatingPoint>: ERGBColor {
   |                          `- note: 'D' previously declared here
 2 |     public typealias DataType = D
 3 |
   :
22 |     }
23 |
24 |     public func toIRGB<D>() -> IRGBColor<D> {
   |                        `- warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
25 |         IRGBColor(
26 |             r: D(max(0, min(255, r * 255))),
[14/34] Compiling GfxMath EColor.swift
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:19:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
17 |     public static let grey = Color(128, 128, 128, 255)
18 |
19 |     public static let white = Color(255, 255, 255, 255)
   |                       |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'white' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:15:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
13 |     public static let lightBlue = Color(180, 180, 255, 255)
14 |
15 |     public static let black = Color(0, 0, 0, 255)
   |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'black' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Color/Experimental/EColorFormatFpRGB.swift:24:24: warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 1 | public struct FpRGBColor<D: BinaryFloatingPoint>: ERGBColor {
   |                          `- note: 'D' previously declared here
 2 |     public typealias DataType = D
 3 |
   :
22 |     }
23 |
24 |     public func toIRGB<D>() -> IRGBColor<D> {
   |                        `- warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
25 |         IRGBColor(
26 |             r: D(max(0, min(255, r * 255))),
[15/34] Compiling GfxMath EColorFormatFpRGB.swift
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:19:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
17 |     public static let grey = Color(128, 128, 128, 255)
18 |
19 |     public static let white = Color(255, 255, 255, 255)
   |                       |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'white' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:15:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
13 |     public static let lightBlue = Color(180, 180, 255, 255)
14 |
15 |     public static let black = Color(0, 0, 0, 255)
   |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'black' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Color/Experimental/EColorFormatFpRGB.swift:24:24: warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 1 | public struct FpRGBColor<D: BinaryFloatingPoint>: ERGBColor {
   |                          `- note: 'D' previously declared here
 2 |     public typealias DataType = D
 3 |
   :
22 |     }
23 |
24 |     public func toIRGB<D>() -> IRGBColor<D> {
   |                        `- warning: generic parameter 'D' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
25 |         IRGBColor(
26 |             r: D(max(0, min(255, r * 255))),
[16/34] Compiling GfxMath ERGBColor.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:45:16: warning: 'public' modifier is redundant for property declared in a public extension
 43 |
 44 |     // TODO: there might be a more efficient way to transpose
 45 |     @inlinable public var transposed: Self {
    |                `- warning: 'public' modifier is redundant for property declared in a public extension
 46 |         var matrix = clone() // TODO: maybe have some clone function that does not clone elements
 47 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:265:5: warning: 'public' modifier is redundant for initializer declared in a public extension
263 | public extension Matrix4Protocol {
264 |
265 |     public init<M3: Matrix3Protocol>(topLeft: M3, rest: Self = .identity) where M3.Element == Element {
    |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
266 |         self.init([
267 |             topLeft[0, 0], topLeft[0, 1], topLeft[0, 2], rest[0, 3],
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:379:16: warning: no calls to throwing functions occur within 'try' expression
377 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
378 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
379 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
380 |             right.x, right.y, right.z, 0,
381 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:438:12: warning: no calls to throwing functions occur within 'try' expression
436 | // TODO: might replace this or remove this / current function of this is to simply remove throws
437 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
438 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
439 | }
440 |
[17/34] Compiling GfxMath FloatingPointGenericMath.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:45:16: warning: 'public' modifier is redundant for property declared in a public extension
 43 |
 44 |     // TODO: there might be a more efficient way to transpose
 45 |     @inlinable public var transposed: Self {
    |                `- warning: 'public' modifier is redundant for property declared in a public extension
 46 |         var matrix = clone() // TODO: maybe have some clone function that does not clone elements
 47 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:265:5: warning: 'public' modifier is redundant for initializer declared in a public extension
263 | public extension Matrix4Protocol {
264 |
265 |     public init<M3: Matrix3Protocol>(topLeft: M3, rest: Self = .identity) where M3.Element == Element {
    |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
266 |         self.init([
267 |             topLeft[0, 0], topLeft[0, 1], topLeft[0, 2], rest[0, 3],
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:379:16: warning: no calls to throwing functions occur within 'try' expression
377 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
378 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
379 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
380 |             right.x, right.y, right.z, 0,
381 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:438:12: warning: no calls to throwing functions occur within 'try' expression
436 | // TODO: might replace this or remove this / current function of this is to simply remove throws
437 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
438 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
439 | }
440 |
[18/34] Compiling GfxMath Matrix.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:45:16: warning: 'public' modifier is redundant for property declared in a public extension
 43 |
 44 |     // TODO: there might be a more efficient way to transpose
 45 |     @inlinable public var transposed: Self {
    |                `- warning: 'public' modifier is redundant for property declared in a public extension
 46 |         var matrix = clone() // TODO: maybe have some clone function that does not clone elements
 47 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:265:5: warning: 'public' modifier is redundant for initializer declared in a public extension
263 | public extension Matrix4Protocol {
264 |
265 |     public init<M3: Matrix3Protocol>(topLeft: M3, rest: Self = .identity) where M3.Element == Element {
    |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
266 |         self.init([
267 |             topLeft[0, 0], topLeft[0, 1], topLeft[0, 2], rest[0, 3],
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:379:16: warning: no calls to throwing functions occur within 'try' expression
377 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
378 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
379 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
380 |             right.x, right.y, right.z, 0,
381 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:438:12: warning: no calls to throwing functions occur within 'try' expression
436 | // TODO: might replace this or remove this / current function of this is to simply remove throws
437 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
438 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
439 | }
440 |
[19/34] Compiling GfxMath MatrixDimension.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:45:16: warning: 'public' modifier is redundant for property declared in a public extension
 43 |
 44 |     // TODO: there might be a more efficient way to transpose
 45 |     @inlinable public var transposed: Self {
    |                `- warning: 'public' modifier is redundant for property declared in a public extension
 46 |         var matrix = clone() // TODO: maybe have some clone function that does not clone elements
 47 |
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:265:5: warning: 'public' modifier is redundant for initializer declared in a public extension
263 | public extension Matrix4Protocol {
264 |
265 |     public init<M3: Matrix3Protocol>(topLeft: M3, rest: Self = .identity) where M3.Element == Element {
    |     `- warning: 'public' modifier is redundant for initializer declared in a public extension
266 |         self.init([
267 |             topLeft[0, 0], topLeft[0, 1], topLeft[0, 2], rest[0, 3],
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:379:16: warning: no calls to throwing functions occur within 'try' expression
377 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
378 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
379 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
380 |             right.x, right.y, right.z, 0,
381 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:438:12: warning: no calls to throwing functions occur within 'try' expression
436 | // TODO: might replace this or remove this / current function of this is to simply remove throws
437 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
438 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
439 | }
440 |
[20/34] Compiling GfxMath Rect.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:131:54: warning: 'point' is deprecated: use origin
129 |         var maxScale = Data.infinity
130 |         for dimension in 0..<2 {
131 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin
132 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
133 |             if newMinScale > newMaxScale {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:132:54: warning: 'point' is deprecated: use origin
130 |         for dimension in 0..<2 {
131 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
132 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin
133 |             if newMinScale > newMaxScale {
134 |                 let tmp = newMinScale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:146:41: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
144 |         }
145 |
146 |         return (min: Vector2<Data>(line.pointAtScale(minScale)), max: Vector2<Data>(line.pointAtScale(maxScale)))
    |                                         `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
147 |     }
148 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:146:90: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
144 |         }
145 |
146 |         return (min: Vector2<Data>(line.pointAtScale(minScale)), max: Vector2<Data>(line.pointAtScale(maxScale)))
    |                                                                                          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
147 |     }
148 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:27: warning: no calls to throwing functions occur within 'try' expression
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                           `- warning: no calls to throwing functions occur within 'try' expression
245 |   }
246 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:37: warning: function call causes an infinite recursion
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                                     `- warning: function call causes an infinite recursion
245 |   }
246 | }
[21/34] Compiling GfxMath Triangle.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:131:54: warning: 'point' is deprecated: use origin
129 |         var maxScale = Data.infinity
130 |         for dimension in 0..<2 {
131 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin
132 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
133 |             if newMinScale > newMaxScale {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:132:54: warning: 'point' is deprecated: use origin
130 |         for dimension in 0..<2 {
131 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
132 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin
133 |             if newMinScale > newMaxScale {
134 |                 let tmp = newMinScale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:146:41: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
144 |         }
145 |
146 |         return (min: Vector2<Data>(line.pointAtScale(minScale)), max: Vector2<Data>(line.pointAtScale(maxScale)))
    |                                         `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
147 |     }
148 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:146:90: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
144 |         }
145 |
146 |         return (min: Vector2<Data>(line.pointAtScale(minScale)), max: Vector2<Data>(line.pointAtScale(maxScale)))
    |                                                                                          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
147 |     }
148 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:27: warning: no calls to throwing functions occur within 'try' expression
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                           `- warning: no calls to throwing functions occur within 'try' expression
245 |   }
246 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:37: warning: function call causes an infinite recursion
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                                     `- warning: function call causes an infinite recursion
245 |   }
246 | }
[22/34] Compiling GfxMath Vector.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:131:54: warning: 'point' is deprecated: use origin
129 |         var maxScale = Data.infinity
130 |         for dimension in 0..<2 {
131 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin
132 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
133 |             if newMinScale > newMaxScale {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:132:54: warning: 'point' is deprecated: use origin
130 |         for dimension in 0..<2 {
131 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
132 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin
133 |             if newMinScale > newMaxScale {
134 |                 let tmp = newMinScale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:146:41: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
144 |         }
145 |
146 |         return (min: Vector2<Data>(line.pointAtScale(minScale)), max: Vector2<Data>(line.pointAtScale(maxScale)))
    |                                         `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
147 |     }
148 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:146:90: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
144 |         }
145 |
146 |         return (min: Vector2<Data>(line.pointAtScale(minScale)), max: Vector2<Data>(line.pointAtScale(maxScale)))
    |                                                                                          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
147 |     }
148 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:27: warning: no calls to throwing functions occur within 'try' expression
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                           `- warning: no calls to throwing functions occur within 'try' expression
245 |   }
246 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:37: warning: function call causes an infinite recursion
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                                     `- warning: function call causes an infinite recursion
245 |   }
246 | }
[23/34] Compiling GfxMath VectorLayout.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:131:54: warning: 'point' is deprecated: use origin
129 |         var maxScale = Data.infinity
130 |         for dimension in 0..<2 {
131 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin
132 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
133 |             if newMinScale > newMaxScale {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:132:54: warning: 'point' is deprecated: use origin
130 |         for dimension in 0..<2 {
131 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
132 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin
133 |             if newMinScale > newMaxScale {
134 |                 let tmp = newMinScale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:146:41: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
144 |         }
145 |
146 |         return (min: Vector2<Data>(line.pointAtScale(minScale)), max: Vector2<Data>(line.pointAtScale(maxScale)))
    |                                         `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
147 |     }
148 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:146:90: warning: 'pointAtScale' is deprecated: use pointAt(scale:)
144 |         }
145 |
146 |         return (min: Vector2<Data>(line.pointAtScale(minScale)), max: Vector2<Data>(line.pointAtScale(maxScale)))
    |                                                                                          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:)
147 |     }
148 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:174:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
172 |
173 | extension Vector4Protocol {
174 |   public typealias Dimension = Dim_4x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
175 |
176 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:27: warning: no calls to throwing functions occur within 'try' expression
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                           `- warning: no calls to throwing functions occur within 'try' expression
245 |   }
246 | }
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:244:37: warning: function call causes an infinite recursion
242 |     -> VectorProtocol where Self.Element == VectorProtocol.Element
243 |   {
244 |     return VectorProtocol(try! self.matmul(other).elements)
    |                                     `- warning: function call causes an infinite recursion
245 |   }
246 | }
[24/34] Compiling GfxMath Accuracy.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:3:23: warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | extension Color {
 2 |
 3 |     public static let red = Color(255, 0, 0, 255)
   |                       |- warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'red' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 4 |
 5 |     public static let green = Color(0, 255, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:5:23: warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 3 |     public static let red = Color(255, 0, 0, 255)
 4 |
 5 |     public static let green = Color(0, 255, 0, 255)
   |                       |- warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'green' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public static let yellow = Color(255, 255, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:7:23: warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |     public static let green = Color(0, 255, 0, 255)
 6 |
 7 |     public static let yellow = Color(255, 255, 0, 255)
   |                       |- warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'yellow' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     public static let orange = Color(255, 150, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:9:23: warning: static property 'orange' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 7 |     public static let yellow = Color(255, 255, 0, 255)
 8 |
 9 |     public static let orange = Color(255, 150, 0, 255)
   |                       |- warning: static property 'orange' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'orange' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     public static let blue = Color(0, 0, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:11:23: warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |     public static let orange = Color(255, 150, 0, 255)
10 |
11 |     public static let blue = Color(0, 0, 255, 255)
   |                       |- warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'blue' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 |     public static let lightBlue = Color(180, 180, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:13:23: warning: static property 'lightBlue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
11 |     public static let blue = Color(0, 0, 255, 255)
12 |
13 |     public static let lightBlue = Color(180, 180, 255, 255)
   |                       |- warning: static property 'lightBlue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'lightBlue' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 |     public static let black = Color(0, 0, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:15:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
13 |     public static let lightBlue = Color(180, 180, 255, 255)
14 |
15 |     public static let black = Color(0, 0, 0, 255)
   |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'black' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:17:23: warning: static property 'grey' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
15 |     public static let black = Color(0, 0, 0, 255)
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
   |                       |- warning: static property 'grey' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'grey' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 |     public static let white = Color(255, 255, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:19:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
17 |     public static let grey = Color(128, 128, 128, 255)
18 |
19 |     public static let white = Color(255, 255, 255, 255)
   |                       |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'white' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:21:23: warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     public static let white = Color(255, 255, 255, 255)
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
   |                       |- warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'transparent' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
[25/34] Compiling GfxMath Color+Conversions.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:3:23: warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | extension Color {
 2 |
 3 |     public static let red = Color(255, 0, 0, 255)
   |                       |- warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'red' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 4 |
 5 |     public static let green = Color(0, 255, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:5:23: warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 3 |     public static let red = Color(255, 0, 0, 255)
 4 |
 5 |     public static let green = Color(0, 255, 0, 255)
   |                       |- warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'green' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public static let yellow = Color(255, 255, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:7:23: warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |     public static let green = Color(0, 255, 0, 255)
 6 |
 7 |     public static let yellow = Color(255, 255, 0, 255)
   |                       |- warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'yellow' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     public static let orange = Color(255, 150, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:9:23: warning: static property 'orange' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 7 |     public static let yellow = Color(255, 255, 0, 255)
 8 |
 9 |     public static let orange = Color(255, 150, 0, 255)
   |                       |- warning: static property 'orange' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'orange' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     public static let blue = Color(0, 0, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:11:23: warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |     public static let orange = Color(255, 150, 0, 255)
10 |
11 |     public static let blue = Color(0, 0, 255, 255)
   |                       |- warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'blue' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 |     public static let lightBlue = Color(180, 180, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:13:23: warning: static property 'lightBlue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
11 |     public static let blue = Color(0, 0, 255, 255)
12 |
13 |     public static let lightBlue = Color(180, 180, 255, 255)
   |                       |- warning: static property 'lightBlue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'lightBlue' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 |     public static let black = Color(0, 0, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:15:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
13 |     public static let lightBlue = Color(180, 180, 255, 255)
14 |
15 |     public static let black = Color(0, 0, 0, 255)
   |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'black' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:17:23: warning: static property 'grey' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
15 |     public static let black = Color(0, 0, 0, 255)
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
   |                       |- warning: static property 'grey' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'grey' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 |     public static let white = Color(255, 255, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:19:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
17 |     public static let grey = Color(128, 128, 128, 255)
18 |
19 |     public static let white = Color(255, 255, 255, 255)
   |                       |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'white' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:21:23: warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     public static let white = Color(255, 255, 255, 255)
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
   |                       |- warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'transparent' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
[26/34] Compiling GfxMath Color+DefaultColors.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:3:23: warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | extension Color {
 2 |
 3 |     public static let red = Color(255, 0, 0, 255)
   |                       |- warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'red' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 4 |
 5 |     public static let green = Color(0, 255, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:5:23: warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 3 |     public static let red = Color(255, 0, 0, 255)
 4 |
 5 |     public static let green = Color(0, 255, 0, 255)
   |                       |- warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'green' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public static let yellow = Color(255, 255, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:7:23: warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |     public static let green = Color(0, 255, 0, 255)
 6 |
 7 |     public static let yellow = Color(255, 255, 0, 255)
   |                       |- warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'yellow' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     public static let orange = Color(255, 150, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:9:23: warning: static property 'orange' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 7 |     public static let yellow = Color(255, 255, 0, 255)
 8 |
 9 |     public static let orange = Color(255, 150, 0, 255)
   |                       |- warning: static property 'orange' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'orange' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     public static let blue = Color(0, 0, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:11:23: warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |     public static let orange = Color(255, 150, 0, 255)
10 |
11 |     public static let blue = Color(0, 0, 255, 255)
   |                       |- warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'blue' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 |     public static let lightBlue = Color(180, 180, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:13:23: warning: static property 'lightBlue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
11 |     public static let blue = Color(0, 0, 255, 255)
12 |
13 |     public static let lightBlue = Color(180, 180, 255, 255)
   |                       |- warning: static property 'lightBlue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'lightBlue' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 |     public static let black = Color(0, 0, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:15:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
13 |     public static let lightBlue = Color(180, 180, 255, 255)
14 |
15 |     public static let black = Color(0, 0, 0, 255)
   |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'black' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:17:23: warning: static property 'grey' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
15 |     public static let black = Color(0, 0, 0, 255)
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
   |                       |- warning: static property 'grey' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'grey' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 |     public static let white = Color(255, 255, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:19:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
17 |     public static let grey = Color(128, 128, 128, 255)
18 |
19 |     public static let white = Color(255, 255, 255, 255)
   |                       |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'white' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:21:23: warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     public static let white = Color(255, 255, 255, 255)
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
   |                       |- warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'transparent' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
[27/34] Compiling GfxMath Color.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:3:23: warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | extension Color {
 2 |
 3 |     public static let red = Color(255, 0, 0, 255)
   |                       |- warning: static property 'red' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'red' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 4 |
 5 |     public static let green = Color(0, 255, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:5:23: warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 3 |     public static let red = Color(255, 0, 0, 255)
 4 |
 5 |     public static let green = Color(0, 255, 0, 255)
   |                       |- warning: static property 'green' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'green' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 6 |
 7 |     public static let yellow = Color(255, 255, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:7:23: warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 5 |     public static let green = Color(0, 255, 0, 255)
 6 |
 7 |     public static let yellow = Color(255, 255, 0, 255)
   |                       |- warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'yellow' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 8 |
 9 |     public static let orange = Color(255, 150, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:9:23: warning: static property 'orange' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 7 |     public static let yellow = Color(255, 255, 0, 255)
 8 |
 9 |     public static let orange = Color(255, 150, 0, 255)
   |                       |- warning: static property 'orange' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'orange' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
10 |
11 |     public static let blue = Color(0, 0, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:11:23: warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
 9 |     public static let orange = Color(255, 150, 0, 255)
10 |
11 |     public static let blue = Color(0, 0, 255, 255)
   |                       |- warning: static property 'blue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'blue' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 |     public static let lightBlue = Color(180, 180, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:13:23: warning: static property 'lightBlue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
11 |     public static let blue = Color(0, 0, 255, 255)
12 |
13 |     public static let lightBlue = Color(180, 180, 255, 255)
   |                       |- warning: static property 'lightBlue' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'lightBlue' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |
15 |     public static let black = Color(0, 0, 0, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:15:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
13 |     public static let lightBlue = Color(180, 180, 255, 255)
14 |
15 |     public static let black = Color(0, 0, 0, 255)
   |                       |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'black' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:17:23: warning: static property 'grey' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
15 |     public static let black = Color(0, 0, 0, 255)
16 |
17 |     public static let grey = Color(128, 128, 128, 255)
   |                       |- warning: static property 'grey' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'grey' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 |     public static let white = Color(255, 255, 255, 255)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:19:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
17 |     public static let grey = Color(128, 128, 128, 255)
18 |
19 |     public static let white = Color(255, 255, 255, 255)
   |                       |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'white' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
/host/spi-builder-workspace/Sources/GfxMath/Color/Color+DefaultColors.swift:21:23: warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
19 |     public static let white = Color(255, 255, 255, 255)
20 |
21 |     public static let transparent = Color(0, 0, 0, 0)
   |                       |- warning: static property 'transparent' is not concurrency-safe because non-'Sendable' type 'Color' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'transparent' with '@MainActor' if property should only be accessed from the main actor
   |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 | }
/host/spi-builder-workspace/Sources/GfxMath/Color/Color.swift:3:15: note: consider making struct 'Color' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | public struct Color: Hashable, Equatable {
    |               `- note: consider making struct 'Color' conform to the 'Sendable' protocol
  4 |     public typealias DataType = UInt8
  5 |
[28/34] Compiling GfxMath Point.swift
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:24:25: warning: immutable value 'translation' was never used; consider replacing with '_' or removing it
22 |   public func transform(size: DSize2) -> DSize2 {
23 |     switch self {
24 |     case let .translate(translation):
   |                         `- warning: immutable value 'translation' was never used; consider replacing with '_' or removing it
25 |       return size
26 |     case let .scale(scale, origin):
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:26:28: warning: immutable value 'origin' was never used; consider replacing with '_' or removing it
24 |     case let .translate(translation):
25 |       return size
26 |     case let .scale(scale, origin):
   |                            `- warning: immutable value 'origin' was never used; consider replacing with '_' or removing it
27 |       return size * scale.abs()
28 |     }
[29/34] Compiling GfxMath Quaternion.swift
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:24:25: warning: immutable value 'translation' was never used; consider replacing with '_' or removing it
22 |   public func transform(size: DSize2) -> DSize2 {
23 |     switch self {
24 |     case let .translate(translation):
   |                         `- warning: immutable value 'translation' was never used; consider replacing with '_' or removing it
25 |       return size
26 |     case let .scale(scale, origin):
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:26:28: warning: immutable value 'origin' was never used; consider replacing with '_' or removing it
24 |     case let .translate(translation):
25 |       return size
26 |     case let .scale(scale, origin):
   |                            `- warning: immutable value 'origin' was never used; consider replacing with '_' or removing it
27 |       return size * scale.abs()
28 |     }
[30/34] Compiling GfxMath Size.swift
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:24:25: warning: immutable value 'translation' was never used; consider replacing with '_' or removing it
22 |   public func transform(size: DSize2) -> DSize2 {
23 |     switch self {
24 |     case let .translate(translation):
   |                         `- warning: immutable value 'translation' was never used; consider replacing with '_' or removing it
25 |       return size
26 |     case let .scale(scale, origin):
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:26:28: warning: immutable value 'origin' was never used; consider replacing with '_' or removing it
24 |     case let .translate(translation):
25 |       return size
26 |     case let .scale(scale, origin):
   |                            `- warning: immutable value 'origin' was never used; consider replacing with '_' or removing it
27 |       return size * scale.abs()
28 |     }
[31/34] Compiling GfxMath Transform.swift
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:28:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 26 |
 27 | extension Vector2Protocol {
 28 |   public typealias Dimension = Dim_2x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 29 |
 30 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:24:25: warning: immutable value 'translation' was never used; consider replacing with '_' or removing it
22 |   public func transform(size: DSize2) -> DSize2 {
23 |     switch self {
24 |     case let .translate(translation):
   |                         `- warning: immutable value 'translation' was never used; consider replacing with '_' or removing it
25 |       return size
26 |     case let .scale(scale, origin):
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:26:28: warning: immutable value 'origin' was never used; consider replacing with '_' or removing it
24 |     case let .translate(translation):
25 |       return size
26 |     case let .scale(scale, origin):
   |                            `- warning: immutable value 'origin' was never used; consider replacing with '_' or removing it
27 |       return size * scale.abs()
28 |     }
[32/34] Compiling GfxMath VectorProtocol+Initializers.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
[33/34] Compiling GfxMath VectorProtocol+Operators.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
[34/34] Compiling GfxMath VectorProtocol.swift
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:4:20: warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  2 |
  3 | public protocol MatrixProtocol: Sequence, Equatable, CustomStringConvertible, Hashable {
  4 |     associatedtype Element: Numeric
    |                    `- warning: redeclaration of associated type 'Element' from protocol 'Sequence' is better expressed as a 'where' clause on the protocol
  5 |     var rows: Int { get }
  6 |     var cols: Int { get }
Swift.Sequence:2:20: note: 'Element' declared here
 1 | public protocol Sequence<Element> {
 2 |     associatedtype Element where Self.Element == Self.Iterator.Element
   |                    `- note: 'Element' declared here
 3 |     associatedtype Iterator : IteratorProtocol
 4 |     @available(*, unavailable, renamed: "Iterator")
/host/spi-builder-workspace/Sources/GfxMath/vector/Vector.swift:101:20: warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
 99 |
100 | extension Vector3Protocol {
101 |   public typealias Dimension = Dim_3x1
    |                    `- warning: typealias overriding associated type 'Dimension' from protocol 'VectorProtocol' is better expressed as same-type constraint on the protocol
102 |
103 |   @inlinable public static var zero: Self {
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol.swift:4:18: note: 'Dimension' declared here
 2 |
 3 | public protocol VectorProtocol: MatrixProtocol {
 4 |   associatedtype Dimension: MatrixDimension
   |                  `- note: 'Dimension' declared here
 5 |
 6 |   init(_ elements: [Element])
Build complete! (12.71s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "GfxMath",
  "name" : "GfxMath",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "GfxMath",
      "targets" : [
        "GfxMath"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "GfxMathTests",
      "module_type" : "SwiftTarget",
      "name" : "GfxMathTests",
      "path" : "Tests/GfxMathTests",
      "sources" : [
        "MatrixTests.swift",
        "QuaternionTests.swift",
        "RectTests.swift",
        "VectorProtocolTests.swift"
      ],
      "target_dependencies" : [
        "GfxMath"
      ],
      "type" : "test"
    },
    {
      "c99name" : "GfxMath",
      "module_type" : "SwiftTarget",
      "name" : "GfxMath",
      "path" : "Sources/GfxMath",
      "product_memberships" : [
        "GfxMath"
      ],
      "sources" : [
        "Accuracy.swift",
        "Color/Color+Conversions.swift",
        "Color/Color+DefaultColors.swift",
        "Color/Color.swift",
        "Color/Experimental/Color+EColor.swift",
        "Color/Experimental/Conversions/EColor+swim.swift",
        "Color/Experimental/EColor.swift",
        "Color/Experimental/EColorFormatFpRGB.swift",
        "Color/Experimental/EColorFormatFpRGBA.swift",
        "Color/Experimental/EColorFormatIRGB.swift",
        "Color/Experimental/EColorFormatIRGBA.swift",
        "Color/Experimental/ERGBAColor.swift",
        "Color/Experimental/ERGBColor.swift",
        "FloatingPointGenericMath.swift",
        "Matrix.swift",
        "MatrixDimension.swift",
        "Point.swift",
        "Quaternion.swift",
        "Size.swift",
        "Transform.swift",
        "Transformation.swift",
        "geometry/Line.swift",
        "geometry/LineSegment.swift",
        "geometry/Plane.swift",
        "geometry/Rect.swift",
        "geometry/Triangle.swift",
        "vector/Vector.swift",
        "vector/VectorLayout.swift",
        "vector/VectorProtocol+Initializers.swift",
        "vector/VectorProtocol+Operators.swift",
        "vector/VectorProtocol.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:9d7dab235f2b0b46edadd73b1fb0c3b5323df02053420324a4a2f8ca89cb54a5
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.