The Swift Package Index logo.Swift Package Index

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

Build Information

Failed to build Device, reference v2.8.0 (dfd998), with Swift 6.1 for macOS (SPM) on 5 May 2025 08:10:57 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.61.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kudit/Device.git
Reference: v2.8.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/kudit/Device
 * tag               v2.8.0     -> FETCH_HEAD
HEAD is now at dfd9989 v2.8.0
Cloned https://github.com/kudit/Device.git
Revision (git rev-parse @):
dfd9989e397ca24705021933fd10d284370e46ae
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/kudit/Device.git at v2.8.0
Fetching https://github.com/kudit/Compatibility
Fetching https://github.com/kudit/Color
[1/518] Fetching color
[38/2380] Fetching color, compatibility
Fetched https://github.com/kudit/Color from cache (1.20s)
Fetched https://github.com/kudit/Compatibility from cache (1.20s)
Computing version for https://github.com/kudit/Color
Computed https://github.com/kudit/Color at 1.3.3 (1.73s)
Computing version for https://github.com/kudit/Compatibility
Computed https://github.com/kudit/Compatibility at 1.10.1 (0.52s)
Creating working copy for https://github.com/kudit/Compatibility
Working copy of https://github.com/kudit/Compatibility resolved at 1.10.1
Creating working copy for https://github.com/kudit/Color
Working copy of https://github.com/kudit/Color resolved at 1.3.3
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "device",
      "name": "Device",
      "url": "https://github.com/kudit/Device.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Device",
      "dependencies": [
        {
          "identity": "color",
          "name": "Color",
          "url": "https://github.com/kudit/Color",
          "version": "1.3.3",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Color",
          "dependencies": [
            {
              "identity": "compatibility",
              "name": "Compatibility",
              "url": "https://github.com/kudit/Compatibility",
              "version": "1.10.7",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Compatibility",
              "dependencies": [
              ]
            }
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/kudit/Device.git
[1/2090] Fetching device
Fetched https://github.com/kudit/Device.git from cache (4.02s)
Fetching https://github.com/kudit/Color from cache
Fetched https://github.com/kudit/Color from cache (0.45s)
Computing version for https://github.com/kudit/Color
Computed https://github.com/kudit/Color at 1.3.3 (0.51s)
Fetching https://github.com/kudit/Compatibility from cache
Fetched https://github.com/kudit/Compatibility from cache (0.45s)
Computing version for https://github.com/kudit/Compatibility
Computed https://github.com/kudit/Compatibility at 1.10.7 (1.02s)
Creating working copy for https://github.com/kudit/Color
Working copy of https://github.com/kudit/Color resolved at 1.3.3
Creating working copy for https://github.com/kudit/Compatibility
Working copy of https://github.com/kudit/Compatibility resolved at 1.10.7
Creating working copy for https://github.com/kudit/Device.git
Working copy of https://github.com/kudit/Device.git resolved at v2.8.0 (dfd9989)
warning: '.resolve-product-dependencies': dependency 'device' is not used by any target
Found 1 product dependencies
  - Color
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/kudit/Device.git
https://github.com/kudit/Device.git
{
  "dependencies" : [
    {
      "identity" : "color",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.4",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kudit/Color"
    }
  ],
  "manifest_display_name" : "Device",
  "name" : "Device",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "11"
    },
    {
      "name" : "watchos",
      "version" : "4"
    },
    {
      "name" : "ios",
      "version" : "11"
    }
  ],
  "products" : [
    {
      "name" : "Device Library",
      "targets" : [
        "Device"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "Device",
      "module_type" : "SwiftTarget",
      "name" : "Device",
      "path" : "Sources",
      "product_dependencies" : [
        "Color Library"
      ],
      "product_memberships" : [
        "Device Library"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Sources/Resources/SymbolAssets.xcassets",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "AttributeListView.swift",
        "Battery.swift",
        "BatteryView.swift",
        "CurrentDevice.swift",
        "CurrentDeviceInfoView.swift",
        "Device.swift",
        "DeviceInfoView.swift",
        "DeviceKitBridge.swift",
        "EnvironmentsView.swift",
        "For Compatibility.swift",
        "Hardware.swift",
        "Models/AppleTVs.swift",
        "Models/AppleVision.swift",
        "Models/AppleWatches.swift",
        "Models/HomePods.swift",
        "Models/Macs.swift",
        "Models/iPads.swift",
        "Models/iPhones.swift",
        "Models/iPods.swift",
        "Screen.swift",
        "ScreenInfoView.swift",
        "StorageInfoView.swift",
        "Symbols.swift",
        "SystemInfoView.swift",
        "Version.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/5] Write sources
[3/5] Copying SymbolAssets.xcassets
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/45] Emitting module Compatibility
[7/49] Compiling Compatibility OrderedSet.swift
[8/49] Compiling Compatibility String.swift
[9/49] Compiling Compatibility Threading.swift
[10/49] Compiling Compatibility URL.swift
[11/49] Compiling Compatibility Placard.swift
[12/49] Compiling Compatibility Triangle.swift
[13/49] Compiling Compatibility SwiftUI.swift
[14/49] Compiling Compatibility TestUI.swift
[15/49] Compiling Compatibility Embossed.swift
[16/49] Compiling Compatibility Menu.swift
[17/49] Compiling Compatibility OverlappingStack.swift
[18/49] Compiling Compatibility RadialLayout.swift
[19/49] Compiling Compatibility Double.swift
[20/49] Compiling Compatibility Enum.swift
[21/49] Compiling Compatibility Int.swift
[22/49] Compiling Compatibility OrderedDictionary.swift
[23/49] Compiling Compatibility Array.swift
[24/49] Compiling Compatibility Codable.swift
[25/49] Compiling Compatibility CodingFoundation.swift
[26/49] Compiling Compatibility CodingJSON.swift
[27/49] Compiling Compatibility CloudStorageSync.swift
[28/49] Compiling Compatibility DataStore.swift
[29/49] Compiling Compatibility Debug.swift
[30/49] Compiling Compatibility FileManager.swift
[31/49] Compiling Compatibility Graphics.swift
[32/49] Compiling Compatibility CodingParameters.swift
[33/49] Compiling Compatibility Date.swift
[34/49] Compiling Compatibility DateString.swift
[35/49] Compiling Compatibility Dictionary.swift
[36/49] Compiling Compatibility Version.swift
[37/49] Compiling Compatibility Backport.swift
[38/49] Compiling Compatibility BytesView.swift
[39/49] Compiling Compatibility ClearableTextField.swift
[40/49] Compiling Compatibility Network.swift
[41/49] Compiling Compatibility ObservableObject.swift
[42/49] Compiling Compatibility Shell.swift
[43/49] Compiling Compatibility Test.swift
[44/49] Compiling Compatibility UserDefaultsBacked.swift
[45/49] Compiling Compatibility Compatibility.swift
[46/49] Compiling Compatibility Application.swift
[47/49] Compiling Compatibility Bundle.swift
[48/49] Compiling Compatibility CloudStatus.swift
[49/49] Compiling Compatibility CloudStorage.swift
[50/56] Emitting module Color
[51/56] Compiling Color Codable.swift
[52/56] Compiling Color Color.swift
[53/56] Compiling Color ColorUI.swift
[54/56] Compiling Color CSSColors.swift
[55/56] Compiling Color Colorsets.swift
[56/56] Compiling Color Compatibility.swift
[57/81] Compiling Device AttributeListView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Battery.swift:18:52: error: cannot find type 'CaseNameConvertible' in scope
 16 |
 17 | /// This enum describes the state of the battery.
 18 | public enum BatteryState: CustomStringConvertible, CaseNameConvertible, Sendable { // automatically conforms to Equatable since no associated/raw value
    |                                                    `- error: cannot find type 'CaseNameConvertible' in scope
 19 |     /// The battery state for the device can’t be determined.
 20 |     case unknown
[58/81] Compiling Device Battery.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Battery.swift:18:52: error: cannot find type 'CaseNameConvertible' in scope
 16 |
 17 | /// This enum describes the state of the battery.
 18 | public enum BatteryState: CustomStringConvertible, CaseNameConvertible, Sendable { // automatically conforms to Equatable since no associated/raw value
    |                                                    `- error: cannot find type 'CaseNameConvertible' in scope
 19 |     /// The battery state for the device can’t be determined.
 20 |     case unknown
[59/81] Compiling Device BatteryView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Battery.swift:18:52: error: cannot find type 'CaseNameConvertible' in scope
 16 |
 17 | /// This enum describes the state of the battery.
 18 | public enum BatteryState: CustomStringConvertible, CaseNameConvertible, Sendable { // automatically conforms to Equatable since no associated/raw value
    |                                                    `- error: cannot find type 'CaseNameConvertible' in scope
 19 |     /// The battery state for the device can’t be determined.
 20 |     case unknown
[60/83] Compiling Device DeviceInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:47:55: error: value of type 'Capability' has no member 'caseName'
 45 |                 } else {
 46 |                     // Fallback on earlier versions
 47 |                     output = output + Text(capability.caseName)
    |                                                       `- error: value of type 'Capability' has no member 'caseName'
 48 |                     + Text(" ")
 49 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:112:48: error: value of type 'CPU' has no member 'caseName'
110 |                         Text("\(device.supportedOSInfo)").font(.caption).foregroundStyle(.gray)
111 |                         HStack {
112 |                             Text("\(device.cpu.caseName) ").font(.footnote.smallCaps())
    |                                                `- error: value of type 'CPU' has no member 'caseName'
113 |                             if #available(iOS 14.0, *) {
114 |                                 Text(Image(symbolName: "cpu"))
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:229:98: error: value of type 'CPU' has no member 'caseName'
227 |                 lastIdiom = device.idiom
228 |             }
229 |             var searchableTerms = device.officialName.components(separatedBy: " ") + [device.cpu.caseName] + device.identifiers + device.models
    |                                                                                                  `- error: value of type 'CPU' has no member 'caseName'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:232:42: error: value of type 'Int' has no member 'string'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
232 |                 searchableTerms += [year.string]
    |                                          `- error: value of type 'Int' has no member 'string'
233 |             }
234 |             // normalize
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
[61/83] Compiling Device DeviceKitBridge.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:47:55: error: value of type 'Capability' has no member 'caseName'
 45 |                 } else {
 46 |                     // Fallback on earlier versions
 47 |                     output = output + Text(capability.caseName)
    |                                                       `- error: value of type 'Capability' has no member 'caseName'
 48 |                     + Text(" ")
 49 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:112:48: error: value of type 'CPU' has no member 'caseName'
110 |                         Text("\(device.supportedOSInfo)").font(.caption).foregroundStyle(.gray)
111 |                         HStack {
112 |                             Text("\(device.cpu.caseName) ").font(.footnote.smallCaps())
    |                                                `- error: value of type 'CPU' has no member 'caseName'
113 |                             if #available(iOS 14.0, *) {
114 |                                 Text(Image(symbolName: "cpu"))
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:229:98: error: value of type 'CPU' has no member 'caseName'
227 |                 lastIdiom = device.idiom
228 |             }
229 |             var searchableTerms = device.officialName.components(separatedBy: " ") + [device.cpu.caseName] + device.identifiers + device.models
    |                                                                                                  `- error: value of type 'CPU' has no member 'caseName'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:232:42: error: value of type 'Int' has no member 'string'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
232 |                 searchableTerms += [year.string]
    |                                          `- error: value of type 'Int' has no member 'string'
233 |             }
234 |             // normalize
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
[62/83] Compiling Device EnvironmentsView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:47:55: error: value of type 'Capability' has no member 'caseName'
 45 |                 } else {
 46 |                     // Fallback on earlier versions
 47 |                     output = output + Text(capability.caseName)
    |                                                       `- error: value of type 'Capability' has no member 'caseName'
 48 |                     + Text(" ")
 49 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:112:48: error: value of type 'CPU' has no member 'caseName'
110 |                         Text("\(device.supportedOSInfo)").font(.caption).foregroundStyle(.gray)
111 |                         HStack {
112 |                             Text("\(device.cpu.caseName) ").font(.footnote.smallCaps())
    |                                                `- error: value of type 'CPU' has no member 'caseName'
113 |                             if #available(iOS 14.0, *) {
114 |                                 Text(Image(symbolName: "cpu"))
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:229:98: error: value of type 'CPU' has no member 'caseName'
227 |                 lastIdiom = device.idiom
228 |             }
229 |             var searchableTerms = device.officialName.components(separatedBy: " ") + [device.cpu.caseName] + device.identifiers + device.models
    |                                                                                                  `- error: value of type 'CPU' has no member 'caseName'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:232:42: error: value of type 'Int' has no member 'string'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
232 |                 searchableTerms += [year.string]
    |                                          `- error: value of type 'Int' has no member 'string'
233 |             }
234 |             // normalize
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
[63/83] Compiling Device Version.swift
[64/83] Compiling Device resource_bundle_accessor.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[65/83] Emitting module Device
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Battery.swift:18:52: error: cannot find type 'CaseNameConvertible' in scope
 16 |
 17 | /// This enum describes the state of the battery.
 18 | public enum BatteryState: CustomStringConvertible, CaseNameConvertible, Sendable { // automatically conforms to Equatable since no associated/raw value
    |                                                    `- error: cannot find type 'CaseNameConvertible' in scope
 19 |     /// The battery state for the device can’t be determined.
 20 |     case unknown
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:399:68: error: cannot find type 'CaseNameConvertible' in scope
397 | // MARK: CPU
398 | // https://en.wikipedia.org/wiki/List_of_Mac_models_grouped_by_CPU_type
399 | public enum CPU: String, RawRepresentable, Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                                    `- error: cannot find type 'CaseNameConvertible' in scope
400 |     // Only 2013+ really need to be included since Swift won't run on devices prior to this.
401 |     case unknown = "Unknown"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:13: error: type 'Cellular' does not conform to protocol 'Comparable'
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |             |- error: type 'Cellular' does not conform to protocol 'Comparable'
    |             `- note: add stubs for conformance
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
Swift.FloatingPoint.<:2:20: note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.<:2:20: note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
3 |
Swift._Pointer.<:2:20: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift._Pointer.<:2:31: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift.Strideable.<:2:31: note: candidate would match if 'Cellular' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func < (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'Cellular' conformed to 'Strideable'
3 |
Swift.StringProtocol.<:2:31: note: candidate would match if 'Cellular' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func < <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'Cellular' conformed to 'StringProtocol'
3 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Compatibility/Sources/Foundation/DateString.swift:220:17: note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
218 | public extension DateStringRepresentation {
219 |     // Comparable conformance
220 |     static func < (lhs: Self, rhs: Self) -> Bool {
    |                 `- note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
221 |         return lhs.rawValue < rhs.rawValue
222 |     }
AppKit._AppKitKitNumericRawRepresentable.<:2:20: note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
1 | protocol _AppKitKitNumericRawRepresentable {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
3 |
Swift.Comparable.<:2:13: note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
1 | protocol Comparable {
2 | static func < (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:602:36: error: cannot find type 'CaseNameConvertible' in scope
600 |
601 | // MARK: Material Color
602 | public enum MaterialColor: String, CaseNameConvertible, Sendable {
    |                                    `- error: cannot find type 'CaseNameConvertible' in scope
603 |     // standard colors
604 |     case black = "#000000" // complete black for default color
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:31:31: error: cannot find type 'CaseNameConvertible' in scope
 29 |         case mm49 // ultra
 30 |
 31 |         public enum BandSize: CaseNameConvertible, Sendable {
    |                               `- error: cannot find type 'CaseNameConvertible' in scope
 32 |             case small // 38mm, 40mm, 41mm
 33 |             case large // 42mm, 44mm, 45mm, 49mm
/Users/admin/builder/spi-builder-workspace/Sources/Models/Macs.swift:11:55: error: cannot find type 'CaseNameConvertible' in scope
   9 |
  10 | public struct Mac: IdiomType {
  11 |     public enum Form: String, Hashable, CaseIterable, CaseNameConvertible, Sendable {
     |                                                       `- error: cannot find type 'CaseNameConvertible' in scope
  12 |         /// original cheese grater
  13 |         case macProGen1 = "macpro.gen1"
[66/83] Compiling Device ScreenInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
[67/83] Compiling Device StorageInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
[68/83] Compiling Device Symbols.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/SystemInfoView.swift:31:40: error: value of type 'CPU' has no member 'caseName'
29 |                     }
30 |                     Spacer()
31 |                     Text("\(device.cpu.caseName) ").font(.footnote.smallCaps())+Text(
   |                                        `- error: value of type 'CPU' has no member 'caseName'
32 |                         Image(symbolName: "cpu"))
33 |                 }
[69/83] Compiling Device SystemInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/SystemInfoView.swift:31:40: error: value of type 'CPU' has no member 'caseName'
29 |                     }
30 |                     Spacer()
31 |                     Text("\(device.cpu.caseName) ").font(.footnote.smallCaps())+Text(
   |                                        `- error: value of type 'CPU' has no member 'caseName'
32 |                         Image(symbolName: "cpu"))
33 |                 }
[70/83] Compiling Device Macs.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/Macs.swift:11:55: error: cannot find type 'CaseNameConvertible' in scope
   9 |
  10 | public struct Mac: IdiomType {
  11 |     public enum Form: String, Hashable, CaseIterable, CaseNameConvertible, Sendable {
     |                                                       `- error: cannot find type 'CaseNameConvertible' in scope
  12 |         /// original cheese grater
  13 |         case macProGen1 = "macpro.gen1"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
[71/83] Compiling Device iPads.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/Macs.swift:11:55: error: cannot find type 'CaseNameConvertible' in scope
   9 |
  10 | public struct Mac: IdiomType {
  11 |     public enum Form: String, Hashable, CaseIterable, CaseNameConvertible, Sendable {
     |                                                       `- error: cannot find type 'CaseNameConvertible' in scope
  12 |         /// original cheese grater
  13 |         case macProGen1 = "macpro.gen1"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
[72/83] Compiling Device iPhones.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/Macs.swift:11:55: error: cannot find type 'CaseNameConvertible' in scope
   9 |
  10 | public struct Mac: IdiomType {
  11 |     public enum Form: String, Hashable, CaseIterable, CaseNameConvertible, Sendable {
     |                                                       `- error: cannot find type 'CaseNameConvertible' in scope
  12 |         /// original cheese grater
  13 |         case macProGen1 = "macpro.gen1"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
[73/83] Compiling Device iPods.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
[74/83] Compiling Device Screen.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
[75/83] Compiling Device CurrentDevice.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Device.swift:708:37: error: value of type 'CPU' has no member 'caseName'
706 |             // check processor appended
707 |             let stripped = officialName.replacingOccurrences(of: hint, with: "").whitespaceCollapsed.replacingCharacters(in: .whitespacesAndNewlines, with: "").trimmed.lowercased()
708 |             if stripped == self.cpu.caseName {
    |                                     `- error: value of type 'CPU' has no member 'caseName'
709 |                 return 0.7
710 |             }
[76/83] Compiling Device CurrentDeviceInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Device.swift:708:37: error: value of type 'CPU' has no member 'caseName'
706 |             // check processor appended
707 |             let stripped = officialName.replacingOccurrences(of: hint, with: "").whitespaceCollapsed.replacingCharacters(in: .whitespacesAndNewlines, with: "").trimmed.lowercased()
708 |             if stripped == self.cpu.caseName {
    |                                     `- error: value of type 'CPU' has no member 'caseName'
709 |                 return 0.7
710 |             }
[77/83] Compiling Device Device.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Device.swift:708:37: error: value of type 'CPU' has no member 'caseName'
706 |             // check processor appended
707 |             let stripped = officialName.replacingOccurrences(of: hint, with: "").whitespaceCollapsed.replacingCharacters(in: .whitespacesAndNewlines, with: "").trimmed.lowercased()
708 |             if stripped == self.cpu.caseName {
    |                                     `- error: value of type 'CPU' has no member 'caseName'
709 |                 return 0.7
710 |             }
[78/83] Compiling Device AppleVision.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:31:31: error: cannot find type 'CaseNameConvertible' in scope
 29 |         case mm49 // ultra
 30 |
 31 |         public enum BandSize: CaseNameConvertible, Sendable {
    |                               `- error: cannot find type 'CaseNameConvertible' in scope
 32 |             case small // 38mm, 40mm, 41mm
 33 |             case large // 42mm, 44mm, 45mm, 49mm
[79/83] Compiling Device AppleWatches.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:31:31: error: cannot find type 'CaseNameConvertible' in scope
 29 |         case mm49 // ultra
 30 |
 31 |         public enum BandSize: CaseNameConvertible, Sendable {
    |                               `- error: cannot find type 'CaseNameConvertible' in scope
 32 |             case small // 38mm, 40mm, 41mm
 33 |             case large // 42mm, 44mm, 45mm, 49mm
[80/83] Compiling Device HomePods.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:31:31: error: cannot find type 'CaseNameConvertible' in scope
 29 |         case mm49 // ultra
 30 |
 31 |         public enum BandSize: CaseNameConvertible, Sendable {
    |                               `- error: cannot find type 'CaseNameConvertible' in scope
 32 |             case small // 38mm, 40mm, 41mm
 33 |             case large // 42mm, 44mm, 45mm, 49mm
[81/83] Compiling Device For Compatibility.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:399:68: error: cannot find type 'CaseNameConvertible' in scope
397 | // MARK: CPU
398 | // https://en.wikipedia.org/wiki/List_of_Mac_models_grouped_by_CPU_type
399 | public enum CPU: String, RawRepresentable, Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                                    `- error: cannot find type 'CaseNameConvertible' in scope
400 |     // Only 2013+ really need to be included since Swift won't run on devices prior to this.
401 |     case unknown = "Unknown"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:13: error: type 'Cellular' does not conform to protocol 'Comparable'
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |             |- error: type 'Cellular' does not conform to protocol 'Comparable'
    |             `- note: add stubs for conformance
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
Swift.FloatingPoint.<:2:20: note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.<:2:20: note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
3 |
Swift._Pointer.<:2:20: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift._Pointer.<:2:31: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift.Strideable.<:2:31: note: candidate would match if 'Cellular' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func < (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'Cellular' conformed to 'Strideable'
3 |
Swift.StringProtocol.<:2:31: note: candidate would match if 'Cellular' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func < <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'Cellular' conformed to 'StringProtocol'
3 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Compatibility/Sources/Foundation/DateString.swift:220:17: note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
218 | public extension DateStringRepresentation {
219 |     // Comparable conformance
220 |     static func < (lhs: Self, rhs: Self) -> Bool {
    |                 `- note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
221 |         return lhs.rawValue < rhs.rawValue
222 |     }
AppKit._AppKitKitNumericRawRepresentable.<:2:20: note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
1 | protocol _AppKitKitNumericRawRepresentable {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
3 |
Swift.Comparable.<:2:13: note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
1 | protocol Comparable {
2 | static func < (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:602:36: error: cannot find type 'CaseNameConvertible' in scope
600 |
601 | // MARK: Material Color
602 | public enum MaterialColor: String, CaseNameConvertible, Sendable {
    |                                    `- error: cannot find type 'CaseNameConvertible' in scope
603 |     // standard colors
604 |     case black = "#000000" // complete black for default color
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:177:32: error: cannot find 'caseName' in scope
175 |
176 |     /// caseName string.  Do not use this in a var description: String or it will cause an infinite loop.
177 |     public var label: String { caseName }
    |                                `- error: cannot find 'caseName' in scope
178 | }
179 | // device specific have functions for getting a wrapped capability out.
[82/83] Compiling Device Hardware.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:399:68: error: cannot find type 'CaseNameConvertible' in scope
397 | // MARK: CPU
398 | // https://en.wikipedia.org/wiki/List_of_Mac_models_grouped_by_CPU_type
399 | public enum CPU: String, RawRepresentable, Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                                    `- error: cannot find type 'CaseNameConvertible' in scope
400 |     // Only 2013+ really need to be included since Swift won't run on devices prior to this.
401 |     case unknown = "Unknown"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:13: error: type 'Cellular' does not conform to protocol 'Comparable'
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |             |- error: type 'Cellular' does not conform to protocol 'Comparable'
    |             `- note: add stubs for conformance
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
Swift.FloatingPoint.<:2:20: note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.<:2:20: note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
3 |
Swift._Pointer.<:2:20: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift._Pointer.<:2:31: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift.Strideable.<:2:31: note: candidate would match if 'Cellular' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func < (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'Cellular' conformed to 'Strideable'
3 |
Swift.StringProtocol.<:2:31: note: candidate would match if 'Cellular' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func < <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'Cellular' conformed to 'StringProtocol'
3 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Compatibility/Sources/Foundation/DateString.swift:220:17: note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
218 | public extension DateStringRepresentation {
219 |     // Comparable conformance
220 |     static func < (lhs: Self, rhs: Self) -> Bool {
    |                 `- note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
221 |         return lhs.rawValue < rhs.rawValue
222 |     }
AppKit._AppKitKitNumericRawRepresentable.<:2:20: note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
1 | protocol _AppKitKitNumericRawRepresentable {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
3 |
Swift.Comparable.<:2:13: note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
1 | protocol Comparable {
2 | static func < (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:602:36: error: cannot find type 'CaseNameConvertible' in scope
600 |
601 | // MARK: Material Color
602 | public enum MaterialColor: String, CaseNameConvertible, Sendable {
    |                                    `- error: cannot find type 'CaseNameConvertible' in scope
603 |     // standard colors
604 |     case black = "#000000" // complete black for default color
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:177:32: error: cannot find 'caseName' in scope
175 |
176 |     /// caseName string.  Do not use this in a var description: String or it will cause an infinite loop.
177 |     public var label: String { caseName }
    |                                `- error: cannot find 'caseName' in scope
178 | }
179 | // device specific have functions for getting a wrapped capability out.
[83/83] Compiling Device AppleTVs.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:399:68: error: cannot find type 'CaseNameConvertible' in scope
397 | // MARK: CPU
398 | // https://en.wikipedia.org/wiki/List_of_Mac_models_grouped_by_CPU_type
399 | public enum CPU: String, RawRepresentable, Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                                    `- error: cannot find type 'CaseNameConvertible' in scope
400 |     // Only 2013+ really need to be included since Swift won't run on devices prior to this.
401 |     case unknown = "Unknown"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:13: error: type 'Cellular' does not conform to protocol 'Comparable'
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |             |- error: type 'Cellular' does not conform to protocol 'Comparable'
    |             `- note: add stubs for conformance
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
Swift.FloatingPoint.<:2:20: note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.<:2:20: note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
3 |
Swift._Pointer.<:2:20: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift._Pointer.<:2:31: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift.Strideable.<:2:31: note: candidate would match if 'Cellular' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func < (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'Cellular' conformed to 'Strideable'
3 |
Swift.StringProtocol.<:2:31: note: candidate would match if 'Cellular' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func < <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'Cellular' conformed to 'StringProtocol'
3 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Compatibility/Sources/Foundation/DateString.swift:220:17: note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
218 | public extension DateStringRepresentation {
219 |     // Comparable conformance
220 |     static func < (lhs: Self, rhs: Self) -> Bool {
    |                 `- note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
221 |         return lhs.rawValue < rhs.rawValue
222 |     }
AppKit._AppKitKitNumericRawRepresentable.<:2:20: note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
1 | protocol _AppKitKitNumericRawRepresentable {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
3 |
Swift.Comparable.<:2:13: note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
1 | protocol Comparable {
2 | static func < (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:602:36: error: cannot find type 'CaseNameConvertible' in scope
600 |
601 | // MARK: Material Color
602 | public enum MaterialColor: String, CaseNameConvertible, Sendable {
    |                                    `- error: cannot find type 'CaseNameConvertible' in scope
603 |     // standard colors
604 |     case black = "#000000" // complete black for default color
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:177:32: error: cannot find 'caseName' in scope
175 |
176 |     /// caseName string.  Do not use this in a var description: String or it will cause an infinite loop.
177 |     public var label: String { caseName }
    |                                `- error: cannot find 'caseName' in scope
178 | }
179 | // device specific have functions for getting a wrapped capability out.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/41] Compiling Compatibility CodingParameters.swift
[3/41] Compiling Compatibility Date.swift
[4/41] Compiling Compatibility DateString.swift
[5/41] Compiling Compatibility Dictionary.swift
[6/45] Compiling Compatibility Double.swift
[7/45] Compiling Compatibility Enum.swift
[8/45] Compiling Compatibility Int.swift
[9/45] Compiling Compatibility OrderedDictionary.swift
[10/45] Compiling Compatibility Network.swift
[11/45] Compiling Compatibility ObservableObject.swift
[12/45] Compiling Compatibility Shell.swift
[13/45] Compiling Compatibility Test.swift
[14/45] Compiling Compatibility UserDefaultsBacked.swift
[15/45] Compiling Compatibility Array.swift
[16/45] Compiling Compatibility Codable.swift
[17/45] Compiling Compatibility CodingFoundation.swift
[18/45] Compiling Compatibility CodingJSON.swift
[19/45] Compiling Compatibility CloudStorageSync.swift
[20/45] Compiling Compatibility DataStore.swift
[21/45] Compiling Compatibility Debug.swift
[22/45] Compiling Compatibility FileManager.swift
[23/45] Compiling Compatibility Graphics.swift
[24/45] Compiling Compatibility Compatibility.swift
[25/45] Compiling Compatibility Application.swift
[26/45] Compiling Compatibility Bundle.swift
[27/45] Compiling Compatibility CloudStatus.swift
[28/45] Compiling Compatibility CloudStorage.swift
[29/45] Emitting module Compatibility
[30/45] Compiling Compatibility Embossed.swift
[31/45] Compiling Compatibility Menu.swift
[32/45] Compiling Compatibility OverlappingStack.swift
[33/45] Compiling Compatibility RadialLayout.swift
[34/45] Compiling Compatibility Version.swift
[35/45] Compiling Compatibility Backport.swift
[36/45] Compiling Compatibility BytesView.swift
[37/45] Compiling Compatibility ClearableTextField.swift
[38/45] Compiling Compatibility OrderedSet.swift
[39/45] Compiling Compatibility String.swift
[40/45] Compiling Compatibility Threading.swift
[41/45] Compiling Compatibility URL.swift
[42/45] Compiling Compatibility Placard.swift
[43/45] Compiling Compatibility Triangle.swift
[44/45] Compiling Compatibility SwiftUI.swift
[45/45] Compiling Compatibility TestUI.swift
[46/52] Compiling Color Compatibility.swift
[47/52] Compiling Color Colorsets.swift
[48/52] Compiling Color Codable.swift
[49/52] Compiling Color Color.swift
[50/52] Compiling Color CSSColors.swift
[51/52] Emitting module Color
[52/52] Compiling Color ColorUI.swift
[53/77] Compiling Device iPods.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
[54/77] Compiling Device Screen.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
[55/79] Compiling Device Version.swift
[56/79] Compiling Device resource_bundle_accessor.swift
[57/79] Compiling Device AttributeListView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Battery.swift:18:52: error: cannot find type 'CaseNameConvertible' in scope
 16 |
 17 | /// This enum describes the state of the battery.
 18 | public enum BatteryState: CustomStringConvertible, CaseNameConvertible, Sendable { // automatically conforms to Equatable since no associated/raw value
    |                                                    `- error: cannot find type 'CaseNameConvertible' in scope
 19 |     /// The battery state for the device can’t be determined.
 20 |     case unknown
[58/79] Compiling Device Battery.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Battery.swift:18:52: error: cannot find type 'CaseNameConvertible' in scope
 16 |
 17 | /// This enum describes the state of the battery.
 18 | public enum BatteryState: CustomStringConvertible, CaseNameConvertible, Sendable { // automatically conforms to Equatable since no associated/raw value
    |                                                    `- error: cannot find type 'CaseNameConvertible' in scope
 19 |     /// The battery state for the device can’t be determined.
 20 |     case unknown
[59/79] Compiling Device BatteryView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Battery.swift:18:52: error: cannot find type 'CaseNameConvertible' in scope
 16 |
 17 | /// This enum describes the state of the battery.
 18 | public enum BatteryState: CustomStringConvertible, CaseNameConvertible, Sendable { // automatically conforms to Equatable since no associated/raw value
    |                                                    `- error: cannot find type 'CaseNameConvertible' in scope
 19 |     /// The battery state for the device can’t be determined.
 20 |     case unknown
[60/79] Compiling Device AppleVision.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:31:31: error: cannot find type 'CaseNameConvertible' in scope
 29 |         case mm49 // ultra
 30 |
 31 |         public enum BandSize: CaseNameConvertible, Sendable {
    |                               `- error: cannot find type 'CaseNameConvertible' in scope
 32 |             case small // 38mm, 40mm, 41mm
 33 |             case large // 42mm, 44mm, 45mm, 49mm
[61/79] Compiling Device AppleWatches.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:31:31: error: cannot find type 'CaseNameConvertible' in scope
 29 |         case mm49 // ultra
 30 |
 31 |         public enum BandSize: CaseNameConvertible, Sendable {
    |                               `- error: cannot find type 'CaseNameConvertible' in scope
 32 |             case small // 38mm, 40mm, 41mm
 33 |             case large // 42mm, 44mm, 45mm, 49mm
[62/79] Compiling Device HomePods.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:31:31: error: cannot find type 'CaseNameConvertible' in scope
 29 |         case mm49 // ultra
 30 |
 31 |         public enum BandSize: CaseNameConvertible, Sendable {
    |                               `- error: cannot find type 'CaseNameConvertible' in scope
 32 |             case small // 38mm, 40mm, 41mm
 33 |             case large // 42mm, 44mm, 45mm, 49mm
[63/79] Compiling Device DeviceInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:47:55: error: value of type 'Capability' has no member 'caseName'
 45 |                 } else {
 46 |                     // Fallback on earlier versions
 47 |                     output = output + Text(capability.caseName)
    |                                                       `- error: value of type 'Capability' has no member 'caseName'
 48 |                     + Text(" ")
 49 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:112:48: error: value of type 'CPU' has no member 'caseName'
110 |                         Text("\(device.supportedOSInfo)").font(.caption).foregroundStyle(.gray)
111 |                         HStack {
112 |                             Text("\(device.cpu.caseName) ").font(.footnote.smallCaps())
    |                                                `- error: value of type 'CPU' has no member 'caseName'
113 |                             if #available(iOS 14.0, *) {
114 |                                 Text(Image(symbolName: "cpu"))
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:229:98: error: value of type 'CPU' has no member 'caseName'
227 |                 lastIdiom = device.idiom
228 |             }
229 |             var searchableTerms = device.officialName.components(separatedBy: " ") + [device.cpu.caseName] + device.identifiers + device.models
    |                                                                                                  `- error: value of type 'CPU' has no member 'caseName'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:232:42: error: value of type 'Int' has no member 'string'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
232 |                 searchableTerms += [year.string]
    |                                          `- error: value of type 'Int' has no member 'string'
233 |             }
234 |             // normalize
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
[64/79] Compiling Device DeviceKitBridge.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:47:55: error: value of type 'Capability' has no member 'caseName'
 45 |                 } else {
 46 |                     // Fallback on earlier versions
 47 |                     output = output + Text(capability.caseName)
    |                                                       `- error: value of type 'Capability' has no member 'caseName'
 48 |                     + Text(" ")
 49 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:112:48: error: value of type 'CPU' has no member 'caseName'
110 |                         Text("\(device.supportedOSInfo)").font(.caption).foregroundStyle(.gray)
111 |                         HStack {
112 |                             Text("\(device.cpu.caseName) ").font(.footnote.smallCaps())
    |                                                `- error: value of type 'CPU' has no member 'caseName'
113 |                             if #available(iOS 14.0, *) {
114 |                                 Text(Image(symbolName: "cpu"))
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:229:98: error: value of type 'CPU' has no member 'caseName'
227 |                 lastIdiom = device.idiom
228 |             }
229 |             var searchableTerms = device.officialName.components(separatedBy: " ") + [device.cpu.caseName] + device.identifiers + device.models
    |                                                                                                  `- error: value of type 'CPU' has no member 'caseName'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:232:42: error: value of type 'Int' has no member 'string'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
232 |                 searchableTerms += [year.string]
    |                                          `- error: value of type 'Int' has no member 'string'
233 |             }
234 |             // normalize
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
[65/79] Compiling Device EnvironmentsView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:47:55: error: value of type 'Capability' has no member 'caseName'
 45 |                 } else {
 46 |                     // Fallback on earlier versions
 47 |                     output = output + Text(capability.caseName)
    |                                                       `- error: value of type 'Capability' has no member 'caseName'
 48 |                     + Text(" ")
 49 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:112:48: error: value of type 'CPU' has no member 'caseName'
110 |                         Text("\(device.supportedOSInfo)").font(.caption).foregroundStyle(.gray)
111 |                         HStack {
112 |                             Text("\(device.cpu.caseName) ").font(.footnote.smallCaps())
    |                                                `- error: value of type 'CPU' has no member 'caseName'
113 |                             if #available(iOS 14.0, *) {
114 |                                 Text(Image(symbolName: "cpu"))
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:229:98: error: value of type 'CPU' has no member 'caseName'
227 |                 lastIdiom = device.idiom
228 |             }
229 |             var searchableTerms = device.officialName.components(separatedBy: " ") + [device.cpu.caseName] + device.identifiers + device.models
    |                                                                                                  `- error: value of type 'CPU' has no member 'caseName'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
/Users/admin/builder/spi-builder-workspace/Sources/DeviceInfoView.swift:232:42: error: value of type 'Int' has no member 'string'
230 |             // TODO: include all os versions so can search for all devices that support iOS15 or macOS16
231 |             if let year = device.introduction?.date?.year {
232 |                 searchableTerms += [year.string]
    |                                          `- error: value of type 'Int' has no member 'string'
233 |             }
234 |             // normalize
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
[66/79] Compiling Device CurrentDevice.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Device.swift:708:37: error: value of type 'CPU' has no member 'caseName'
706 |             // check processor appended
707 |             let stripped = officialName.replacingOccurrences(of: hint, with: "").whitespaceCollapsed.replacingCharacters(in: .whitespacesAndNewlines, with: "").trimmed.lowercased()
708 |             if stripped == self.cpu.caseName {
    |                                     `- error: value of type 'CPU' has no member 'caseName'
709 |                 return 0.7
710 |             }
[67/79] Compiling Device CurrentDeviceInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Device.swift:708:37: error: value of type 'CPU' has no member 'caseName'
706 |             // check processor appended
707 |             let stripped = officialName.replacingOccurrences(of: hint, with: "").whitespaceCollapsed.replacingCharacters(in: .whitespacesAndNewlines, with: "").trimmed.lowercased()
708 |             if stripped == self.cpu.caseName {
    |                                     `- error: value of type 'CPU' has no member 'caseName'
709 |                 return 0.7
710 |             }
[68/79] Compiling Device Device.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Device.swift:708:37: error: value of type 'CPU' has no member 'caseName'
706 |             // check processor appended
707 |             let stripped = officialName.replacingOccurrences(of: hint, with: "").whitespaceCollapsed.replacingCharacters(in: .whitespacesAndNewlines, with: "").trimmed.lowercased()
708 |             if stripped == self.cpu.caseName {
    |                                     `- error: value of type 'CPU' has no member 'caseName'
709 |                 return 0.7
710 |             }
[69/79] Compiling Device Macs.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/Macs.swift:11:55: error: cannot find type 'CaseNameConvertible' in scope
   9 |
  10 | public struct Mac: IdiomType {
  11 |     public enum Form: String, Hashable, CaseIterable, CaseNameConvertible, Sendable {
     |                                                       `- error: cannot find type 'CaseNameConvertible' in scope
  12 |         /// original cheese grater
  13 |         case macProGen1 = "macpro.gen1"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
[70/79] Compiling Device iPads.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/Macs.swift:11:55: error: cannot find type 'CaseNameConvertible' in scope
   9 |
  10 | public struct Mac: IdiomType {
  11 |     public enum Form: String, Hashable, CaseIterable, CaseNameConvertible, Sendable {
     |                                                       `- error: cannot find type 'CaseNameConvertible' in scope
  12 |         /// original cheese grater
  13 |         case macProGen1 = "macpro.gen1"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
[71/79] Compiling Device iPhones.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/Macs.swift:11:55: error: cannot find type 'CaseNameConvertible' in scope
   9 |
  10 | public struct Mac: IdiomType {
  11 |     public enum Form: String, Hashable, CaseIterable, CaseNameConvertible, Sendable {
     |                                                       `- error: cannot find type 'CaseNameConvertible' in scope
  12 |         /// original cheese grater
  13 |         case macProGen1 = "macpro.gen1"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
error: emit-module command failed with exit code 1 (use -v to see invocation)
[72/79] Emitting module Device
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Battery.swift:18:52: error: cannot find type 'CaseNameConvertible' in scope
 16 |
 17 | /// This enum describes the state of the battery.
 18 | public enum BatteryState: CustomStringConvertible, CaseNameConvertible, Sendable { // automatically conforms to Equatable since no associated/raw value
    |                                                    `- error: cannot find type 'CaseNameConvertible' in scope
 19 |     /// The battery state for the device can’t be determined.
 20 |     case unknown
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:399:68: error: cannot find type 'CaseNameConvertible' in scope
397 | // MARK: CPU
398 | // https://en.wikipedia.org/wiki/List_of_Mac_models_grouped_by_CPU_type
399 | public enum CPU: String, RawRepresentable, Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                                    `- error: cannot find type 'CaseNameConvertible' in scope
400 |     // Only 2013+ really need to be included since Swift won't run on devices prior to this.
401 |     case unknown = "Unknown"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:13: error: type 'Cellular' does not conform to protocol 'Comparable'
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |             |- error: type 'Cellular' does not conform to protocol 'Comparable'
    |             `- note: add stubs for conformance
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
Swift.FloatingPoint.<:2:20: note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.<:2:20: note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
3 |
Swift._Pointer.<:2:20: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift._Pointer.<:2:31: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift.Strideable.<:2:31: note: candidate would match if 'Cellular' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func < (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'Cellular' conformed to 'Strideable'
3 |
Swift.StringProtocol.<:2:31: note: candidate would match if 'Cellular' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func < <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'Cellular' conformed to 'StringProtocol'
3 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Compatibility/Sources/Foundation/DateString.swift:220:17: note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
218 | public extension DateStringRepresentation {
219 |     // Comparable conformance
220 |     static func < (lhs: Self, rhs: Self) -> Bool {
    |                 `- note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
221 |         return lhs.rawValue < rhs.rawValue
222 |     }
AppKit._AppKitKitNumericRawRepresentable.<:2:20: note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
1 | protocol _AppKitKitNumericRawRepresentable {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
3 |
Swift.Comparable.<:2:13: note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
1 | protocol Comparable {
2 | static func < (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:602:36: error: cannot find type 'CaseNameConvertible' in scope
600 |
601 | // MARK: Material Color
602 | public enum MaterialColor: String, CaseNameConvertible, Sendable {
    |                                    `- error: cannot find type 'CaseNameConvertible' in scope
603 |     // standard colors
604 |     case black = "#000000" // complete black for default color
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:31:31: error: cannot find type 'CaseNameConvertible' in scope
 29 |         case mm49 // ultra
 30 |
 31 |         public enum BandSize: CaseNameConvertible, Sendable {
    |                               `- error: cannot find type 'CaseNameConvertible' in scope
 32 |             case small // 38mm, 40mm, 41mm
 33 |             case large // 42mm, 44mm, 45mm, 49mm
/Users/admin/builder/spi-builder-workspace/Sources/Models/Macs.swift:11:55: error: cannot find type 'CaseNameConvertible' in scope
   9 |
  10 | public struct Mac: IdiomType {
  11 |     public enum Form: String, Hashable, CaseIterable, CaseNameConvertible, Sendable {
     |                                                       `- error: cannot find type 'CaseNameConvertible' in scope
  12 |         /// original cheese grater
  13 |         case macProGen1 = "macpro.gen1"
[73/79] Compiling Device Symbols.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/SystemInfoView.swift:31:40: error: value of type 'CPU' has no member 'caseName'
29 |                     }
30 |                     Spacer()
31 |                     Text("\(device.cpu.caseName) ").font(.footnote.smallCaps())+Text(
   |                                        `- error: value of type 'CPU' has no member 'caseName'
32 |                         Image(symbolName: "cpu"))
33 |                 }
[74/79] Compiling Device SystemInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/SystemInfoView.swift:31:40: error: value of type 'CPU' has no member 'caseName'
29 |                     }
30 |                     Spacer()
31 |                     Text("\(device.cpu.caseName) ").font(.footnote.smallCaps())+Text(
   |                                        `- error: value of type 'CPU' has no member 'caseName'
32 |                         Image(symbolName: "cpu"))
33 |                 }
[75/79] Compiling Device ScreenInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
[76/79] Compiling Device StorageInfoView.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
[77/79] Compiling Device For Compatibility.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:399:68: error: cannot find type 'CaseNameConvertible' in scope
397 | // MARK: CPU
398 | // https://en.wikipedia.org/wiki/List_of_Mac_models_grouped_by_CPU_type
399 | public enum CPU: String, RawRepresentable, Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                                    `- error: cannot find type 'CaseNameConvertible' in scope
400 |     // Only 2013+ really need to be included since Swift won't run on devices prior to this.
401 |     case unknown = "Unknown"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:13: error: type 'Cellular' does not conform to protocol 'Comparable'
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |             |- error: type 'Cellular' does not conform to protocol 'Comparable'
    |             `- note: add stubs for conformance
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
Swift.FloatingPoint.<:2:20: note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.<:2:20: note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
3 |
Swift._Pointer.<:2:20: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift._Pointer.<:2:31: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift.Strideable.<:2:31: note: candidate would match if 'Cellular' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func < (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'Cellular' conformed to 'Strideable'
3 |
Swift.StringProtocol.<:2:31: note: candidate would match if 'Cellular' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func < <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'Cellular' conformed to 'StringProtocol'
3 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Compatibility/Sources/Foundation/DateString.swift:220:17: note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
218 | public extension DateStringRepresentation {
219 |     // Comparable conformance
220 |     static func < (lhs: Self, rhs: Self) -> Bool {
    |                 `- note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
221 |         return lhs.rawValue < rhs.rawValue
222 |     }
AppKit._AppKitKitNumericRawRepresentable.<:2:20: note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
1 | protocol _AppKitKitNumericRawRepresentable {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
3 |
Swift.Comparable.<:2:13: note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
1 | protocol Comparable {
2 | static func < (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:602:36: error: cannot find type 'CaseNameConvertible' in scope
600 |
601 | // MARK: Material Color
602 | public enum MaterialColor: String, CaseNameConvertible, Sendable {
    |                                    `- error: cannot find type 'CaseNameConvertible' in scope
603 |     // standard colors
604 |     case black = "#000000" // complete black for default color
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:177:32: error: cannot find 'caseName' in scope
175 |
176 |     /// caseName string.  Do not use this in a var description: String or it will cause an infinite loop.
177 |     public var label: String { caseName }
    |                                `- error: cannot find 'caseName' in scope
178 | }
179 | // device specific have functions for getting a wrapped capability out.
[78/79] Compiling Device Hardware.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:399:68: error: cannot find type 'CaseNameConvertible' in scope
397 | // MARK: CPU
398 | // https://en.wikipedia.org/wiki/List_of_Mac_models_grouped_by_CPU_type
399 | public enum CPU: String, RawRepresentable, Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                                    `- error: cannot find type 'CaseNameConvertible' in scope
400 |     // Only 2013+ really need to be included since Swift won't run on devices prior to this.
401 |     case unknown = "Unknown"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:13: error: type 'Cellular' does not conform to protocol 'Comparable'
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |             |- error: type 'Cellular' does not conform to protocol 'Comparable'
    |             `- note: add stubs for conformance
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
Swift.FloatingPoint.<:2:20: note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.<:2:20: note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
3 |
Swift._Pointer.<:2:20: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift._Pointer.<:2:31: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift.Strideable.<:2:31: note: candidate would match if 'Cellular' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func < (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'Cellular' conformed to 'Strideable'
3 |
Swift.StringProtocol.<:2:31: note: candidate would match if 'Cellular' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func < <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'Cellular' conformed to 'StringProtocol'
3 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Compatibility/Sources/Foundation/DateString.swift:220:17: note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
218 | public extension DateStringRepresentation {
219 |     // Comparable conformance
220 |     static func < (lhs: Self, rhs: Self) -> Bool {
    |                 `- note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
221 |         return lhs.rawValue < rhs.rawValue
222 |     }
AppKit._AppKitKitNumericRawRepresentable.<:2:20: note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
1 | protocol _AppKitKitNumericRawRepresentable {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
3 |
Swift.Comparable.<:2:13: note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
1 | protocol Comparable {
2 | static func < (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:602:36: error: cannot find type 'CaseNameConvertible' in scope
600 |
601 | // MARK: Material Color
602 | public enum MaterialColor: String, CaseNameConvertible, Sendable {
    |                                    `- error: cannot find type 'CaseNameConvertible' in scope
603 |     // standard colors
604 |     case black = "#000000" // complete black for default color
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:177:32: error: cannot find 'caseName' in scope
175 |
176 |     /// caseName string.  Do not use this in a var description: String or it will cause an infinite loop.
177 |     public var label: String { caseName }
    |                                `- error: cannot find 'caseName' in scope
178 | }
179 | // device specific have functions for getting a wrapped capability out.
[79/79] Compiling Device AppleTVs.swift
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:7:76: error: cannot find type 'CaseNameConvertible' in scope
  5 | #endif
  6 |
  7 | public protocol DeviceAttributeExpressible: Hashable, SymbolRepresentable, CaseNameConvertible {
    |                                                                            `- error: cannot find type 'CaseNameConvertible' in scope
  8 |     var symbolName: String { get }
  9 |     var label: String { get } // description doesn't work since it can cause infinite recursion
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:507:45: error: cannot find type 'CaseNameConvertible' in scope
505 |
506 | // MARK: Camera
507 | public enum Camera: Hashable, CaseIterable, CaseNameConvertible, Sendable { // TODO: Do we want to include the focal length in these?  Perhaps position, focal length, megapixels, field of view?
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
508 |     case twoMP // original iPhone
509 |     case threeMP // iPhone 3GS
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:553:50: error: cannot find type 'CaseNameConvertible' in scope
551 |
552 | // MARK: Pencil
553 | public enum ApplePencil: Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                  `- error: cannot find type 'CaseNameConvertible' in scope
554 |     case firstGeneration
555 |     case secondGeneration
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:483:35: error: cannot find type 'CaseNameConvertible' in scope
481 |
482 | // MARK: Biometrics
483 | public enum Biometrics: Hashable, CaseNameConvertible, Sendable {
    |                                   `- error: cannot find type 'CaseNameConvertible' in scope
484 |     case none
485 |     case touchID
/Users/admin/builder/spi-builder-workspace/Sources/Models/AppleWatches.swift:19:28: error: cannot find type 'CaseNameConvertible' in scope
 17 |         watchSize.bandSize
 18 |     }
 19 |     public enum WatchSize: CaseNameConvertible, Sendable {
    |                            `- error: cannot find type 'CaseNameConvertible' in scope
 20 |         case unknown
 21 |         case mm38
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:45: error: cannot find type 'CaseNameConvertible' in scope
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |                                             `- error: cannot find type 'CaseNameConvertible' in scope
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:399:68: error: cannot find type 'CaseNameConvertible' in scope
397 | // MARK: CPU
398 | // https://en.wikipedia.org/wiki/List_of_Mac_models_grouped_by_CPU_type
399 | public enum CPU: String, RawRepresentable, Hashable, CaseIterable, CaseNameConvertible, Sendable {
    |                                                                    `- error: cannot find type 'CaseNameConvertible' in scope
400 |     // Only 2013+ really need to be included since Swift won't run on devices prior to this.
401 |     case unknown = "Unknown"
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:543:13: error: type 'Cellular' does not conform to protocol 'Comparable'
541 |
542 | // MARK: Cellular
543 | public enum Cellular: Hashable, Comparable, CaseNameConvertible, Sendable {
    |             |- error: type 'Cellular' does not conform to protocol 'Comparable'
    |             `- note: add stubs for conformance
544 |     case none // TODO: Take this out?  Do we need it for anything?  This should only be available in iPhone and iPad (protocol CellularCapable)
545 |     case gprs // 1G
Swift.FloatingPoint.<:2:20: note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
1 | protocol FloatingPoint {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to 'FloatingPoint'
3 |
Swift.BinaryInteger.<:2:20: note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
1 | protocol BinaryInteger {
2 | public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : BinaryInteger}
  |                    `- note: candidate would match if 'Cellular' conformed to 'BinaryInteger'
3 |
Swift._Pointer.<:2:20: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift._Pointer.<:2:31: note: candidate would match if 'Cellular' conformed to '_Pointer'
1 | protocol _Pointer {
2 | @inlinable public static func < <Other>(lhs: Self, rhs: Other) -> Bool where Other : _Pointer}
  |                               `- note: candidate would match if 'Cellular' conformed to '_Pointer'
3 |
Swift.Strideable.<:2:31: note: candidate would match if 'Cellular' conformed to 'Strideable'
1 | protocol Strideable {
2 | @inlinable public static func < (x: Self, y: Self) -> Bool}
  |                               `- note: candidate would match if 'Cellular' conformed to 'Strideable'
3 |
Swift.StringProtocol.<:2:31: note: candidate would match if 'Cellular' conformed to 'StringProtocol'
1 | protocol StringProtocol {
2 | @inlinable public static func < <RHS>(lhs: Self, rhs: RHS) -> Bool where RHS : StringProtocol}
  |                               `- note: candidate would match if 'Cellular' conformed to 'StringProtocol'
3 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Compatibility/Sources/Foundation/DateString.swift:220:17: note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
218 | public extension DateStringRepresentation {
219 |     // Comparable conformance
220 |     static func < (lhs: Self, rhs: Self) -> Bool {
    |                 `- note: candidate would match if 'Cellular' conformed to 'DateStringRepresentation'
221 |         return lhs.rawValue < rhs.rawValue
222 |     }
AppKit._AppKitKitNumericRawRepresentable.<:2:20: note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
1 | protocol _AppKitKitNumericRawRepresentable {
2 | public static func < (lhs: Self, rhs: Self) -> Bool}
  |                    `- note: candidate would match if 'Cellular' conformed to '_AppKitKitNumericRawRepresentable'
3 |
Swift.Comparable.<:2:13: note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
1 | protocol Comparable {
2 | static func < (lhs: Self, rhs: Self) -> Bool}
  |             `- note: protocol requires function '<' with type '(Cellular, Cellular) -> Bool'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:602:36: error: cannot find type 'CaseNameConvertible' in scope
600 |
601 | // MARK: Material Color
602 | public enum MaterialColor: String, CaseNameConvertible, Sendable {
    |                                    `- error: cannot find type 'CaseNameConvertible' in scope
603 |     // standard colors
604 |     case black = "#000000" // complete black for default color
/Users/admin/builder/spi-builder-workspace/Sources/Hardware.swift:177:32: error: cannot find 'caseName' in scope
175 |
176 |     /// caseName string.  Do not use this in a var description: String or it will cause an infinite loop.
177 |     public var label: String { caseName }
    |                                `- error: cannot find 'caseName' in scope
178 | }
179 | // device specific have functions for getting a wrapped capability out.
BUILD FAILURE 6.1 macosSpm