The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of WrkstrmColor, reference 0.0.1 (b99c8a), with Swift 6.1 for Wasm on 29 May 2025 12:18:08 UTC.

Swift 6 data race errors: 3

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/wrkstrm/WrkstrmColor.git
Reference: 0.0.1
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/wrkstrm/WrkstrmColor
 * tag               0.0.1      -> FETCH_HEAD
HEAD is now at b99c8a1 Update Snapshot.swift
Cloned https://github.com/wrkstrm/WrkstrmColor.git
Revision (git rev-parse @):
b99c8a11e9dfb74d76759bc22ad46da0044366b7
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/wrkstrm/WrkstrmColor.git at 0.0.1
========================================
Build
========================================
Selected platform:         wasm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/wrkstrm/WrkstrmColor.git
https://github.com/wrkstrm/WrkstrmColor.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "WrkstrmColor",
  "name" : "WrkstrmColor",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "WrkstrmColor",
      "targets" : [
        "WrkstrmColor"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "WrkstrmColorTests",
      "module_type" : "SwiftTarget",
      "name" : "WrkstrmColorTests",
      "path" : "Tests/WrkstrmColorTests",
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/WrkstrmColorTests/Resources/snapshot-rev4.json",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "ConstantTests.swift",
        "HSLuvTests.swift",
        "KitTests.swift",
        "Snapshot.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "WrkstrmColor"
      ],
      "type" : "test"
    },
    {
      "c99name" : "WrkstrmColor",
      "module_type" : "SwiftTarget",
      "name" : "WrkstrmColor",
      "path" : "Sources/WrkstrmColor",
      "product_memberships" : [
        "WrkstrmColor"
      ],
      "sources" : [
        "Color+Extensions.swift",
        "Encodings+Conversions.swift",
        "Encodings.swift",
        "GradientDescriptor+Sequence.swift",
        "GradientDescriptor.swift",
        "HSLuv+GradientDescriptor.swift",
        "Math.swift",
        "Palette+HSLuv.swift",
        "Palette+Legacy.swift",
        "Palette.swift",
        "RGBEncodable+ContrastRatio.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest swift build --swift-sdk wasm32-unknown-wasi -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/13] Compiling WrkstrmColor Palette.swift
[4/14] Compiling WrkstrmColor Math.swift
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:80:20: warning: expression took 10ms to type-check (limit: 10ms)
 78 | /// - parameter lightness: Double
 79 | func getBounds<Value: ComponentValue>(lightness: Value) -> [Vector<Value>] {
 80 |   let sub1 = Value(pow(Double(lightness) + 16, 3) / 1_560_896)
    |                    `- warning: expression took 10ms to type-check (limit: 10ms)
 81 |   let sub2: Value = sub1 > Constant.epsilon() ? sub1 : lightness / Constant.kappa()
 82 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:92:26: warning: expression took 22ms to type-check (limit: 10ms)
 90 |     let targets: [Value] = [0.0, 1.0]
 91 |     for target in targets {
 92 |       let top1: Value = (284_517 * m1 - 94_839 * m3) * sub2
    |                          `- warning: expression took 22ms to type-check (limit: 10ms)
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:92:25: warning: expression took 31ms to type-check (limit: 10ms)
 90 |     let targets: [Value] = [0.0, 1.0]
 91 |     for target in targets {
 92 |       let top1: Value = (284_517 * m1 - 94_839 * m3) * sub2
    |                         `- warning: expression took 31ms to type-check (limit: 10ms)
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:92:25: warning: expression took 30ms to type-check (limit: 10ms)
 90 |     let targets: [Value] = [0.0, 1.0]
 91 |     for target in targets {
 92 |       let top1: Value = (284_517 * m1 - 94_839 * m3) * sub2
    |                         `- warning: expression took 30ms to type-check (limit: 10ms)
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:93:30: warning: expression took 23ms to type-check (limit: 10ms)
 91 |     for target in targets {
 92 |       let top1: Value = (284_517 * m1 - 94_839 * m3) * sub2
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
    |                              `- warning: expression took 23ms to type-check (limit: 10ms)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
 95 |       let bottom: Value = (632_260 * m3 - 126_452 * m2) * sub2 + 126_452 * target
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:93:30: warning: expression took 693ms to type-check (limit: 10ms)
 91 |     for target in targets {
 92 |       let top1: Value = (284_517 * m1 - 94_839 * m3) * sub2
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
    |                              `- warning: expression took 693ms to type-check (limit: 10ms)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
 95 |       let bottom: Value = (632_260 * m3 - 126_452 * m2) * sub2 + 126_452 * target
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:93:29: warning: expression took 99ms to type-check (limit: 10ms)
 91 |     for target in targets {
 92 |       let top1: Value = (284_517 * m1 - 94_839 * m3) * sub2
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
    |                             `- warning: expression took 99ms to type-check (limit: 10ms)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
 95 |       let bottom: Value = (632_260 * m3 - 126_452 * m2) * sub2 + 126_452 * target
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:93:29: warning: expression took 82ms to type-check (limit: 10ms)
 91 |     for target in targets {
 92 |       let top1: Value = (284_517 * m1 - 94_839 * m3) * sub2
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
    |                             `- warning: expression took 82ms to type-check (limit: 10ms)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
 95 |       let bottom: Value = (632_260 * m3 - 126_452 * m2) * sub2 + 126_452 * target
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:94:25: warning: expression took 54ms to type-check (limit: 10ms)
 92 |       let top1: Value = (284_517 * m1 - 94_839 * m3) * sub2
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
    |                         `- warning: expression took 54ms to type-check (limit: 10ms)
 95 |       let bottom: Value = (632_260 * m3 - 126_452 * m2) * sub2 + 126_452 * target
 96 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:94:25: warning: expression took 65ms to type-check (limit: 10ms)
 92 |       let top1: Value = (284_517 * m1 - 94_839 * m3) * sub2
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
    |                         `- warning: expression took 65ms to type-check (limit: 10ms)
 95 |       let bottom: Value = (632_260 * m3 - 126_452 * m2) * sub2 + 126_452 * target
 96 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:95:28: warning: expression took 19ms to type-check (limit: 10ms)
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
 95 |       let bottom: Value = (632_260 * m3 - 126_452 * m2) * sub2 + 126_452 * target
    |                            `- warning: expression took 19ms to type-check (limit: 10ms)
 96 |
 97 |       result.append((top1 / bottom, top2 / bottom))
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:95:27: warning: expression took 38ms to type-check (limit: 10ms)
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
 95 |       let bottom: Value = (632_260 * m3 - 126_452 * m2) * sub2 + 126_452 * target
    |                           `- warning: expression took 38ms to type-check (limit: 10ms)
 96 |
 97 |       result.append((top1 / bottom, top2 / bottom))
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:95:27: warning: expression took 709ms to type-check (limit: 10ms)
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
 95 |       let bottom: Value = (632_260 * m3 - 126_452 * m2) * sub2 + 126_452 * target
    |                           `- warning: expression took 709ms to type-check (limit: 10ms)
 96 |
 97 |       result.append((top1 / bottom, top2 / bottom))
/host/spi-builder-workspace/Sources/WrkstrmColor/Math.swift:95:27: warning: expression took 535ms to type-check (limit: 10ms)
 93 |       let multiple: Value = (838_422 * m3 + 769_860 * m2 + 731_718 * m1)
 94 |       let top2: Value = multiple * lightness * sub2 - 769_860 * target * lightness
 95 |       let bottom: Value = (632_260 * m3 - 126_452 * m2) * sub2 + 126_452 * target
    |                           `- warning: expression took 535ms to type-check (limit: 10ms)
 96 |
 97 |       result.append((top1 / bottom, top2 / bottom))
[5/14] Compiling WrkstrmColor Palette+HSLuv.swift
/host/spi-builder-workspace/Sources/WrkstrmColor/Palette+HSLuv.swift:18:11: warning: expression took 10ms to type-check (limit: 10ms)
16 |       switch gradient {
17 |         case .red:
18 |           HSLuv(
   |           `- warning: expression took 10ms to type-check (limit: 10ms)
19 |             h: 12.2,
20 |             s: 100.0 - 33.0 * ratio,
[6/14] Compiling WrkstrmColor Palette+Legacy.swift
[7/14] Compiling WrkstrmColor GradientDescriptor.swift
/host/spi-builder-workspace/Sources/WrkstrmColor/GradientDescriptor.swift:107:7: warning: expression took 18ms to type-check (limit: 10ms)
105 |     // Calculate the middle values based on the delta types and magnitudes.
106 |     let a =
107 |       (aRange.type == .decreasing ? aRange.range.upperBound : aRange.range.lowerBound) + aRange
    |       `- warning: expression took 18ms to type-check (limit: 10ms)
108 |       .magnitude / 2
109 |     let b =
/host/spi-builder-workspace/Sources/WrkstrmColor/GradientDescriptor.swift:110:7: warning: expression took 12ms to type-check (limit: 10ms)
108 |       .magnitude / 2
109 |     let b =
110 |       (bRange.type == .decreasing ? bRange.range.upperBound : bRange.range.lowerBound) + bRange
    |       `- warning: expression took 12ms to type-check (limit: 10ms)
111 |       .magnitude / 2
112 |     let c =
/host/spi-builder-workspace/Sources/WrkstrmColor/GradientDescriptor.swift:113:7: warning: expression took 11ms to type-check (limit: 10ms)
111 |       .magnitude / 2
112 |     let c =
113 |       (cRange.type == .decreasing ? cRange.range.upperBound : cRange.range.lowerBound) + cRange
    |       `- warning: expression took 11ms to type-check (limit: 10ms)
114 |       .magnitude / 2
115 |
[8/14] Compiling WrkstrmColor HSLuv+GradientDescriptor.swift
/host/spi-builder-workspace/Sources/WrkstrmColor/GradientDescriptor.swift:107:7: warning: expression took 18ms to type-check (limit: 10ms)
105 |     // Calculate the middle values based on the delta types and magnitudes.
106 |     let a =
107 |       (aRange.type == .decreasing ? aRange.range.upperBound : aRange.range.lowerBound) + aRange
    |       `- warning: expression took 18ms to type-check (limit: 10ms)
108 |       .magnitude / 2
109 |     let b =
/host/spi-builder-workspace/Sources/WrkstrmColor/GradientDescriptor.swift:110:7: warning: expression took 12ms to type-check (limit: 10ms)
108 |       .magnitude / 2
109 |     let b =
110 |       (bRange.type == .decreasing ? bRange.range.upperBound : bRange.range.lowerBound) + bRange
    |       `- warning: expression took 12ms to type-check (limit: 10ms)
111 |       .magnitude / 2
112 |     let c =
/host/spi-builder-workspace/Sources/WrkstrmColor/GradientDescriptor.swift:113:7: warning: expression took 11ms to type-check (limit: 10ms)
111 |       .magnitude / 2
112 |     let c =
113 |       (cRange.type == .decreasing ? cRange.range.upperBound : cRange.range.lowerBound) + cRange
    |       `- warning: expression took 11ms to type-check (limit: 10ms)
114 |       .magnitude / 2
115 |
[9/14] Compiling WrkstrmColor Encodings.swift
[10/14] Compiling WrkstrmColor GradientDescriptor+Sequence.swift
[11/14] Emitting module WrkstrmColor
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:6:19: warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
  4 |
  5 | extension XYZ {
  6 |   func fromLinear<Value: ComponentValue>(_ c: Value) -> Value {
    |                   `- warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
  7 |     if c <= 0.003_130_8 {
  8 |       return 12.92 * c
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings.swift:57:19: note: 'Value' previously declared here
 55 |
 56 | /// Luminance, Blue-stimulation, Cone-response [CIE 1931] (XYZ)
 57 | public struct XYZ<Value: BinaryFloatingPoint>: ComponentConvertible {
    |                   `- note: 'Value' previously declared here
 58 |   public var x: Value
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:49:13: warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 47 |
 48 | extension XYZ {
 49 |   func yToL<Value: ComponentValue>(_ y: Value) -> Value {
    |             `- warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 50 |     if y <= Constant.epsilon() {
 51 |       return y * Constant.kappa()
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings.swift:57:19: note: 'Value' previously declared here
 55 |
 56 | /// Luminance, Blue-stimulation, Cone-response [CIE 1931] (XYZ)
 57 | public struct XYZ<Value: BinaryFloatingPoint>: ComponentConvertible {
    |                   `- note: 'Value' previously declared here
 58 |   public var x: Value
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:75:13: warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 73 |
 74 | extension LUV {
 75 |   func lToY<Value: ComponentValue>(_ l: Value) -> Value {
    |             `- warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 76 |     if l <= 8 {
 77 |       return l / Constant.kappa()
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings.swift:74:19: note: 'Value' previously declared here
 72 |
 73 | /// L*, u*, v* [CIE 1976] (LUV)
 74 | public struct LUV<Value: BinaryFloatingPoint>: ComponentConvertible {
    |                   `- note: 'Value' previously declared here
 75 |   public var l: Value
 76 |
[12/14] Compiling WrkstrmColor Color+Extensions.swift
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:6:19: warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
  4 |
  5 | extension XYZ {
  6 |   func fromLinear<Value: ComponentValue>(_ c: Value) -> Value {
    |                   `- warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
  7 |     if c <= 0.003_130_8 {
  8 |       return 12.92 * c
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings.swift:57:19: note: 'Value' previously declared here
 55 |
 56 | /// Luminance, Blue-stimulation, Cone-response [CIE 1931] (XYZ)
 57 | public struct XYZ<Value: BinaryFloatingPoint>: ComponentConvertible {
    |                   `- note: 'Value' previously declared here
 58 |   public var x: Value
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:49:13: warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 47 |
 48 | extension XYZ {
 49 |   func yToL<Value: ComponentValue>(_ y: Value) -> Value {
    |             `- warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 50 |     if y <= Constant.epsilon() {
 51 |       return y * Constant.kappa()
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings.swift:57:19: note: 'Value' previously declared here
 55 |
 56 | /// Luminance, Blue-stimulation, Cone-response [CIE 1931] (XYZ)
 57 | public struct XYZ<Value: BinaryFloatingPoint>: ComponentConvertible {
    |                   `- note: 'Value' previously declared here
 58 |   public var x: Value
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:75:13: warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 73 |
 74 | extension LUV {
 75 |   func lToY<Value: ComponentValue>(_ l: Value) -> Value {
    |             `- warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 76 |     if l <= 8 {
 77 |       return l / Constant.kappa()
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings.swift:74:19: note: 'Value' previously declared here
 72 |
 73 | /// L*, u*, v* [CIE 1976] (LUV)
 74 | public struct LUV<Value: BinaryFloatingPoint>: ComponentConvertible {
    |                   `- note: 'Value' previously declared here
 75 |   public var l: Value
 76 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:10:26: warning: expression took 14ms to type-check (limit: 10ms)
  8 |       return 12.92 * c
  9 |     }
 10 |     return Value(1.055 * pow(Double(c), 1 / 2.4) - 0.055)
    |                          `- warning: expression took 14ms to type-check (limit: 10ms)
 11 |   }
 12 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:57:34: warning: expression took 100ms to type-check (limit: 10ms)
 55 |
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
    |                                  `- warning: expression took 100ms to type-check (limit: 10ms)
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:57:23: warning: expression took 239ms to type-check (limit: 10ms)
 55 |
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
    |                       `- warning: expression took 239ms to type-check (limit: 10ms)
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:57:23: warning: expression took 244ms to type-check (limit: 10ms)
 55 |
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
    |                       `- warning: expression took 244ms to type-check (limit: 10ms)
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:58:34: warning: expression took 98ms to type-check (limit: 10ms)
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
    |                                  `- warning: expression took 98ms to type-check (limit: 10ms)
 59 |
 60 |     let l = yToL(y)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:58:23: warning: expression took 234ms to type-check (limit: 10ms)
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
    |                       `- warning: expression took 234ms to type-check (limit: 10ms)
 59 |
 60 |     let l = yToL(y)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:58:23: warning: expression took 172ms to type-check (limit: 10ms)
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
    |                       `- warning: expression took 172ms to type-check (limit: 10ms)
 59 |
 60 |     let l = yToL(y)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:67:13: warning: expression took 13ms to type-check (limit: 10ms)
 65 |     }
 66 |
 67 |     let u = 13 * l * (varU - Constant.refU())
    |             `- warning: expression took 13ms to type-check (limit: 10ms)
 68 |     let v = 13 * l * (varV - Constant.refV())
 69 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:68:13: warning: expression took 14ms to type-check (limit: 10ms)
 66 |
 67 |     let u = 13 * l * (varU - Constant.refU())
 68 |     let v = 13 * l * (varV - Constant.refV())
    |             `- warning: expression took 14ms to type-check (limit: 10ms)
 69 |
 70 |     return LUV(l: l, u: u, v: v)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:79:29: warning: expression took 19ms to type-check (limit: 10ms)
 77 |       return l / Constant.kappa()
 78 |     }
 79 |     return Value(pow(Double((l + 16) / 116), 3))
    |                             `- warning: expression took 19ms to type-check (limit: 10ms)
 80 |   }
 81 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:79:22: warning: expression took 74ms to type-check (limit: 10ms)
 77 |       return l / Constant.kappa()
 78 |     }
 79 |     return Value(pow(Double((l + 16) / 116), 3))
    |                      `- warning: expression took 74ms to type-check (limit: 10ms)
 80 |   }
 81 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:79:18: warning: expression took 159ms to type-check (limit: 10ms)
 77 |       return l / Constant.kappa()
 78 |     }
 79 |     return Value(pow(Double((l + 16) / 116), 3))
    |                  `- warning: expression took 159ms to type-check (limit: 10ms)
 80 |   }
 81 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:79:12: warning: expression took 137ms to type-check (limit: 10ms)
 77 |       return l / Constant.kappa()
 78 |     }
 79 |     return Value(pow(Double((l + 16) / 116), 3))
    |            `- warning: expression took 137ms to type-check (limit: 10ms)
 80 |   }
 81 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:79:12: warning: expression took 133ms to type-check (limit: 10ms)
 77 |       return l / Constant.kappa()
 78 |     }
 79 |     return Value(pow(Double((l + 16) / 116), 3))
    |            `- warning: expression took 133ms to type-check (limit: 10ms)
 80 |   }
 81 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:88:16: warning: expression took 15ms to type-check (limit: 10ms)
 86 |     }
 87 |
 88 |     let varU = u / (13 * l) + Constant.refU()
    |                `- warning: expression took 15ms to type-check (limit: 10ms)
 89 |     let varV = v / (13 * l) + Constant.refV()
 90 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:88:16: warning: expression took 13ms to type-check (limit: 10ms)
 86 |     }
 87 |
 88 |     let varU = u / (13 * l) + Constant.refU()
    |                `- warning: expression took 13ms to type-check (limit: 10ms)
 89 |     let varV = v / (13 * l) + Constant.refV()
 90 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:89:16: warning: expression took 13ms to type-check (limit: 10ms)
 87 |
 88 |     let varU = u / (13 * l) + Constant.refU()
 89 |     let varV = v / (13 * l) + Constant.refV()
    |                `- warning: expression took 13ms to type-check (limit: 10ms)
 90 |
 91 |     let y: Value = lToY(l)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:89:16: warning: expression took 13ms to type-check (limit: 10ms)
 87 |
 88 |     let varU = u / (13 * l) + Constant.refU()
 89 |     let varV = v / (13 * l) + Constant.refV()
    |                `- warning: expression took 13ms to type-check (limit: 10ms)
 90 |
 91 |     let y: Value = lToY(l)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:92:27: warning: expression took 13ms to type-check (limit: 10ms)
 90 |
 91 |     let y: Value = lToY(l)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
    |                           `- warning: expression took 13ms to type-check (limit: 10ms)
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:92:27: warning: expression took 13ms to type-check (limit: 10ms)
 90 |
 91 |     let y: Value = lToY(l)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
    |                           `- warning: expression took 13ms to type-check (limit: 10ms)
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:93:20: warning: expression took 19ms to type-check (limit: 10ms)
 91 |     let y: Value = lToY(l)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
    |                    `- warning: expression took 19ms to type-check (limit: 10ms)
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
 95 |     let zDivisor: Value = 3.0 * varV
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:93:20: warning: expression took 20ms to type-check (limit: 10ms)
 91 |     let y: Value = lToY(l)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
    |                    `- warning: expression took 20ms to type-check (limit: 10ms)
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
 95 |     let zDivisor: Value = 3.0 * varV
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:94:29: warning: expression took 35ms to type-check (limit: 10ms)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
    |                             `- warning: expression took 35ms to type-check (limit: 10ms)
 95 |     let zDivisor: Value = 3.0 * varV
 96 |     let z: Value = zNumerator / zDivisor
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:94:29: warning: expression took 165ms to type-check (limit: 10ms)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
    |                             `- warning: expression took 165ms to type-check (limit: 10ms)
 95 |     let zDivisor: Value = 3.0 * varV
 96 |     let z: Value = zNumerator / zDivisor
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:94:29: warning: expression took 166ms to type-check (limit: 10ms)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
    |                             `- warning: expression took 166ms to type-check (limit: 10ms)
 95 |     let zDivisor: Value = 3.0 * varV
 96 |     let z: Value = zNumerator / zDivisor
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:113:13: warning: expression took 42ms to type-check (limit: 10ms)
111 |     }
112 |     let hRad = Value(atan2(Double(v), Double(u)))
113 |     var h = hRad * 360 / 2 / .pi
    |             `- warning: expression took 42ms to type-check (limit: 10ms)
114 |
115 |     if h < 0 {
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:113:13: warning: expression took 42ms to type-check (limit: 10ms)
111 |     }
112 |     let hRad = Value(atan2(Double(v), Double(u)))
113 |     var h = hRad * 360 / 2 / .pi
    |             `- warning: expression took 42ms to type-check (limit: 10ms)
114 |
115 |     if h < 0 {
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:125:16: warning: expression took 12ms to type-check (limit: 10ms)
123 | extension LCH {
124 |   public var toLUV: LUV<Value> {
125 |     let hRad = h / 360 * 2 * .pi
    |                `- warning: expression took 12ms to type-check (limit: 10ms)
126 |     let u = Value(cos(Double(hRad))) * c
127 |     let v = Value(sin(Double(hRad))) * c
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:125:16: warning: expression took 39ms to type-check (limit: 10ms)
123 | extension LCH {
124 |   public var toLUV: LUV<Value> {
125 |     let hRad = h / 360 * 2 * .pi
    |                `- warning: expression took 39ms to type-check (limit: 10ms)
126 |     let u = Value(cos(Double(hRad))) * c
127 |     let v = Value(sin(Double(hRad))) * c
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:125:16: warning: expression took 48ms to type-check (limit: 10ms)
123 | extension LCH {
124 |   public var toLUV: LUV<Value> {
125 |     let hRad = h / 360 * 2 * .pi
    |                `- warning: expression took 48ms to type-check (limit: 10ms)
126 |     let u = Value(cos(Double(hRad))) * c
127 |     let v = Value(sin(Double(hRad))) * c
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:137:14: warning: expression took 14ms to type-check (limit: 10ms)
135 | /// the RGB gamut.
136 | func maxChroma<Value: ComponentValue>(lightness: Value, hue: Value) -> Value {
137 |   let hrad = hue / 360 * 2 * .pi
    |              `- warning: expression took 14ms to type-check (limit: 10ms)
138 |
139 |   var lengths: [Value] = []
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:137:14: warning: expression took 38ms to type-check (limit: 10ms)
135 | /// the RGB gamut.
136 | func maxChroma<Value: ComponentValue>(lightness: Value, hue: Value) -> Value {
137 |   let hrad = hue / 360 * 2 * .pi
    |              `- warning: expression took 38ms to type-check (limit: 10ms)
138 |
139 |   var lengths: [Value] = []
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:137:14: warning: expression took 38ms to type-check (limit: 10ms)
135 | /// the RGB gamut.
136 | func maxChroma<Value: ComponentValue>(lightness: Value, hue: Value) -> Value {
137 |   let hrad = hue / 360 * 2 * .pi
    |              `- warning: expression took 38ms to type-check (limit: 10ms)
138 |
139 |   var lengths: [Value] = []
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:171:13: warning: expression took 12ms to type-check (limit: 10ms)
169 |
170 |     let max = maxChroma(lightness: l, hue: h)
171 |     let s = c / max * 100
    |             `- warning: expression took 12ms to type-check (limit: 10ms)
172 |
173 |     return HSLuv(h: Value(h), s: Value(s), l: Value(l))
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:218:13: warning: expression took 20ms to type-check (limit: 10ms)
216 |
217 |     let max = maxChroma(lightness: l)
218 |     let s = c / max * 100
    |             `- warning: expression took 20ms to type-check (limit: 10ms)
219 |
220 |     return HPLuv(h: Value(h), s: Value(s), l: Value(l))
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:268:16: warning: expression took 12ms to type-check (limit: 10ms)
266 |
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
    |                `- warning: expression took 12ms to type-check (limit: 10ms)
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:268:16: warning: expression took 12ms to type-check (limit: 10ms)
266 |
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
    |                `- warning: expression took 12ms to type-check (limit: 10ms)
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:268:10: warning: expression took 70ms to type-check (limit: 10ms)
266 |
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
    |          `- warning: expression took 70ms to type-check (limit: 10ms)
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:269:16: warning: expression took 13ms to type-check (limit: 10ms)
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
    |                `- warning: expression took 13ms to type-check (limit: 10ms)
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
271 |   }
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:269:16: warning: expression took 13ms to type-check (limit: 10ms)
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
    |                `- warning: expression took 13ms to type-check (limit: 10ms)
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
271 |   }
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:269:10: warning: expression took 46ms to type-check (limit: 10ms)
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
    |          `- warning: expression took 46ms to type-check (limit: 10ms)
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
271 |   }
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:267:12: warning: expression took 130ms to type-check (limit: 10ms)
265 |     Scanner(string: string).scanHexInt64(&rgbValue)
266 |
267 |     return RGB(
    |            `- warning: expression took 130ms to type-check (limit: 10ms)
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
[13/14] Compiling WrkstrmColor Encodings+Conversions.swift
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:6:19: warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
  4 |
  5 | extension XYZ {
  6 |   func fromLinear<Value: ComponentValue>(_ c: Value) -> Value {
    |                   `- warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
  7 |     if c <= 0.003_130_8 {
  8 |       return 12.92 * c
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings.swift:57:19: note: 'Value' previously declared here
 55 |
 56 | /// Luminance, Blue-stimulation, Cone-response [CIE 1931] (XYZ)
 57 | public struct XYZ<Value: BinaryFloatingPoint>: ComponentConvertible {
    |                   `- note: 'Value' previously declared here
 58 |   public var x: Value
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:49:13: warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 47 |
 48 | extension XYZ {
 49 |   func yToL<Value: ComponentValue>(_ y: Value) -> Value {
    |             `- warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 50 |     if y <= Constant.epsilon() {
 51 |       return y * Constant.kappa()
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings.swift:57:19: note: 'Value' previously declared here
 55 |
 56 | /// Luminance, Blue-stimulation, Cone-response [CIE 1931] (XYZ)
 57 | public struct XYZ<Value: BinaryFloatingPoint>: ComponentConvertible {
    |                   `- note: 'Value' previously declared here
 58 |   public var x: Value
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:75:13: warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 73 |
 74 | extension LUV {
 75 |   func lToY<Value: ComponentValue>(_ l: Value) -> Value {
    |             `- warning: generic parameter 'Value' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 76 |     if l <= 8 {
 77 |       return l / Constant.kappa()
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings.swift:74:19: note: 'Value' previously declared here
 72 |
 73 | /// L*, u*, v* [CIE 1976] (LUV)
 74 | public struct LUV<Value: BinaryFloatingPoint>: ComponentConvertible {
    |                   `- note: 'Value' previously declared here
 75 |   public var l: Value
 76 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:10:26: warning: expression took 14ms to type-check (limit: 10ms)
  8 |       return 12.92 * c
  9 |     }
 10 |     return Value(1.055 * pow(Double(c), 1 / 2.4) - 0.055)
    |                          `- warning: expression took 14ms to type-check (limit: 10ms)
 11 |   }
 12 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:57:34: warning: expression took 100ms to type-check (limit: 10ms)
 55 |
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
    |                                  `- warning: expression took 100ms to type-check (limit: 10ms)
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:57:23: warning: expression took 239ms to type-check (limit: 10ms)
 55 |
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
    |                       `- warning: expression took 239ms to type-check (limit: 10ms)
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:57:23: warning: expression took 244ms to type-check (limit: 10ms)
 55 |
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
    |                       `- warning: expression took 244ms to type-check (limit: 10ms)
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
 59 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:58:34: warning: expression took 98ms to type-check (limit: 10ms)
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
    |                                  `- warning: expression took 98ms to type-check (limit: 10ms)
 59 |
 60 |     let l = yToL(y)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:58:23: warning: expression took 234ms to type-check (limit: 10ms)
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
    |                       `- warning: expression took 234ms to type-check (limit: 10ms)
 59 |
 60 |     let l = yToL(y)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:58:23: warning: expression took 172ms to type-check (limit: 10ms)
 56 |   var toLuv: LUV<Value> {
 57 |     let varU: Value = (4 * x) / (x + (15 * y) + (3 * z))
 58 |     let varV: Value = (9 * y) / (x + (15 * y) + (3 * z))
    |                       `- warning: expression took 172ms to type-check (limit: 10ms)
 59 |
 60 |     let l = yToL(y)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:67:13: warning: expression took 13ms to type-check (limit: 10ms)
 65 |     }
 66 |
 67 |     let u = 13 * l * (varU - Constant.refU())
    |             `- warning: expression took 13ms to type-check (limit: 10ms)
 68 |     let v = 13 * l * (varV - Constant.refV())
 69 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:68:13: warning: expression took 14ms to type-check (limit: 10ms)
 66 |
 67 |     let u = 13 * l * (varU - Constant.refU())
 68 |     let v = 13 * l * (varV - Constant.refV())
    |             `- warning: expression took 14ms to type-check (limit: 10ms)
 69 |
 70 |     return LUV(l: l, u: u, v: v)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:79:29: warning: expression took 19ms to type-check (limit: 10ms)
 77 |       return l / Constant.kappa()
 78 |     }
 79 |     return Value(pow(Double((l + 16) / 116), 3))
    |                             `- warning: expression took 19ms to type-check (limit: 10ms)
 80 |   }
 81 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:79:22: warning: expression took 74ms to type-check (limit: 10ms)
 77 |       return l / Constant.kappa()
 78 |     }
 79 |     return Value(pow(Double((l + 16) / 116), 3))
    |                      `- warning: expression took 74ms to type-check (limit: 10ms)
 80 |   }
 81 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:79:18: warning: expression took 159ms to type-check (limit: 10ms)
 77 |       return l / Constant.kappa()
 78 |     }
 79 |     return Value(pow(Double((l + 16) / 116), 3))
    |                  `- warning: expression took 159ms to type-check (limit: 10ms)
 80 |   }
 81 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:79:12: warning: expression took 137ms to type-check (limit: 10ms)
 77 |       return l / Constant.kappa()
 78 |     }
 79 |     return Value(pow(Double((l + 16) / 116), 3))
    |            `- warning: expression took 137ms to type-check (limit: 10ms)
 80 |   }
 81 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:79:12: warning: expression took 133ms to type-check (limit: 10ms)
 77 |       return l / Constant.kappa()
 78 |     }
 79 |     return Value(pow(Double((l + 16) / 116), 3))
    |            `- warning: expression took 133ms to type-check (limit: 10ms)
 80 |   }
 81 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:88:16: warning: expression took 15ms to type-check (limit: 10ms)
 86 |     }
 87 |
 88 |     let varU = u / (13 * l) + Constant.refU()
    |                `- warning: expression took 15ms to type-check (limit: 10ms)
 89 |     let varV = v / (13 * l) + Constant.refV()
 90 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:88:16: warning: expression took 13ms to type-check (limit: 10ms)
 86 |     }
 87 |
 88 |     let varU = u / (13 * l) + Constant.refU()
    |                `- warning: expression took 13ms to type-check (limit: 10ms)
 89 |     let varV = v / (13 * l) + Constant.refV()
 90 |
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:89:16: warning: expression took 13ms to type-check (limit: 10ms)
 87 |
 88 |     let varU = u / (13 * l) + Constant.refU()
 89 |     let varV = v / (13 * l) + Constant.refV()
    |                `- warning: expression took 13ms to type-check (limit: 10ms)
 90 |
 91 |     let y: Value = lToY(l)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:89:16: warning: expression took 13ms to type-check (limit: 10ms)
 87 |
 88 |     let varU = u / (13 * l) + Constant.refU()
 89 |     let varV = v / (13 * l) + Constant.refV()
    |                `- warning: expression took 13ms to type-check (limit: 10ms)
 90 |
 91 |     let y: Value = lToY(l)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:92:27: warning: expression took 13ms to type-check (limit: 10ms)
 90 |
 91 |     let y: Value = lToY(l)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
    |                           `- warning: expression took 13ms to type-check (limit: 10ms)
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:92:27: warning: expression took 13ms to type-check (limit: 10ms)
 90 |
 91 |     let y: Value = lToY(l)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
    |                           `- warning: expression took 13ms to type-check (limit: 10ms)
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:93:20: warning: expression took 19ms to type-check (limit: 10ms)
 91 |     let y: Value = lToY(l)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
    |                    `- warning: expression took 19ms to type-check (limit: 10ms)
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
 95 |     let zDivisor: Value = 3.0 * varV
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:93:20: warning: expression took 20ms to type-check (limit: 10ms)
 91 |     let y: Value = lToY(l)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
    |                    `- warning: expression took 20ms to type-check (limit: 10ms)
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
 95 |     let zDivisor: Value = 3.0 * varV
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:94:29: warning: expression took 35ms to type-check (limit: 10ms)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
    |                             `- warning: expression took 35ms to type-check (limit: 10ms)
 95 |     let zDivisor: Value = 3.0 * varV
 96 |     let z: Value = zNumerator / zDivisor
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:94:29: warning: expression took 165ms to type-check (limit: 10ms)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
    |                             `- warning: expression took 165ms to type-check (limit: 10ms)
 95 |     let zDivisor: Value = 3.0 * varV
 96 |     let z: Value = zNumerator / zDivisor
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:94:29: warning: expression took 166ms to type-check (limit: 10ms)
 92 |     let xDivisor: Value = (varU - 4.0) * varV - varU * varV
 93 |     let x: Value = 0.0 - (9.0 * y * varU) / xDivisor
 94 |     let zNumerator: Value = 9.0 * y - (15.0 * varV * y) - (varV * x)
    |                             `- warning: expression took 166ms to type-check (limit: 10ms)
 95 |     let zDivisor: Value = 3.0 * varV
 96 |     let z: Value = zNumerator / zDivisor
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:113:13: warning: expression took 42ms to type-check (limit: 10ms)
111 |     }
112 |     let hRad = Value(atan2(Double(v), Double(u)))
113 |     var h = hRad * 360 / 2 / .pi
    |             `- warning: expression took 42ms to type-check (limit: 10ms)
114 |
115 |     if h < 0 {
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:113:13: warning: expression took 42ms to type-check (limit: 10ms)
111 |     }
112 |     let hRad = Value(atan2(Double(v), Double(u)))
113 |     var h = hRad * 360 / 2 / .pi
    |             `- warning: expression took 42ms to type-check (limit: 10ms)
114 |
115 |     if h < 0 {
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:125:16: warning: expression took 12ms to type-check (limit: 10ms)
123 | extension LCH {
124 |   public var toLUV: LUV<Value> {
125 |     let hRad = h / 360 * 2 * .pi
    |                `- warning: expression took 12ms to type-check (limit: 10ms)
126 |     let u = Value(cos(Double(hRad))) * c
127 |     let v = Value(sin(Double(hRad))) * c
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:125:16: warning: expression took 39ms to type-check (limit: 10ms)
123 | extension LCH {
124 |   public var toLUV: LUV<Value> {
125 |     let hRad = h / 360 * 2 * .pi
    |                `- warning: expression took 39ms to type-check (limit: 10ms)
126 |     let u = Value(cos(Double(hRad))) * c
127 |     let v = Value(sin(Double(hRad))) * c
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:125:16: warning: expression took 48ms to type-check (limit: 10ms)
123 | extension LCH {
124 |   public var toLUV: LUV<Value> {
125 |     let hRad = h / 360 * 2 * .pi
    |                `- warning: expression took 48ms to type-check (limit: 10ms)
126 |     let u = Value(cos(Double(hRad))) * c
127 |     let v = Value(sin(Double(hRad))) * c
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:137:14: warning: expression took 14ms to type-check (limit: 10ms)
135 | /// the RGB gamut.
136 | func maxChroma<Value: ComponentValue>(lightness: Value, hue: Value) -> Value {
137 |   let hrad = hue / 360 * 2 * .pi
    |              `- warning: expression took 14ms to type-check (limit: 10ms)
138 |
139 |   var lengths: [Value] = []
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:137:14: warning: expression took 38ms to type-check (limit: 10ms)
135 | /// the RGB gamut.
136 | func maxChroma<Value: ComponentValue>(lightness: Value, hue: Value) -> Value {
137 |   let hrad = hue / 360 * 2 * .pi
    |              `- warning: expression took 38ms to type-check (limit: 10ms)
138 |
139 |   var lengths: [Value] = []
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:137:14: warning: expression took 38ms to type-check (limit: 10ms)
135 | /// the RGB gamut.
136 | func maxChroma<Value: ComponentValue>(lightness: Value, hue: Value) -> Value {
137 |   let hrad = hue / 360 * 2 * .pi
    |              `- warning: expression took 38ms to type-check (limit: 10ms)
138 |
139 |   var lengths: [Value] = []
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:171:13: warning: expression took 12ms to type-check (limit: 10ms)
169 |
170 |     let max = maxChroma(lightness: l, hue: h)
171 |     let s = c / max * 100
    |             `- warning: expression took 12ms to type-check (limit: 10ms)
172 |
173 |     return HSLuv(h: Value(h), s: Value(s), l: Value(l))
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:218:13: warning: expression took 20ms to type-check (limit: 10ms)
216 |
217 |     let max = maxChroma(lightness: l)
218 |     let s = c / max * 100
    |             `- warning: expression took 20ms to type-check (limit: 10ms)
219 |
220 |     return HPLuv(h: Value(h), s: Value(s), l: Value(l))
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:268:16: warning: expression took 12ms to type-check (limit: 10ms)
266 |
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
    |                `- warning: expression took 12ms to type-check (limit: 10ms)
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:268:16: warning: expression took 12ms to type-check (limit: 10ms)
266 |
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
    |                `- warning: expression took 12ms to type-check (limit: 10ms)
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:268:10: warning: expression took 70ms to type-check (limit: 10ms)
266 |
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
    |          `- warning: expression took 70ms to type-check (limit: 10ms)
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:269:16: warning: expression took 13ms to type-check (limit: 10ms)
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
    |                `- warning: expression took 13ms to type-check (limit: 10ms)
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
271 |   }
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:269:16: warning: expression took 13ms to type-check (limit: 10ms)
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
    |                `- warning: expression took 13ms to type-check (limit: 10ms)
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
271 |   }
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:269:10: warning: expression took 46ms to type-check (limit: 10ms)
267 |     return RGB(
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
    |          `- warning: expression took 46ms to type-check (limit: 10ms)
270 |       b: Value(Double(rgbValue & 0x0000FF) / 255.0))
271 |   }
/host/spi-builder-workspace/Sources/WrkstrmColor/Encodings+Conversions.swift:267:12: warning: expression took 130ms to type-check (limit: 10ms)
265 |     Scanner(string: string).scanHexInt64(&rgbValue)
266 |
267 |     return RGB(
    |            `- warning: expression took 130ms to type-check (limit: 10ms)
268 |       r: Value(Double((rgbValue & 0xFF0000) >> 16) / 255.0),
269 |       g: Value(Double((rgbValue & 0x00FF00) >> 8) / 255.0),
[14/14] Compiling WrkstrmColor RGBEncodable+ContrastRatio.swift
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:8:12: warning: expression took 21ms to type-check (limit: 10ms)
 6 |   var luminance: Value {
 7 |     let (red, green, blue) = components as Components<Value>
 8 |     return 0.212_6 * red + 0.715_2 * green + 0.072_2 * blue
   |            `- warning: expression took 21ms to type-check (limit: 10ms)
 9 |   }
10 |
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:8:12: warning: expression took 93ms to type-check (limit: 10ms)
 6 |   var luminance: Value {
 7 |     let (red, green, blue) = components as Components<Value>
 8 |     return 0.212_6 * red + 0.715_2 * green + 0.072_2 * blue
   |            `- warning: expression took 93ms to type-check (limit: 10ms)
 9 |   }
10 |
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:8:12: warning: expression took 62ms to type-check (limit: 10ms)
 6 |   var luminance: Value {
 7 |     let (red, green, blue) = components as Components<Value>
 8 |     return 0.212_6 * red + 0.715_2 * green + 0.072_2 * blue
   |            `- warning: expression took 62ms to type-check (limit: 10ms)
 9 |   }
10 |
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:14:7: warning: expression took 15ms to type-check (limit: 10ms)
12 |     let (red, green, blue) = components
13 |     let luminance =
14 |       0.212_6 * invGamSRGB(inverseColor: red) + 0.715_2 * invGamSRGB(inverseColor: green) + 0.072_2
   |       `- warning: expression took 15ms to type-check (limit: 10ms)
15 |       * invGamSRGB(inverseColor: blue)
16 |     return min(1, max(0, luminance))
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:14:7: warning: expression took 649ms to type-check (limit: 10ms)
12 |     let (red, green, blue) = components
13 |     let luminance =
14 |       0.212_6 * invGamSRGB(inverseColor: red) + 0.715_2 * invGamSRGB(inverseColor: green) + 0.072_2
   |       `- warning: expression took 649ms to type-check (limit: 10ms)
15 |       * invGamSRGB(inverseColor: blue)
16 |     return min(1, max(0, luminance))
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:14:7: warning: expression took 438ms to type-check (limit: 10ms)
12 |     let (red, green, blue) = components
13 |     let luminance =
14 |       0.212_6 * invGamSRGB(inverseColor: red) + 0.715_2 * invGamSRGB(inverseColor: green) + 0.072_2
   |       `- warning: expression took 438ms to type-check (limit: 10ms)
15 |       * invGamSRGB(inverseColor: blue)
16 |     return min(1, max(0, luminance))
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:21:31: warning: expression took 12ms to type-check (limit: 10ms)
19 |   func invGamSRGB(inverseColor: Value) -> Value {
20 |     guard inverseColor <= 0.039_28 else {
21 |       return Value(pow(Double((inverseColor + 0.055) / 1.055), 2.4))
   |                               `- warning: expression took 12ms to type-check (limit: 10ms)
22 |     }
23 |     return inverseColor / 12.92
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:21:24: warning: expression took 57ms to type-check (limit: 10ms)
19 |   func invGamSRGB(inverseColor: Value) -> Value {
20 |     guard inverseColor <= 0.039_28 else {
21 |       return Value(pow(Double((inverseColor + 0.055) / 1.055), 2.4))
   |                        `- warning: expression took 57ms to type-check (limit: 10ms)
22 |     }
23 |     return inverseColor / 12.92
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:21:20: warning: expression took 90ms to type-check (limit: 10ms)
19 |   func invGamSRGB(inverseColor: Value) -> Value {
20 |     guard inverseColor <= 0.039_28 else {
21 |       return Value(pow(Double((inverseColor + 0.055) / 1.055), 2.4))
   |                    `- warning: expression took 90ms to type-check (limit: 10ms)
22 |     }
23 |     return inverseColor / 12.92
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:21:14: warning: expression took 89ms to type-check (limit: 10ms)
19 |   func invGamSRGB(inverseColor: Value) -> Value {
20 |     guard inverseColor <= 0.039_28 else {
21 |       return Value(pow(Double((inverseColor + 0.055) / 1.055), 2.4))
   |              `- warning: expression took 89ms to type-check (limit: 10ms)
22 |     }
23 |     return inverseColor / 12.92
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:21:14: warning: expression took 95ms to type-check (limit: 10ms)
19 |   func invGamSRGB(inverseColor: Value) -> Value {
20 |     guard inverseColor <= 0.039_28 else {
21 |       return Value(pow(Double((inverseColor + 0.055) / 1.055), 2.4))
   |              `- warning: expression took 95ms to type-check (limit: 10ms)
22 |     }
23 |     return inverseColor / 12.92
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:33:17: warning: expression took 22ms to type-check (limit: 10ms)
31 |     let lighterColor: Value = .init(min(Double(ourLuminance), Double(theirLuminance)))
32 |     let darkerColor: Value = .init(max(Double(ourLuminance), Double(theirLuminance)))
33 |     return 1 / ((lighterColor + 0.05) / (darkerColor + 0.05))
   |                 `- warning: expression took 22ms to type-check (limit: 10ms)
34 |   }
35 | }
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:33:12: warning: expression took 10ms to type-check (limit: 10ms)
31 |     let lighterColor: Value = .init(min(Double(ourLuminance), Double(theirLuminance)))
32 |     let darkerColor: Value = .init(max(Double(ourLuminance), Double(theirLuminance)))
33 |     return 1 / ((lighterColor + 0.05) / (darkerColor + 0.05))
   |            `- warning: expression took 10ms to type-check (limit: 10ms)
34 |   }
35 | }
/host/spi-builder-workspace/Sources/WrkstrmColor/RGBEncodable+ContrastRatio.swift:33:12: warning: expression took 71ms to type-check (limit: 10ms)
31 |     let lighterColor: Value = .init(min(Double(ourLuminance), Double(theirLuminance)))
32 |     let darkerColor: Value = .init(max(Double(ourLuminance), Double(theirLuminance)))
33 |     return 1 / ((lighterColor + 0.05) / (darkerColor + 0.05))
   |            `- warning: expression took 71ms to type-check (limit: 10ms)
34 |   }
35 | }
Build complete! (7.93s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "WrkstrmColor",
  "name" : "WrkstrmColor",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "WrkstrmColor",
      "targets" : [
        "WrkstrmColor"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "WrkstrmColorTests",
      "module_type" : "SwiftTarget",
      "name" : "WrkstrmColorTests",
      "path" : "Tests/WrkstrmColorTests",
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/WrkstrmColorTests/Resources/snapshot-rev4.json",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "ConstantTests.swift",
        "HSLuvTests.swift",
        "KitTests.swift",
        "Snapshot.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "WrkstrmColor"
      ],
      "type" : "test"
    },
    {
      "c99name" : "WrkstrmColor",
      "module_type" : "SwiftTarget",
      "name" : "WrkstrmColor",
      "path" : "Sources/WrkstrmColor",
      "product_memberships" : [
        "WrkstrmColor"
      ],
      "sources" : [
        "Color+Extensions.swift",
        "Encodings+Conversions.swift",
        "Encodings.swift",
        "GradientDescriptor+Sequence.swift",
        "GradientDescriptor.swift",
        "HSLuv+GradientDescriptor.swift",
        "Math.swift",
        "Palette+HSLuv.swift",
        "Palette+Legacy.swift",
        "Palette.swift",
        "RGBEncodable+ContrastRatio.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
wasm-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:7e37457820e5f17452a98118754f345f2619722c485f2db0d8b666940a83afd2
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:wasm-6.1-latest
Done.