The Swift Package Index logo.Swift Package Index

Build Information

Failed to build GfxMath, reference 1.0.0 (af8aff), with Swift 6.3 for Android on 13 Apr 2026 22:35:15 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/UnGast/swift-gfx-math.git
Reference: 1.0.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/UnGast/swift-gfx-math
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at af8affa fix line initializer
Cloned https://github.com/UnGast/swift-gfx-math.git
Revision (git rev-parse @):
af8affa142ac61ff2b95857a145aabcc7dd9a7bc
SUCCESS checkout https://github.com/UnGast/swift-gfx-math.git at 1.0.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.3
Building package at path:  $PWD
https://github.com/UnGast/swift-gfx-math.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:9008270ea37a55e78725e6225015adb5eff8582da520c5232bf0499f32c36dc4
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--4F562202D5529B1.txt
error: emit-module command failed with exit code 1 (use -v to see invocation)
[3/24] Emitting module GfxMath
/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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/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:223:16: warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
221 |     }
222 |
223 |     @available(unavailable, message: "need to know size of matrix, use init")
    |                `- warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
224 |     @inlinable public static var zero: Self {
225 |         fatalError("unavailable, need to specify size")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:266:5: warning: 'public' modifier is redundant for initializer declared in a public extension
264 | public extension Matrix4Protocol {
265 |
266 |     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
267 |         self.init([
268 |             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:345:16: warning: no calls to throwing functions occur within 'try' expression
343 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
344 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
345 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
346 |             right.x, right.y, right.z, 0,
347 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:404:12: warning: no calls to throwing functions occur within 'try' expression
402 | // TODO: might replace this or remove this / current function of this is to simply remove throws
403 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
404 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
405 | }
406 |
/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:123:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
  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 Line {
 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 |     }
    :
121 | }
122 |
123 | public struct AnyLine<V: VectorProtocol>: Line where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
124 |     public typealias VectorProtocol = V
125 |     public var origin: V
/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/VectorProtocol+Operators.swift:162:10: error: cannot convert value of type 'Self.Element' to expected argument type 'Double'
160 |
161 |   @inlinable public var length: Element {
162 |     sqrt(lengthSquared)
    |          `- error: cannot convert value of type 'Self.Element' to expected argument type 'Double'
