The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of Kipple, reference 0.14.3 (7c6844), with Swift 6.1 for Linux on 28 Apr 2025 19:47:00 UTC.

Swift 6 data race errors: 9

Build Command

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

Build Log

========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/bdrelling/Kipple.git
Reference: 0.14.3
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/bdrelling/Kipple
 * tag               0.14.3     -> FETCH_HEAD
HEAD is now at 7c68441 Improved BidrectionalCollection+Looping
Cloned https://github.com/bdrelling/Kipple.git
Revision (git rev-parse @):
7c68441e690e69c15f6c00ae0b4d3552f117048d
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/bdrelling/Kipple.git at 0.14.3
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/bdrelling/Kipple.git
https://github.com/bdrelling/Kipple.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
    {
      "identity" : "swift-collections",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-collections"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.4",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log"
    },
    {
      "identity" : "kippletools",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.3",
            "upper_bound" : "0.6.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/bdrelling/KippleTools"
    },
    {
      "identity" : "devicekit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.3",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/devicekit/DeviceKit"
    },
    {
      "identity" : "keychainaccess",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.2.2",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kishikawakatsumi/KeychainAccess"
    }
  ],
  "manifest_display_name" : "Kipple",
  "name" : "Kipple",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "Kipple",
      "targets" : [
        "Kipple"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCodable",
      "targets" : [
        "KippleCodable"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCollections",
      "targets" : [
        "KippleCollections"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCombine",
      "targets" : [
        "KippleCombine"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleFoundation",
      "targets" : [
        "KippleFoundation"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleDevice",
      "targets" : [
        "KippleDevice"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleKeychain",
      "targets" : [
        "KippleKeychain"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleLocalStorage",
      "targets" : [
        "KippleLocalStorage"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleLogging",
      "targets" : [
        "KippleLogging"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "KippleLoggingTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleLoggingTests",
      "path" : "Tests/KippleLoggingTests",
      "sources" : [
        "Protocols/LogHandlerValidating.swift",
        "Tests/ConsoleLogHandlerTests.swift"
      ],
      "target_dependencies" : [
        "KippleLogging"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleLogging",
      "module_type" : "SwiftTarget",
      "name" : "KippleLogging",
      "path" : "Sources/KippleLogging",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleLogging"
      ],
      "sources" : [
        "Exports.swift",
        "Extensions/Logger+Convenience.swift",
        "Handlers/ConsoleLogHandler.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleLocalStorageTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleLocalStorageTests",
      "path" : "Tests/KippleLocalStorageTests",
      "sources" : [
        "UserDefaultsExtensionsTests.swift"
      ],
      "target_dependencies" : [
        "KippleLocalStorage"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleLocalStorage",
      "module_type" : "SwiftTarget",
      "name" : "KippleLocalStorage",
      "path" : "Sources/KippleLocalStorage",
      "product_memberships" : [
        "Kipple",
        "KippleLocalStorage"
      ],
      "sources" : [
        "UserDefaults/UserDefaults+Codable.swift",
        "UserDefaults/UserDefaults+Key.swift",
        "UserDefaults/UserDefaults+Mocked.swift",
        "UserDefaults/UserDefaults+RemoveAllObjects.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleKeychain",
      "module_type" : "SwiftTarget",
      "name" : "KippleKeychain",
      "path" : "Sources/KippleKeychain",
      "product_dependencies" : [
        "KeychainAccess"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleKeychain"
      ],
      "sources" : [
        "Exports.swift",
        "Keychain+Default.swift",
        "Keychain+Key.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleFoundationTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleFoundationTests",
      "path" : "Tests/KippleFoundationTests",
      "sources" : [
        "AppInfoTests.swift",
        "BoolExtensionTests.swift",
        "BundleExtensionTests.swift",
        "BundleInfoTests.swift",
        "ComparableExtensionTests.swift",
        "Int64ClampedTests.swift",
        "IntExtensionTests.swift",
        "ModuloTests.swift",
        "NSNumberExtensionTests.swift",
        "ResultExtensionTests.swift",
        "SemanticVersionTests.swift",
        "StringExtensionTests.swift",
        "StringLocalizedErrorExtensionTests.swift",
        "UInt64ClampedTests.swift",
        "URLConvertibleTests.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleFoundation",
      "module_type" : "SwiftTarget",
      "name" : "KippleFoundation",
      "path" : "Sources/KippleFoundation",
      "product_memberships" : [
        "Kipple",
        "KippleFoundation",
        "KippleDevice",
        "KippleKeychain"
      ],
      "sources" : [
        "Extensions/BinaryInteger+Clamped.swift",
        "Extensions/Bool+Convenience.swift",
        "Extensions/Bundle+Convenience.swift",
        "Extensions/Bundle+Key.swift",
        "Extensions/Comparable+Clamped.swift",
        "Extensions/Int+Convenience.swift",
        "Extensions/NSNumber+Boolean.swift",
        "Extensions/Result+Convenience.swift",
        "Extensions/String+Convenience.swift",
        "Extensions/String+LocalizedError.swift",
        "Extensions/Swift+Modulo.swift",
        "Models/AppInfo.swift",
        "Models/BundleInfo.swift",
        "Models/SemanticVersion.swift",
        "Protocols/URLConvertible.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleDeviceTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleDeviceTests",
      "path" : "Tests/KippleDeviceTests",
      "sources" : [
        "DeviceInfoTests.swift"
      ],
      "target_dependencies" : [
        "KippleDevice"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleDevice",
      "module_type" : "SwiftTarget",
      "name" : "KippleDevice",
      "path" : "Sources/KippleDevice",
      "product_dependencies" : [
        "DeviceKit"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleDevice"
      ],
      "sources" : [
        "DeviceFamily.swift",
        "DeviceInfo.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCombineTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCombineTests",
      "path" : "Tests/KippleCombineTests",
      "sources" : [
        "PublisherResultTests.swift"
      ],
      "target_dependencies" : [
        "KippleCombine"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCombine",
      "module_type" : "SwiftTarget",
      "name" : "KippleCombine",
      "path" : "Sources/KippleCombine",
      "product_memberships" : [
        "Kipple",
        "KippleCombine"
      ],
      "sources" : [
        "Publisher+Result.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCollectionsTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCollectionsTests",
      "path" : "Tests/KippleCollectionsTests",
      "sources" : [
        "BidirectionalCollectionExtensionTests.swift",
        "InterleavableDictionaryTests.swift"
      ],
      "target_dependencies" : [
        "KippleCollections"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCollections",
      "module_type" : "SwiftTarget",
      "name" : "KippleCollections",
      "path" : "Sources/KippleCollections",
      "product_dependencies" : [
        "OrderedCollections"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleCollections"
      ],
      "sources" : [
        "Exports.swift",
        "Extensions/Array+RemoveDuplicates.swift",
        "Extensions/BidirectionalCollection+Looping.swift",
        "Extensions/RangeReplaceableCollection+Rotating.swift",
        "Protocols/InterleavableDictionary.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCodableTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCodableTests",
      "path" : "Tests/KippleCodableTests",
      "sources" : [
        "CodableDefaultTests.swift",
        "CodableIgnoredTests.swift",
        "DecodingErrorCleanedTests.swift",
        "DictionaryExtensionTests.swift",
        "EncodableAsDictionaryTests.swift",
        "EncodablePrettyPrintedTests.swift"
      ],
      "target_dependencies" : [
        "KippleCodable"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCodable",
      "module_type" : "SwiftTarget",
      "name" : "KippleCodable",
      "path" : "Sources/KippleCodable",
      "product_memberships" : [
        "Kipple",
        "KippleCodable"
      ],
      "sources" : [
        "Errors/CleanedDecodingError.swift",
        "Errors/KippleCodableError.swift",
        "Extensions/DecodingError+Cleaned.swift",
        "Extensions/Dictionary+AsJSONSerializedData.swift",
        "Extensions/Encodable+AsDictionary.swift",
        "Extensions/Encodable+PrettyPrinted.swift",
        "Extensions/JSONDecoder+DecodeCleaned.swift",
        "Extensions/PropertyListDecoder+DecodeCleaned.swift",
        "PropertyWrappers/CodableDefault.swift",
        "PropertyWrappers/CodableDefaultStrategy.swift",
        "PropertyWrappers/CodableIgnored.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Kipple",
      "module_type" : "SwiftTarget",
      "name" : "Kipple",
      "path" : "Sources/Kipple",
      "product_memberships" : [
        "Kipple"
      ],
      "sources" : [
        "Exports.swift"
      ],
      "target_dependencies" : [
        "KippleCodable",
        "KippleCollections",
        "KippleCombine",
        "KippleFoundation",
        "KippleDevice",
        "KippleKeychain",
        "KippleLocalStorage",
        "KippleLogging"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Fetching https://github.com/apple/swift-collections
Fetching https://github.com/devicekit/DeviceKit
Fetching https://github.com/bdrelling/KippleTools
Fetching https://github.com/apple/swift-log
Fetching https://github.com/kishikawakatsumi/KeychainAccess
[1/720] Fetching kippletools
[721/4556] Fetching kippletools, swift-log
[875/8942] Fetching kippletools, swift-log, keychainaccess
[1133/12991] Fetching kippletools, swift-log, keychainaccess, devicekit
[11633/29233] Fetching kippletools, swift-log, keychainaccess, devicekit, swift-collections
Fetched https://github.com/devicekit/DeviceKit from cache (0.45s)
[12191/25184] Fetching kippletools, swift-log, keychainaccess, swift-collections
Fetched https://github.com/apple/swift-log from cache (0.57s)
Fetched https://github.com/kishikawakatsumi/KeychainAccess from cache (0.58s)
[5106/16962] Fetching kippletools, swift-collections
Fetched https://github.com/bdrelling/KippleTools from cache (1.11s)
Fetched https://github.com/apple/swift-collections from cache (1.14s)
Computing version for https://github.com/kishikawakatsumi/KeychainAccess
Computed https://github.com/kishikawakatsumi/KeychainAccess at 4.2.2 (1.65s)
Computing version for https://github.com/bdrelling/KippleTools
Computed https://github.com/bdrelling/KippleTools at 0.5.4 (0.51s)
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/nicklockwood/SwiftFormat
[1/14950] Fetching swift-argument-parser
[1048/61680] Fetching swift-argument-parser, swiftformat
Fetched https://github.com/apple/swift-argument-parser from cache (28.58s)
Fetched https://github.com/nicklockwood/SwiftFormat from cache (29.18s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.0 (29.62s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.6.3 (0.42s)
Computing version for https://github.com/apple/swift-collections
Computed https://github.com/apple/swift-collections at 1.1.4 (0.62s)
Computing version for https://github.com/devicekit/DeviceKit
Computed https://github.com/devicekit/DeviceKit at 5.6.0 (0.45s)
Computing version for https://github.com/nicklockwood/SwiftFormat
Computed https://github.com/nicklockwood/SwiftFormat at 0.55.5 (0.47s)
Creating working copy for https://github.com/apple/swift-collections
Working copy of https://github.com/apple/swift-collections resolved at 1.1.4
Creating working copy for https://github.com/bdrelling/KippleTools
Working copy of https://github.com/bdrelling/KippleTools resolved at 0.5.4
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.6.3
Creating working copy for https://github.com/devicekit/DeviceKit
Working copy of https://github.com/devicekit/DeviceKit resolved at 5.6.0
Creating working copy for https://github.com/nicklockwood/SwiftFormat
Working copy of https://github.com/nicklockwood/SwiftFormat resolved at 0.55.5
Creating working copy for https://github.com/kishikawakatsumi/KeychainAccess
Working copy of https://github.com/kishikawakatsumi/KeychainAccess resolved at 4.2.2
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.0
warning: 'devicekit': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /host/spi-builder-workspace/.build/checkouts/DeviceKit/Source/Device.swift.gyb
    /host/spi-builder-workspace/.build/checkouts/DeviceKit/Source/Info.plist
[1/1] Compiling plugin SwiftFormatPlugin
[2/2] Compiling plugin GenerateManual
Building for debugging...
[2/15] Write sources
[14/15] Write swift-version-24593BA9C3E375BF.txt
[16/70] Emitting module KippleCombine
[17/70] Compiling KippleFoundation BundleInfo.swift
[18/70] Compiling KippleFoundation SemanticVersion.swift
[19/70] Compiling KippleCombine Publisher+Result.swift
[20/73] Compiling KippleFoundation String+Convenience.swift
[21/73] Compiling KippleFoundation String+LocalizedError.swift
[22/73] Compiling InternalCollectionsUtilities _SortedCollection.swift
[23/73] Compiling InternalCollectionsUtilities _UniqueCollection.swift
[24/73] Compiling KippleFoundation Swift+Modulo.swift
[25/73] Compiling KippleFoundation AppInfo.swift
/host/spi-builder-workspace/Sources/KippleFoundation/Models/SemanticVersion.swift:64:16: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | // Copyright © 2024 Brian Drelling. All rights reserved.
 2 |
 3 | public struct SemanticVersion: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'SemanticVersion' conform to the 'Sendable' protocol
 4 |     // MARK: Properties
 5 |
   :
62 |
63 | public extension SemanticVersion {
64 |     static let zero: Self = .init(major: 0, minor: 0, patch: 0)
   |                |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 |     static func from(_ versionString: String) -> Self {
/host/spi-builder-workspace/Sources/KippleFoundation/Models/SemanticVersion.swift:64:16: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | // Copyright © 2024 Brian Drelling. All rights reserved.
 2 |
 3 | public struct SemanticVersion: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'SemanticVersion' conform to the 'Sendable' protocol
 4 |     // MARK: Properties
 5 |
   :
62 |
63 | public extension SemanticVersion {
64 |     static let zero: Self = .init(major: 0, minor: 0, patch: 0)
   |                |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 |     static func from(_ versionString: String) -> Self {
[28/73] Emitting module InternalCollectionsUtilities
[29/74] Compiling KippleFoundation BinaryInteger+Clamped.swift
[30/74] Compiling KippleFoundation Bool+Convenience.swift
[31/74] Compiling KippleFoundation Comparable+Clamped.swift
[32/74] Compiling KippleFoundation Bundle+Convenience.swift
[33/74] Compiling KippleFoundation Bundle+Key.swift
[34/74] Compiling KippleFoundation Int+Convenience.swift
[35/74] Compiling KippleFoundation NSNumber+Boolean.swift
[36/74] Compiling KippleFoundation Result+Convenience.swift
[38/74] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[39/74] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[41/130] Compiling Logging MetadataProvider.swift
[42/130] Emitting module Logging
[43/130] Compiling Logging Locks.swift
[44/130] Compiling Logging LogHandler.swift
[45/130] Compiling Logging Logging.swift
[47/131] Compiling OrderedCollections _HashTable+Testing.swift
[48/131] Compiling OrderedCollections _HashTable+UnsafeHandle.swift
[49/131] Compiling KippleCodable PropertyListDecoder+DecodeCleaned.swift
[50/131] Compiling KippleCodable CodableDefaultStrategy.swift
[51/131] Compiling KippleCodable CodableDefault.swift
[52/132] Emitting module KippleFoundation
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:28:16: warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
26 |
27 | public extension Bundle.Key {
28 |     static let buildNumber: Self = "CFBundleVersion"
   |                |- warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'buildNumber' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |     static let displayName: Self = "CFBundleDisplayName"
30 |     static let name: Self = "CFBundleName"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:29:16: warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
27 | public extension Bundle.Key {
28 |     static let buildNumber: Self = "CFBundleVersion"
29 |     static let displayName: Self = "CFBundleDisplayName"
   |                |- warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'displayName' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |     static let name: Self = "CFBundleName"
31 |     static let version: Self = "CFBundleShortVersionString"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:30:16: warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
28 |     static let buildNumber: Self = "CFBundleVersion"
29 |     static let displayName: Self = "CFBundleDisplayName"
30 |     static let name: Self = "CFBundleName"
   |                |- warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'name' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |     static let version: Self = "CFBundleShortVersionString"
32 | }
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:31:16: warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
29 |     static let displayName: Self = "CFBundleDisplayName"
30 |     static let name: Self = "CFBundleName"
31 |     static let version: Self = "CFBundleShortVersionString"
   |                |- warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'version' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 | }
33 |
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
/host/spi-builder-workspace/Sources/KippleFoundation/Models/SemanticVersion.swift:64:16: warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | // Copyright © 2024 Brian Drelling. All rights reserved.
 2 |
 3 | public struct SemanticVersion: Equatable, Hashable, Codable {
   |               `- note: consider making struct 'SemanticVersion' conform to the 'Sendable' protocol
 4 |     // MARK: Properties
 5 |
   :
62 |
63 | public extension SemanticVersion {
64 |     static let zero: Self = .init(major: 0, minor: 0, patch: 0)
   |                |- warning: static property 'zero' is not concurrency-safe because non-'Sendable' type 'SemanticVersion' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'zero' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
65 |
66 |     static func from(_ versionString: String) -> Self {
[53/132] Compiling OrderedCollections _HashTable+Bucket.swift
[54/132] Compiling OrderedCollections _HashTable+BucketIterator.swift
[55/132] Compiling OrderedCollections OrderedDictionary+Deprecations.swift
[56/132] Compiling OrderedCollections OrderedDictionary+Descriptions.swift
[57/132] Compiling OrderedCollections OrderedDictionary+Codable.swift
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
[58/132] Compiling OrderedCollections OrderedDictionary+CustomReflectable.swift
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/String+LocalizedError.swift:7:1: warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
 5 | /// Extension that allows a normal `String` to be returned as an error,
 6 | /// using itself as the localized error description.
 7 | extension String: LocalizedError {
   | |- warning: extension declares a conformance of imported type 'String' to imported protocols 'LocalizedError', 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
 8 |     public var errorDescription: String? {
 9 |         self
[59/132] Compiling KippleLocalStorage UserDefaults+RemoveAllObjects.swift
[62/132] Compiling KippleCodable JSONDecoder+DecodeCleaned.swift
[63/132] Emitting module KippleLocalStorage
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Key.swift:28:16: warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | public extension UserDefaults {
28 |     static let codableStore = UserDefaults(suiteName: "com.kipple.codablestore")!
   |                |- warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'codableStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | }
30 |
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Mocked.swift:6:16: warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 | extension UserDefaults {
 6 |     static let mocked: UserDefaults = {
   |                |- warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'mocked' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |         let name = "com.kipple.mocked"
 8 |         let store = UserDefaults(suiteName: name)!
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
[64/132] Compiling OrderedCollections _HashTable.swift
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:28:16: warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
26 |
27 | public extension Bundle.Key {
28 |     static let buildNumber: Self = "CFBundleVersion"
   |                |- warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'buildNumber' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |     static let displayName: Self = "CFBundleDisplayName"
30 |     static let name: Self = "CFBundleName"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:29:16: warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
27 | public extension Bundle.Key {
28 |     static let buildNumber: Self = "CFBundleVersion"
29 |     static let displayName: Self = "CFBundleDisplayName"
   |                |- warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'displayName' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |     static let name: Self = "CFBundleName"
31 |     static let version: Self = "CFBundleShortVersionString"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:30:16: warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
28 |     static let buildNumber: Self = "CFBundleVersion"
29 |     static let displayName: Self = "CFBundleDisplayName"
30 |     static let name: Self = "CFBundleName"
   |                |- warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'name' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |     static let version: Self = "CFBundleShortVersionString"
32 | }
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:31:16: warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
29 |     static let displayName: Self = "CFBundleDisplayName"
30 |     static let name: Self = "CFBundleName"
31 |     static let version: Self = "CFBundleShortVersionString"
   |                |- warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'version' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 | }
33 |
[65/132] Compiling OrderedCollections _Hashtable+Header.swift
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:28:16: warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
26 |
27 | public extension Bundle.Key {
28 |     static let buildNumber: Self = "CFBundleVersion"
   |                |- warning: static property 'buildNumber' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'buildNumber' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 |     static let displayName: Self = "CFBundleDisplayName"
30 |     static let name: Self = "CFBundleName"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:29:16: warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
27 | public extension Bundle.Key {
28 |     static let buildNumber: Self = "CFBundleVersion"
29 |     static let displayName: Self = "CFBundleDisplayName"
   |                |- warning: static property 'displayName' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'displayName' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |     static let name: Self = "CFBundleName"
31 |     static let version: Self = "CFBundleShortVersionString"
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:30:16: warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
28 |     static let buildNumber: Self = "CFBundleVersion"
29 |     static let displayName: Self = "CFBundleDisplayName"
30 |     static let name: Self = "CFBundleName"
   |                |- warning: static property 'name' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'name' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 |     static let version: Self = "CFBundleShortVersionString"
32 | }
/host/spi-builder-workspace/Sources/KippleFoundation/Extensions/Bundle+Key.swift:31:16: warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
14 |     /// }
15 |     /// ```
16 |     struct Key: RawRepresentable {
   |            `- note: consider making struct 'Key' conform to the 'Sendable' protocol
17 |         public let rawValue: String
18 |
   :
29 |     static let displayName: Self = "CFBundleDisplayName"
30 |     static let name: Self = "CFBundleName"
31 |     static let version: Self = "CFBundleShortVersionString"
   |                |- warning: static property 'version' is not concurrency-safe because non-'Sendable' type 'Bundle.Key' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'version' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
32 | }
33 |
[66/132] Compiling OrderedCollections _HashTable+Constants.swift
[67/132] Compiling OrderedCollections _HashTable+CustomStringConvertible.swift
[72/132] Emitting module KippleCodable
[73/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtract.swift
[74/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra subtracting.swift
[75/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra symmetricDifference.swift
[76/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra union.swift
[77/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra+Basics.swift
[78/132] Compiling OrderedCollections OrderedSet+RandomAccessCollection.swift
[79/132] Compiling OrderedCollections OrderedSet+ReserveCapacity.swift
[80/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra intersection.swift
[81/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isDisjoint.swift
[82/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isEqualSet.swift
[83/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSubset.swift
[84/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isStrictSuperset.swift
[85/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSubset.swift
[86/132] Compiling OrderedCollections OrderedSet+Partial SetAlgebra isSuperset.swift
[87/139] Compiling KippleLocalStorage UserDefaults+Key.swift
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Key.swift:28:16: warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode
26 |
27 | public extension UserDefaults {
28 |     static let codableStore = UserDefaults(suiteName: "com.kipple.codablestore")!
   |                |- warning: static property 'codableStore' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'codableStore' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | }
30 |
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
[88/139] Compiling KippleLocalStorage UserDefaults+Mocked.swift
/host/spi-builder-workspace/Sources/KippleLocalStorage/UserDefaults/UserDefaults+Mocked.swift:6:16: warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 | extension UserDefaults {
 6 |     static let mocked: UserDefaults = {
   |                |- warning: static property 'mocked' is not concurrency-safe because non-'Sendable' type 'UserDefaults' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'mocked' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |         let name = "com.kipple.mocked"
 8 |         let store = UserDefaults(suiteName: name)!
Foundation.UserDefaults:1:12: note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 1 | open class UserDefaults : NSObject {
   |            `- note: class 'UserDefaults' does not conform to the 'Sendable' protocol
 2 |     open class var standard: UserDefaults { get }
 3 |     open class func resetStandardUserDefaults()
[89/139] Compiling KippleLocalStorage UserDefaults+Codable.swift
[90/142] Compiling KippleFoundation URLConvertible.swift
[92/145] Compiling OrderedCollections OrderedDictionary.swift
[93/145] Compiling OrderedCollections OrderedSet+Codable.swift
[94/145] Compiling OrderedCollections OrderedSet+CustomReflectable.swift
[95/145] Compiling OrderedCollections OrderedSet+Descriptions.swift
[96/145] Compiling OrderedCollections OrderedSet+Diffing.swift
[97/145] Compiling OrderedCollections OrderedSet+Equatable.swift
[98/145] Compiling OrderedCollections OrderedSet+ExpressibleByArrayLiteral.swift
[99/145] Compiling OrderedCollections OrderedSet+Hashable.swift
[100/145] Compiling OrderedCollections OrderedDictionary+Hashable.swift
[101/145] Compiling OrderedCollections OrderedDictionary+Initializers.swift
[102/145] Compiling OrderedCollections OrderedDictionary+Invariants.swift
[103/145] Compiling OrderedCollections OrderedDictionary+Partial MutableCollection.swift
[104/145] Compiling OrderedCollections OrderedDictionary+Partial RangeReplaceableCollection.swift
[105/145] Compiling OrderedCollections OrderedDictionary+Sendable.swift
[106/145] Compiling OrderedCollections OrderedDictionary+Sequence.swift
[107/145] Compiling OrderedCollections OrderedDictionary+Values.swift
[112/145] Compiling OrderedCollections OrderedDictionary+Elements.SubSequence.swift
[113/145] Compiling OrderedCollections OrderedDictionary+Elements.swift
[114/145] Compiling OrderedCollections OrderedDictionary+Equatable.swift
[115/145] Compiling OrderedCollections OrderedDictionary+ExpressibleByDictionaryLiteral.swift
[116/145] Compiling KippleCodable CodableIgnored.swift
[118/146] Compiling OrderedCollections OrderedSet+Initializers.swift
[119/146] Compiling OrderedCollections OrderedSet+Insertions.swift
[120/146] Compiling OrderedCollections OrderedSet+Invariants.swift
[121/146] Compiling OrderedCollections OrderedSet+Partial MutableCollection.swift
[122/146] Compiling OrderedCollections OrderedSet+Partial RangeReplaceableCollection.swift
[123/146] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formIntersection.swift
[124/146] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formSymmetricDifference.swift
[125/146] Compiling OrderedCollections OrderedSet+Partial SetAlgebra formUnion.swift
[126/146] Emitting module KippleLogging
/host/spi-builder-workspace/Sources/KippleLogging/Handlers/ConsoleLogHandler.swift:16:23: warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     /// The `logLevel` of an individual `ConsoleLogHandler` is ignored when this global
 15 |     /// log level is set to a higher level.
 16 |     public static var globalLogLevel: Logger.Level?
    |                       |- warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'globalLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'globalLogLevel' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 |     /// The log label for the log handler.
[128/146] Compiling KippleLogging Exports.swift
[129/150] Compiling KippleLogging ConsoleLogHandler.swift
/host/spi-builder-workspace/Sources/KippleLogging/Handlers/ConsoleLogHandler.swift:16:23: warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     /// The `logLevel` of an individual `ConsoleLogHandler` is ignored when this global
 15 |     /// log level is set to a higher level.
 16 |     public static var globalLogLevel: Logger.Level?
    |                       |- warning: static property 'globalLogLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'globalLogLevel' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: add '@MainActor' to make static property 'globalLogLevel' part of global actor 'MainActor'
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 |     /// The log label for the log handler.
[130/150] Compiling KippleLogging Logger+Convenience.swift
[131/154] Compiling KippleKeychain Keychain+Key.swift
[132/154] Emitting module KippleKeychain
[133/154] Compiling KippleKeychain Exports.swift
[135/154] Compiling KippleKeychain Keychain+Default.swift
[136/155] Compiling KippleDevice DeviceFamily.swift
[146/155] Emitting module KippleDevice
/host/spi-builder-workspace/Sources/KippleDevice/DeviceInfo.swift:48:16: warning: static property 'current' is not concurrency-safe because non-'Sendable' type 'DeviceInfo' may have shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | /// A contextualized representation of a device such as an iPhone, Mac, Apple Watch, and so on.
 14 | public struct DeviceInfo: Equatable, Hashable, Codable {
    |               `- note: consider making struct 'DeviceInfo' conform to the 'Sendable' protocol
 15 |     // MARK: Properties
 16 |
    :
 46 | public extension DeviceInfo {
 47 |     /// Information for the currently running device.
 48 |     static let current: Self = .init(
    |                |- warning: static property 'current' is not concurrency-safe because non-'Sendable' type 'DeviceInfo' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |         deviceFamily: Self.currentDeviceFamily,
 50 |         deviceModel: Self.currentDeviceModel,
[147/155] Compiling KippleDevice DeviceInfo.swift
/host/spi-builder-workspace/Sources/KippleDevice/DeviceInfo.swift:48:16: warning: static property 'current' is not concurrency-safe because non-'Sendable' type 'DeviceInfo' may have shared mutable state; this is an error in the Swift 6 language mode
 12 |
 13 | /// A contextualized representation of a device such as an iPhone, Mac, Apple Watch, and so on.
 14 | public struct DeviceInfo: Equatable, Hashable, Codable {
    |               `- note: consider making struct 'DeviceInfo' conform to the 'Sendable' protocol
 15 |     // MARK: Properties
 16 |
    :
 46 | public extension DeviceInfo {
 47 |     /// Information for the currently running device.
 48 |     static let current: Self = .init(
    |                |- warning: static property 'current' is not concurrency-safe because non-'Sendable' type 'DeviceInfo' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 49 |         deviceFamily: Self.currentDeviceFamily,
 50 |         deviceModel: Self.currentDeviceModel,
[149/156] Compiling OrderedCollections OrderedSet+Sendable.swift
[150/156] Compiling OrderedCollections OrderedSet+SubSequence.swift
[151/156] Compiling OrderedCollections OrderedSet+Testing.swift
[152/156] Compiling OrderedCollections OrderedSet+UnorderedView.swift
[153/156] Compiling OrderedCollections OrderedSet+UnstableInternals.swift
[154/156] Compiling OrderedCollections OrderedSet.swift
[155/156] Compiling OrderedCollections _UnsafeBitset.swift
[156/156] Emitting module OrderedCollections
[158/163] Compiling KippleCollections Array+RemoveDuplicates.swift
[159/163] Compiling KippleCollections Exports.swift
[160/163] Emitting module KippleCollections
[161/163] Compiling KippleCollections InterleavableDictionary.swift
[162/163] Compiling KippleCollections RangeReplaceableCollection+Rotating.swift
[163/163] Compiling KippleCollections BidirectionalCollection+Looping.swift
[165/166] Emitting module Kipple
[166/166] Compiling Kipple Exports.swift
Build complete! (59.51s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-collections",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-collections"
    },
    {
      "identity" : "swift-log",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.4",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-log"
    },
    {
      "identity" : "kippletools",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.3",
            "upper_bound" : "0.6.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/bdrelling/KippleTools"
    },
    {
      "identity" : "devicekit",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.2.3",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/devicekit/DeviceKit"
    },
    {
      "identity" : "keychainaccess",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "4.2.2",
            "upper_bound" : "5.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kishikawakatsumi/KeychainAccess"
    }
  ],
  "manifest_display_name" : "Kipple",
  "name" : "Kipple",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    }
  ],
  "products" : [
    {
      "name" : "Kipple",
      "targets" : [
        "Kipple"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCodable",
      "targets" : [
        "KippleCodable"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCollections",
      "targets" : [
        "KippleCollections"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleCombine",
      "targets" : [
        "KippleCombine"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleFoundation",
      "targets" : [
        "KippleFoundation"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleDevice",
      "targets" : [
        "KippleDevice"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleKeychain",
      "targets" : [
        "KippleKeychain"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleLocalStorage",
      "targets" : [
        "KippleLocalStorage"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "KippleLogging",
      "targets" : [
        "KippleLogging"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "KippleLoggingTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleLoggingTests",
      "path" : "Tests/KippleLoggingTests",
      "sources" : [
        "Protocols/LogHandlerValidating.swift",
        "Tests/ConsoleLogHandlerTests.swift"
      ],
      "target_dependencies" : [
        "KippleLogging"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleLogging",
      "module_type" : "SwiftTarget",
      "name" : "KippleLogging",
      "path" : "Sources/KippleLogging",
      "product_dependencies" : [
        "Logging"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleLogging"
      ],
      "sources" : [
        "Exports.swift",
        "Extensions/Logger+Convenience.swift",
        "Handlers/ConsoleLogHandler.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleLocalStorageTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleLocalStorageTests",
      "path" : "Tests/KippleLocalStorageTests",
      "sources" : [
        "UserDefaultsExtensionsTests.swift"
      ],
      "target_dependencies" : [
        "KippleLocalStorage"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleLocalStorage",
      "module_type" : "SwiftTarget",
      "name" : "KippleLocalStorage",
      "path" : "Sources/KippleLocalStorage",
      "product_memberships" : [
        "Kipple",
        "KippleLocalStorage"
      ],
      "sources" : [
        "UserDefaults/UserDefaults+Codable.swift",
        "UserDefaults/UserDefaults+Key.swift",
        "UserDefaults/UserDefaults+Mocked.swift",
        "UserDefaults/UserDefaults+RemoveAllObjects.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleKeychain",
      "module_type" : "SwiftTarget",
      "name" : "KippleKeychain",
      "path" : "Sources/KippleKeychain",
      "product_dependencies" : [
        "KeychainAccess"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleKeychain"
      ],
      "sources" : [
        "Exports.swift",
        "Keychain+Default.swift",
        "Keychain+Key.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleFoundationTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleFoundationTests",
      "path" : "Tests/KippleFoundationTests",
      "sources" : [
        "AppInfoTests.swift",
        "BoolExtensionTests.swift",
        "BundleExtensionTests.swift",
        "BundleInfoTests.swift",
        "ComparableExtensionTests.swift",
        "Int64ClampedTests.swift",
        "IntExtensionTests.swift",
        "ModuloTests.swift",
        "NSNumberExtensionTests.swift",
        "ResultExtensionTests.swift",
        "SemanticVersionTests.swift",
        "StringExtensionTests.swift",
        "StringLocalizedErrorExtensionTests.swift",
        "UInt64ClampedTests.swift",
        "URLConvertibleTests.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleFoundation",
      "module_type" : "SwiftTarget",
      "name" : "KippleFoundation",
      "path" : "Sources/KippleFoundation",
      "product_memberships" : [
        "Kipple",
        "KippleFoundation",
        "KippleDevice",
        "KippleKeychain"
      ],
      "sources" : [
        "Extensions/BinaryInteger+Clamped.swift",
        "Extensions/Bool+Convenience.swift",
        "Extensions/Bundle+Convenience.swift",
        "Extensions/Bundle+Key.swift",
        "Extensions/Comparable+Clamped.swift",
        "Extensions/Int+Convenience.swift",
        "Extensions/NSNumber+Boolean.swift",
        "Extensions/Result+Convenience.swift",
        "Extensions/String+Convenience.swift",
        "Extensions/String+LocalizedError.swift",
        "Extensions/Swift+Modulo.swift",
        "Models/AppInfo.swift",
        "Models/BundleInfo.swift",
        "Models/SemanticVersion.swift",
        "Protocols/URLConvertible.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleDeviceTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleDeviceTests",
      "path" : "Tests/KippleDeviceTests",
      "sources" : [
        "DeviceInfoTests.swift"
      ],
      "target_dependencies" : [
        "KippleDevice"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleDevice",
      "module_type" : "SwiftTarget",
      "name" : "KippleDevice",
      "path" : "Sources/KippleDevice",
      "product_dependencies" : [
        "DeviceKit"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleDevice"
      ],
      "sources" : [
        "DeviceFamily.swift",
        "DeviceInfo.swift"
      ],
      "target_dependencies" : [
        "KippleFoundation"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCombineTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCombineTests",
      "path" : "Tests/KippleCombineTests",
      "sources" : [
        "PublisherResultTests.swift"
      ],
      "target_dependencies" : [
        "KippleCombine"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCombine",
      "module_type" : "SwiftTarget",
      "name" : "KippleCombine",
      "path" : "Sources/KippleCombine",
      "product_memberships" : [
        "Kipple",
        "KippleCombine"
      ],
      "sources" : [
        "Publisher+Result.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCollectionsTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCollectionsTests",
      "path" : "Tests/KippleCollectionsTests",
      "sources" : [
        "BidirectionalCollectionExtensionTests.swift",
        "InterleavableDictionaryTests.swift"
      ],
      "target_dependencies" : [
        "KippleCollections"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCollections",
      "module_type" : "SwiftTarget",
      "name" : "KippleCollections",
      "path" : "Sources/KippleCollections",
      "product_dependencies" : [
        "OrderedCollections"
      ],
      "product_memberships" : [
        "Kipple",
        "KippleCollections"
      ],
      "sources" : [
        "Exports.swift",
        "Extensions/Array+RemoveDuplicates.swift",
        "Extensions/BidirectionalCollection+Looping.swift",
        "Extensions/RangeReplaceableCollection+Rotating.swift",
        "Protocols/InterleavableDictionary.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "KippleCodableTests",
      "module_type" : "SwiftTarget",
      "name" : "KippleCodableTests",
      "path" : "Tests/KippleCodableTests",
      "sources" : [
        "CodableDefaultTests.swift",
        "CodableIgnoredTests.swift",
        "DecodingErrorCleanedTests.swift",
        "DictionaryExtensionTests.swift",
        "EncodableAsDictionaryTests.swift",
        "EncodablePrettyPrintedTests.swift"
      ],
      "target_dependencies" : [
        "KippleCodable"
      ],
      "type" : "test"
    },
    {
      "c99name" : "KippleCodable",
      "module_type" : "SwiftTarget",
      "name" : "KippleCodable",
      "path" : "Sources/KippleCodable",
      "product_memberships" : [
        "Kipple",
        "KippleCodable"
      ],
      "sources" : [
        "Errors/CleanedDecodingError.swift",
        "Errors/KippleCodableError.swift",
        "Extensions/DecodingError+Cleaned.swift",
        "Extensions/Dictionary+AsJSONSerializedData.swift",
        "Extensions/Encodable+AsDictionary.swift",
        "Extensions/Encodable+PrettyPrinted.swift",
        "Extensions/JSONDecoder+DecodeCleaned.swift",
        "Extensions/PropertyListDecoder+DecodeCleaned.swift",
        "PropertyWrappers/CodableDefault.swift",
        "PropertyWrappers/CodableDefaultStrategy.swift",
        "PropertyWrappers/CodableIgnored.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Kipple",
      "module_type" : "SwiftTarget",
      "name" : "Kipple",
      "path" : "Sources/Kipple",
      "product_memberships" : [
        "Kipple"
      ],
      "sources" : [
        "Exports.swift"
      ],
      "target_dependencies" : [
        "KippleCodable",
        "KippleCollections",
        "KippleCombine",
        "KippleFoundation",
        "KippleDevice",
        "KippleKeychain",
        "KippleLocalStorage",
        "KippleLogging"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.