163 |   }
164 |
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol+Operators.swift:162:5: error: cannot convert return expression of type 'Double' to return type 'Self.Element'
160 |
161 |   @inlinable public var length: Element {
162 |     sqrt(lengthSquared)
    |     `- error: cannot convert return expression of type 'Double' to return type 'Self.Element'
163 |   }
164 |
[#AvailabilityUnrecognizedName]: <https://docs.swift.org/compiler/documentation/diagnostics/availability-unrecognized-name>
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[4/26] Compiling GfxMath Transform.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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:24:25: warning: immutable value 'translation' was never used; consider replacing with '_' or removing it [#no-usage]
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 [#no-usage]
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 [#no-usage]
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 [#no-usage]
27 |       return size * scale.abs()
28 |     }
/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:123:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
  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 Line {
 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 |     }
    :
121 | }
122 |
123 | public struct AnyLine<V: VectorProtocol>: Line where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
124 |     public typealias VectorProtocol = V
125 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:22:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 20 |     init(origin: VectorProtocol, direction: VectorProtocol) {
 21 |         self.init()
 22 |         self.point = origin
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 23 |         self.direction = direction.normalized()
 24 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:28:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 26 |     init(from point1: VectorProtocol, to point2: VectorProtocol) {
 27 |         self.init()
 28 |         self.point = point1
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 29 |         self.direction = (point1 - point2).normalized()
 30 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:33:22: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 31 |
 32 |     var debugDescription: String {
 33 |         "Line x = (\(point)) + scale * (\(direction))"
    |                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:48:16: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 46 |
 47 |     func pointAt(scale: VectorProtocol.Element) -> VectorProtocol {
 48 |         return point + direction * scale
    |                `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:56:29: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 54 |             if direction[axis] == 0 {
 55 |                 // TODO: maybe need accuracy here too
 56 |                 if abs(self.point[axis] - point[axis]) > accuracy {
    |                             `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 57 |                     return nil
 58 |                 }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:60:49: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 58 |                 }
 59 |             } else {
 60 |                 let scale = (point[axis] - self.point[axis]) / direction[axis]
    |                                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 61 |                 if lastScale == nil {
 62 |                     lastScale = scale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:99:35: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 97 |         // TODO: which value to use as accuracy?
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
    |                                   `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
100 |                 return point
101 |             } else {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:100:24: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
100 |                 return point
    |                        `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
101 |             } else {
102 |                 return nil
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:33: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:46: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:108:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
107 |
108 |         return pointAtScale(scale1)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
109 |     }
110 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:118:53: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
116 |         }
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
    |                                                     `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
119 |         return pointAtScale(s)
120 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:119:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
119 |         return pointAtScale(s)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
120 |     }
121 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[5/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:24:25: warning: immutable value 'translation' was never used; consider replacing with '_' or removing it [#no-usage]
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 [#no-usage]
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 [#no-usage]
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 [#no-usage]
27 |       return size * scale.abs()
28 |     }
/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:123:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
  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 Line {
 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 |     }
    :
121 | }
122 |
123 | public struct AnyLine<V: VectorProtocol>: Line where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
124 |     public typealias VectorProtocol = V
125 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:22:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 20 |     init(origin: VectorProtocol, direction: VectorProtocol) {
 21 |         self.init()
 22 |         self.point = origin
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 23 |         self.direction = direction.normalized()
 24 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:28:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 26 |     init(from point1: VectorProtocol, to point2: VectorProtocol) {
 27 |         self.init()
 28 |         self.point = point1
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 29 |         self.direction = (point1 - point2).normalized()
 30 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:33:22: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 31 |
 32 |     var debugDescription: String {
 33 |         "Line x = (\(point)) + scale * (\(direction))"
    |                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:48:16: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 46 |
 47 |     func pointAt(scale: VectorProtocol.Element) -> VectorProtocol {
 48 |         return point + direction * scale
    |                `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:56:29: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 54 |             if direction[axis] == 0 {
 55 |                 // TODO: maybe need accuracy here too
 56 |                 if abs(self.point[axis] - point[axis]) > accuracy {
    |                             `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 57 |                     return nil
 58 |                 }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:60:49: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 58 |                 }
 59 |             } else {
 60 |                 let scale = (point[axis] - self.point[axis]) / direction[axis]
    |                                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 61 |                 if lastScale == nil {
 62 |                     lastScale = scale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:99:35: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 97 |         // TODO: which value to use as accuracy?
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
    |                                   `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
100 |                 return point
101 |             } else {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:100:24: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
100 |                 return point
    |                        `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
101 |             } else {
102 |                 return nil
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:33: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:46: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:108:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
107 |
108 |         return pointAtScale(scale1)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
109 |     }
110 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:118:53: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
116 |         }
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
    |                                                     `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
119 |         return pointAtScale(s)
120 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:119:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
119 |         return pointAtScale(s)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
120 |     }
121 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[6/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/Transform.swift:24:25: warning: immutable value 'translation' was never used; consider replacing with '_' or removing it [#no-usage]
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 [#no-usage]
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 [#no-usage]
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 [#no-usage]
27 |       return size * scale.abs()
28 |     }
/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:123:15: warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
  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 Line {
 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 |     }
    :
121 | }
122 |
123 | public struct AnyLine<V: VectorProtocol>: Line where V.Element: BinaryFloatingPoint {
    |               `- warning: deprecated default implementation is used to satisfy initializer 'init(point:direction:)' required by protocol 'Line': use init(origin:, direction:) [#DeprecatedDeclaration]
124 |     public typealias VectorProtocol = V
125 |     public var origin: V
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:22:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 20 |     init(origin: VectorProtocol, direction: VectorProtocol) {
 21 |         self.init()
 22 |         self.point = origin
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 23 |         self.direction = direction.normalized()
 24 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:28:14: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 26 |     init(from point1: VectorProtocol, to point2: VectorProtocol) {
 27 |         self.init()
 28 |         self.point = point1
    |              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 29 |         self.direction = (point1 - point2).normalized()
 30 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:33:22: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 31 |
 32 |     var debugDescription: String {
 33 |         "Line x = (\(point)) + scale * (\(direction))"
    |                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 34 |     }
 35 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:48:16: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 46 |
 47 |     func pointAt(scale: VectorProtocol.Element) -> VectorProtocol {
 48 |         return point + direction * scale
    |                `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 49 |     }
 50 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:56:29: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 54 |             if direction[axis] == 0 {
 55 |                 // TODO: maybe need accuracy here too
 56 |                 if abs(self.point[axis] - point[axis]) > accuracy {
    |                             `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 57 |                     return nil
 58 |                 }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:60:49: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 58 |                 }
 59 |             } else {
 60 |                 let scale = (point[axis] - self.point[axis]) / direction[axis]
    |                                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 61 |                 if lastScale == nil {
 62 |                     lastScale = scale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:99:35: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 97 |         // TODO: which value to use as accuracy?
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
    |                                   `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
100 |                 return point
101 |             } else {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:100:24: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
 98 |         if slope1 == slope2 || abs(slope1 - slope2) < VectorProtocol.Element(0.1) {
 99 |             if contains(otherLine.point) {
100 |                 return point
    |                        `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
101 |             } else {
102 |                 return nil
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:33: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                 `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:106:46: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
104 |         }
105 |
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
    |                                              `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
107 |
108 |         return pointAtScale(scale1)
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:108:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
106 |         let scale1 = (otherLine.point - self.point).cross(otherLine.direction) / self.direction.cross(otherLine.direction)
107 |
108 |         return pointAtScale(scale1)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
109 |     }
110 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:118:53: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
116 |         }
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
    |                                                     `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
119 |         return pointAtScale(s)
120 |     }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Line.swift:119:16: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
117 |
118 |         let s = (plane.elevation - plane.normal.dot(point)) / (plane.normal.dot(direction))
119 |         return pointAtScale(s)
    |                `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
120 |     }
121 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[7/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[8/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[9/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[10/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/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])
[11/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/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])
[12/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/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])
[13/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
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/VectorProtocol+Operators.swift:162:10: error: cannot convert value of type 'Self.Element' to expected argument type 'Double'
160 |
161 |   @inlinable public var length: Element {
162 |     sqrt(lengthSquared)
    |          `- error: cannot convert value of type 'Self.Element' to expected argument type 'Double'
163 |   }
164 |
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol+Operators.swift:162:5: error: cannot convert return expression of type 'Double' to return type 'Self.Element'
160 |
161 |   @inlinable public var length: Element {
162 |     sqrt(lengthSquared)
    |     `- error: cannot convert return expression of type 'Double' to return type 'Self.Element'
163 |   }
164 |
[14/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
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/VectorProtocol+Operators.swift:162:10: error: cannot convert value of type 'Self.Element' to expected argument type 'Double'
160 |
161 |   @inlinable public var length: Element {
162 |     sqrt(lengthSquared)
    |          `- error: cannot convert value of type 'Self.Element' to expected argument type 'Double'
163 |   }
164 |
/host/spi-builder-workspace/Sources/GfxMath/vector/VectorProtocol+Operators.swift:162:5: error: cannot convert return expression of type 'Double' to return type 'Self.Element'
160 |
161 |   @inlinable public var length: Element {
162 |     sqrt(lengthSquared)
    |     `- error: cannot convert return expression of type 'Double' to return type 'Self.Element'
163 |   }
164 |
[15/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/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:223:16: warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
221 |     }
222 |
223 |     @available(unavailable, message: "need to know size of matrix, use init")
    |                `- warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
224 |     @inlinable public static var zero: Self {
225 |         fatalError("unavailable, need to specify size")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:266:5: warning: 'public' modifier is redundant for initializer declared in a public extension
264 | public extension Matrix4Protocol {
265 |
266 |     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
267 |         self.init([
268 |             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:345:16: warning: no calls to throwing functions occur within 'try' expression
343 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
344 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
345 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
346 |             right.x, right.y, right.z, 0,
347 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:404:12: warning: no calls to throwing functions occur within 'try' expression
402 | // TODO: might replace this or remove this / current function of this is to simply remove throws
403 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
404 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
405 | }
406 |
[#AvailabilityUnrecognizedName]: <https://docs.swift.org/compiler/documentation/diagnostics/availability-unrecognized-name>
[16/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/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:223:16: warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
221 |     }
222 |
223 |     @available(unavailable, message: "need to know size of matrix, use init")
    |                `- warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
224 |     @inlinable public static var zero: Self {
225 |         fatalError("unavailable, need to specify size")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:266:5: warning: 'public' modifier is redundant for initializer declared in a public extension
264 | public extension Matrix4Protocol {
265 |
266 |     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
267 |         self.init([
268 |             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:345:16: warning: no calls to throwing functions occur within 'try' expression
343 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
344 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
345 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
346 |             right.x, right.y, right.z, 0,
347 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:404:12: warning: no calls to throwing functions occur within 'try' expression
402 | // TODO: might replace this or remove this / current function of this is to simply remove throws
403 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
404 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
405 | }
406 |
[#AvailabilityUnrecognizedName]: <https://docs.swift.org/compiler/documentation/diagnostics/availability-unrecognized-name>
[17/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/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:223:16: warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
221 |     }
222 |
223 |     @available(unavailable, message: "need to know size of matrix, use init")
    |                `- warning: unrecognized platform name 'unavailable' [#AvailabilityUnrecognizedName]
224 |     @inlinable public static var zero: Self {
225 |         fatalError("unavailable, need to specify size")
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:266:5: warning: 'public' modifier is redundant for initializer declared in a public extension
264 | public extension Matrix4Protocol {
265 |
266 |     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
267 |         self.init([
268 |             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:345:16: warning: no calls to throwing functions occur within 'try' expression
343 |     // TODO: the following functions might be specific to openGL, maybe put those in the GLGraphicsMath package
344 |     @inlinable static func viewTransformation<V: Vector3Protocol>(up: V, right: V, front: V, translation: V) -> Self where V.Element == Self.Element {
345 |         return try! Self([
    |                `- warning: no calls to throwing functions occur within 'try' expression
346 |             right.x, right.y, right.z, 0,
347 |             up.x, up.y, up.z, 0,
/host/spi-builder-workspace/Sources/GfxMath/Matrix.swift:404:12: warning: no calls to throwing functions occur within 'try' expression
402 | // TODO: might replace this or remove this / current function of this is to simply remove throws
403 | @inlinable public func * <E: Numeric>(lhs: Matrix4<E>, rhs: Matrix4<E>) -> Matrix4<E> {
404 |     return try! lhs.matmul(rhs)
    |            `- warning: no calls to throwing functions occur within 'try' expression
405 | }
406 |
[#AvailabilityUnrecognizedName]: <https://docs.swift.org/compiler/documentation/diagnostics/availability-unrecognized-name>
[18/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:7:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 5 |   public var scaleMax: Vector.Element
 6 |   public var start: Vector {
 7 |     line.pointAtScale(scaleMin)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:10:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
10 |     line.pointAtScale(scaleMax)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
11 |   }
12 |   public var length: Vector.Element {
/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/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/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: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:135:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
133 |         var maxScale = E.infinity
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
137 |             if newMinScale > newMaxScale {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:136:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
137 |             if newMinScale > newMaxScale {
138 |                 let tmp = newMinScale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:38: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                      `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:84: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                                                                    `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[19/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:7:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 5 |   public var scaleMax: Vector.Element
 6 |   public var start: Vector {
 7 |     line.pointAtScale(scaleMin)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:10:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
10 |     line.pointAtScale(scaleMax)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
11 |   }
12 |   public var length: Vector.Element {
/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/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/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: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:135:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
133 |         var maxScale = E.infinity
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
137 |             if newMinScale > newMaxScale {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:136:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
137 |             if newMinScale > newMaxScale {
138 |                 let tmp = newMinScale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:38: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                      `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:84: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                                                                    `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[20/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:7:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 5 |   public var scaleMax: Vector.Element
 6 |   public var start: Vector {
 7 |     line.pointAtScale(scaleMin)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
/host/spi-builder-workspace/Sources/GfxMath/geometry/LineSegment.swift:10:10: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
 8 |   }
 9 |   public var end: Vector {
10 |     line.pointAtScale(scaleMax)
   |          `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
11 |   }
12 |   public var length: Vector.Element {
/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/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/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: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:135:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
133 |         var maxScale = E.infinity
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
137 |             if newMinScale > newMaxScale {
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:136:54: warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
134 |         for dimension in 0..<2 {
135 |             var newMinScale = (min[dimension] - line.point[dimension]) / line.direction[dimension]
136 |             var newMaxScale = (max[dimension] - line.point[dimension]) / line.direction[dimension]
    |                                                      `- warning: 'point' is deprecated: use origin [#DeprecatedDeclaration]
137 |             if newMinScale > newMaxScale {
138 |                 let tmp = newMinScale
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:38: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                      `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
/host/spi-builder-workspace/Sources/GfxMath/geometry/Rect.swift:150:84: warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
148 |         }
149 |
150 |         return (min: Vector2<E>(line.pointAtScale(minScale)), max: Vector2<E>(line.pointAtScale(maxScale)))
    |                                                                                    `- warning: 'pointAtScale' is deprecated: use pointAt(scale:) [#DeprecatedDeclaration]
151 |     }
152 | }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[21/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[22/26] Compiling GfxMath EColor.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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[23/26] Compiling GfxMath RGBColor.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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
[24/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/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/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 | }
[25/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/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/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 | }
[26/26] 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.Element:2:16: note: 'Element' declared here
1 | protocol Sequence {
2 | associatedtype Element where Self.Element == Self.Iterator.Element}
  |                `- note: 'Element' declared here
3 |
/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/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 | }
BUILD FAILURE 6.3 android