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 ImageFetcher, reference 2.1.0 (458980), with Swift 6.0 for macOS (SPM) on 8 Nov 2024 17:51:46 UTC.

Swift 6 data race errors: 12

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.57.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Mobelux/ImageFetcher.git
Reference: 2.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/Mobelux/ImageFetcher
 * tag               2.1.0      -> FETCH_HEAD
HEAD is now at 4589800 Initial Preparation for Strict Concurrency (#28)
Cloned https://github.com/Mobelux/ImageFetcher.git
Revision (git rev-parse @):
458980060566602ef4c8ad09c53e9f8339cd8f9a
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/Mobelux/ImageFetcher.git at 2.1.0
Fetching https://github.com/Mobelux/DiskCache.git
Fetching https://github.com/apple/swift-crypto.git
[1/335] Fetching diskcache
[336/10863] Fetching diskcache, swift-crypto
Fetched https://github.com/Mobelux/DiskCache.git from cache (2.00s)
Fetched https://github.com/apple/swift-crypto.git from cache (2.00s)
Computing version for https://github.com/Mobelux/DiskCache.git
Computed https://github.com/Mobelux/DiskCache.git at 2.2.0 (0.67s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 3.9.1 (1.07s)
Fetching https://github.com/apple/swift-asn1.git
[1/1397] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git from cache (1.00s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.3.0 (0.72s)
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.3.0
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 3.9.1
Creating working copy for https://github.com/Mobelux/DiskCache.git
Working copy of https://github.com/Mobelux/DiskCache.git resolved at 2.2.0
========================================
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": "imagefetcher",
      "name": "ImageFetcher",
      "url": "https://github.com/Mobelux/ImageFetcher.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ImageFetcher",
      "dependencies": [
        {
          "identity": "diskcache",
          "name": "DiskCache",
          "url": "https://github.com/Mobelux/DiskCache.git",
          "version": "2.2.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/DiskCache",
          "dependencies": [
          ]
        },
        {
          "identity": "swift-crypto",
          "name": "swift-crypto",
          "url": "https://github.com/apple/swift-crypto.git",
          "version": "3.9.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-crypto",
          "dependencies": [
            {
              "identity": "swift-asn1",
              "name": "swift-asn1",
              "url": "https://github.com/apple/swift-asn1.git",
              "version": "1.3.0",
              "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-asn1",
              "dependencies": [
              ]
            }
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/Mobelux/ImageFetcher.git
[1/3437] Fetching imagefetcher
Fetched https://github.com/Mobelux/ImageFetcher.git from cache (2.90s)
Fetching https://github.com/apple/swift-crypto.git from cache
Fetching https://github.com/Mobelux/DiskCache.git from cache
Fetched https://github.com/apple/swift-crypto.git from cache (0.57s)
Fetched https://github.com/Mobelux/DiskCache.git from cache (0.57s)
Computing version for https://github.com/Mobelux/DiskCache.git
Computed https://github.com/Mobelux/DiskCache.git at 2.2.0 (0.02s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 3.9.1 (0.03s)
Fetching https://github.com/apple/swift-asn1.git from cache
Fetched https://github.com/apple/swift-asn1.git from cache (0.46s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.3.0 (0.02s)
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 3.9.1
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.3.0
Creating working copy for https://github.com/Mobelux/ImageFetcher.git
Working copy of https://github.com/Mobelux/ImageFetcher.git resolved at 2.1.0 (4589800)
Creating working copy for https://github.com/Mobelux/DiskCache.git
Working copy of https://github.com/Mobelux/DiskCache.git resolved at 2.2.0
warning: '.resolve-product-dependencies': dependency 'imagefetcher' is not used by any target
Found 2 product dependencies
  - DiskCache
  - swift-crypto
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/Mobelux/ImageFetcher.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/5] Write sources
[3/5] Copying PrivacyInfo.xcprivacy
[4/5] Write swift-version--7754E27361AE5C74.txt
[6/83] Emitting module Crypto
[7/91] Compiling DiskCache DiskCache.swift
[8/91] Compiling DiskCache StorageType.swift
[9/91] Compiling DiskCache Cache.swift
[10/91] Compiling DiskCache SubDirectory.swift
[11/91] Emitting module DiskCache
[12/91] Compiling Crypto Digest_boring.swift
[13/91] Compiling Crypto Digest.swift
[14/91] Compiling Crypto Digests.swift
[15/91] Compiling Crypto HashFunctions.swift
[16/91] Compiling Crypto HashFunctions_SHA2.swift
[17/91] Compiling Crypto HPKE-AEAD.swift
[18/91] Compiling Crypto HPKE-Ciphersuite.swift
[19/91] Compiling Crypto HPKE-KDF.swift
[20/91] Compiling Crypto GeneralizedTime.swift
[21/91] Compiling Crypto ObjectIdentifier.swift
[22/91] Compiling Crypto ECDSASignature.swift
[23/91] Compiling Crypto PEMDocument.swift
[24/91] Compiling Crypto PKCS8PrivateKey.swift
[25/91] Compiling Crypto SEC1PrivateKey.swift
[26/91] Compiling Crypto SubjectPublicKeyInfo.swift
[27/91] Compiling Crypto CryptoKitErrors.swift
[28/91] Compiling Crypto DH.swift
[29/91] Compiling Crypto ECDH.swift
[30/91] Compiling Crypto HKDF.swift
[31/91] Compiling Crypto AESWrap.swift
[32/91] Compiling Crypto AESWrap_boring.swift
[33/91] Compiling Crypto Ed25519_boring.swift
[34/91] Compiling Crypto NISTCurvesKeys_boring.swift
[35/91] Compiling Crypto X25519Keys_boring.swift
[36/91] Compiling Crypto AES-GCM.swift
[37/91] Compiling Crypto AES-GCM_boring.swift
[38/91] Compiling Crypto ChaChaPoly_boring.swift
[39/91] Compiling Crypto ChaChaPoly.swift
[40/91] Compiling Crypto Cipher.swift
[41/91] Compiling Crypto Nonces.swift
[42/91] Compiling Crypto ASN1.swift
[43/91] Compiling Crypto ASN1Any.swift
[44/91] Compiling Crypto HPKE.swift
[45/91] Compiling Crypto HPKE-Context.swift
[46/91] Compiling Crypto HPKE-KeySchedule.swift
[47/91] Compiling Crypto HPKE-Modes.swift
[48/91] Compiling Crypto Insecure.swift
[49/91] Compiling Crypto Insecure_HashFunctions.swift
[50/91] Compiling Crypto KEM.swift
[51/91] Compiling Crypto ECDH_boring.swift
[52/91] Compiling Crypto RNG_boring.swift
[53/91] Compiling Crypto SafeCompare_boring.swift
[54/91] Compiling Crypto Zeroization_boring.swift
[55/91] Compiling Crypto PrettyBytes.swift
[56/91] Compiling Crypto SafeCompare.swift
[57/91] Compiling Crypto SecureBytes.swift
[58/91] Compiling Crypto Zeroization.swift
[59/91] Compiling Crypto resource_bundle_accessor.swift
[60/91] Compiling Crypto HPKE-KexKeyDerivation.swift
[61/91] Compiling Crypto HPKE-LabeledExtract.swift
[62/91] Compiling Crypto HPKE-Utils.swift
[63/91] Compiling Crypto DHKEM.swift
[64/91] Compiling Crypto HPKE-KEM-Curve25519.swift
[65/91] Compiling Crypto HPKE-NIST-EC-KEMs.swift
[66/91] Compiling Crypto HPKE-KEM.swift
[67/91] Compiling Crypto HPKE-Errors.swift
[68/91] Compiling Crypto Curve25519.swift
[69/91] Compiling Crypto Ed25519Keys.swift
[70/91] Compiling Crypto NISTCurvesKeys.swift
[71/91] Compiling Crypto X25519Keys.swift
[72/91] Compiling Crypto SymmetricKeys.swift
[73/91] Compiling Crypto HMAC.swift
[74/91] Compiling Crypto MACFunctions.swift
[75/91] Compiling Crypto MessageAuthenticationCode.swift
[76/91] Compiling Crypto ASN1BitString.swift
[77/91] Compiling Crypto ASN1Boolean.swift
[78/91] Compiling Crypto ASN1Identifier.swift
[79/91] Compiling Crypto ASN1Integer.swift
[80/91] Compiling Crypto ASN1Null.swift
[81/91] Compiling Crypto ASN1OctetString.swift
[82/91] Compiling Crypto ASN1Strings.swift
[83/91] Compiling Crypto ArraySliceBigint.swift
[84/91] Compiling Crypto AES.swift
[85/91] Compiling Crypto ECDSASignature_boring.swift
[86/91] Compiling Crypto ECDSA_boring.swift
[87/91] Compiling Crypto EdDSA_boring.swift
[88/91] Compiling Crypto ECDSA.swift
[89/91] Compiling Crypto Ed25519.swift
[90/91] Compiling Crypto Signature.swift
[91/91] Compiling Crypto CryptoKitErrors_boring.swift
[92/109] Compiling ImageFetcher Queue.swift
[93/109] Compiling ImageFetcher ImageProcessing.swift
[94/109] Compiling ImageFetcher Keyable.swift
[95/110] Compiling ImageFetcher Networking.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:16:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 |     /// - Parameter url: The url of the image to be downloaded.
15 |     /// - Returns: The parent task of the image loading operation.
16 |     func task(_ url: URL) async -> Task<ImageSource, Error>
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |
18 |     /// Loads the `URL`. If the result of the image configuration is cached, the result will be returned immediately. Otherwise a download operation will be kicked off.
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:43:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
41 |     /// - Parameter url: The url of the image to be downloaded.
42 |     /// - Returns: The parent task of the image loading operation.
43 |     subscript (_ url: URL) -> Task<ImageSource, Error>? { get }
   |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
44 | }
45 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:51:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
49 |     /// - Parameter imageConfiguration: The configuation of the image to be downloaded.
50 |     /// - Returns: The parent task of the image loading operation.
51 |     func task(_ imageConfiguration: ImageConfiguration) async -> Task<ImageSource, Error>
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
52 |
53 |     /// Loads the `ImageConfiguration`. If the result of the image configuration is cached, the result will be returned immediately. Otherwise a download operation will be kicked off.
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:78:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 |     /// - Parameter url: The configuration of the image to be downloaded.
77 |     /// - Returns: The parent task of the image loading operation.
78 |     subscript (_ imageConfiguration: ImageConfiguration) -> Task<ImageSource, Error>? { get }
   |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
79 | }
80 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
[96/110] Compiling ImageFetcher ImageFetching.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:16:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 |     /// - Parameter url: The url of the image to be downloaded.
15 |     /// - Returns: The parent task of the image loading operation.
16 |     func task(_ url: URL) async -> Task<ImageSource, Error>
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |
18 |     /// Loads the `URL`. If the result of the image configuration is cached, the result will be returned immediately. Otherwise a download operation will be kicked off.
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:43:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
41 |     /// - Parameter url: The url of the image to be downloaded.
42 |     /// - Returns: The parent task of the image loading operation.
43 |     subscript (_ url: URL) -> Task<ImageSource, Error>? { get }
   |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
44 | }
45 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:51:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
49 |     /// - Parameter imageConfiguration: The configuation of the image to be downloaded.
50 |     /// - Returns: The parent task of the image loading operation.
51 |     func task(_ imageConfiguration: ImageConfiguration) async -> Task<ImageSource, Error>
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
52 |
53 |     /// Loads the `ImageConfiguration`. If the result of the image configuration is cached, the result will be returned immediately. Otherwise a download operation will be kicked off.
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:78:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 |     /// - Parameter url: The configuration of the image to be downloaded.
77 |     /// - Returns: The parent task of the image loading operation.
78 |     subscript (_ imageConfiguration: ImageConfiguration) -> Task<ImageSource, Error>? { get }
   |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
79 | }
80 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
[97/110] Compiling ImageFetcher ImageError.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:82:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 80 |     /// - Parameter url: The url of the image to be downloaded.
 81 |     /// - Returns: The parent task of the image loading operation.
 82 |     func task(_ url: URL) async -> Task<ImageSource, Error>  {
    |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 83 |         await task(ImageConfiguration(url: url))
 84 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:89:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 87 |     /// - Parameter imageConfiguration: The configuation of the image to be downloaded.
 88 |     /// - Returns: The parent task of the image loading operation.
 89 |     func task(_ imageConfiguration: ImageConfiguration) async -> Task<ImageSource, Error> {
    |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 90 |         if let existingTask = taskManager.getTask(imageConfiguration) {
 91 |             return existingTask
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:142:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
140 |     /// - Parameter url: The url of the image to be downloaded.
141 |     /// - Returns: The parent task of the image loading operation.
142 |     subscript (_ url: URL) -> Task<ImageSource, Error>? {
    |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
143 |         taskManager.getTask(ImageConfiguration(url: url))
144 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:149:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
147 |     /// - Parameter url: The configuration of the image to be downloaded.
148 |     /// - Returns: The parent task of the image loading operation.
149 |     subscript (_ imageConfiguration: ImageConfiguration) -> Task<ImageSource, Error>? {
    |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
150 |         taskManager.getTask(imageConfiguration)
151 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:93:34: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 91 |             return existingTask
 92 |         } else if let cachedData = try? await cache.data(imageConfiguration.key) {
 93 |             let decompressTask = Task(priority: imageConfiguration.priority) {
    |                                  `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 94 |                 try await decompress(cachedData, imageConfiguration: imageConfiguration)
 95 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:93:34: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 91 |             return existingTask
 92 |         } else if let cachedData = try? await cache.data(imageConfiguration.key) {
 93 |             let decompressTask = Task(priority: imageConfiguration.priority) {
    |                                  `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 94 |                 try await decompress(cachedData, imageConfiguration: imageConfiguration)
 95 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:93:17: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 91 |             return existingTask
 92 |         } else if let cachedData = try? await cache.data(imageConfiguration.key) {
 93 |             let decompressTask = Task(priority: imageConfiguration.priority) {
    |                 `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 94 |                 try await decompress(cachedData, imageConfiguration: imageConfiguration)
 95 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:100:32: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 98 |             return decompressTask
 99 |         } else {
100 |             let downloadTask = Task(priority: imageConfiguration.priority) {
    |                                `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
101 |                 try await download(imageConfiguration)
102 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:100:32: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 98 |             return decompressTask
 99 |         } else {
100 |             let downloadTask = Task(priority: imageConfiguration.priority) {
    |                                `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
101 |                 try await download(imageConfiguration)
102 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:100:17: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 98 |             return decompressTask
 99 |         } else {
100 |             let downloadTask = Task(priority: imageConfiguration.priority) {
    |                 `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
101 |                 try await download(imageConfiguration)
102 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:120:44: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
118 |     /// - Returns: The loaded image.
119 |     func load(_ imageConfiguration: ImageConfiguration) async throws -> ImageSource {
120 |         try await task(imageConfiguration).value
    |                                            `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
121 |     }
122 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:136:14: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 |         }
135 |
136 |         task.cancel()
    |              `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
137 |     }
138 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:208:30: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
206 |         }
207 |
208 |         let decompressTask = Task(priority: key.priority) {
    |                              `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
209 |             try await decompress(cachedData, imageConfiguration: key)
210 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:208:30: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
206 |         }
207 |
208 |         let decompressTask = Task(priority: key.priority) {
    |                              `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
209 |             try await decompress(cachedData, imageConfiguration: key)
210 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:208:13: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
206 |         }
207 |
208 |         let decompressTask = Task(priority: key.priority) {
    |             `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
209 |             try await decompress(cachedData, imageConfiguration: key)
210 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:213:42: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
211 |
212 |         taskManager.insertTask(decompressTask, key: key)
213 |         return try? await decompressTask.value.value
    |                                          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
214 |     }
215 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:93:78: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 91 |             return existingTask
 92 |         } else if let cachedData = try? await cache.data(imageConfiguration.key) {
 93 |             let decompressTask = Task(priority: imageConfiguration.priority) {
    |                                                                              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 94 |                 try await decompress(cachedData, imageConfiguration: imageConfiguration)
    |                           `- note: closure captures 'self' which is accessible to code in the current task
 95 |             }
 96 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:100:76: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 98 |             return decompressTask
 99 |         } else {
100 |             let downloadTask = Task(priority: imageConfiguration.priority) {
    |                                                                            `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
101 |                 try await download(imageConfiguration)
    |                           `- note: closure captures 'self' which is accessible to code in the current task
102 |             }
103 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:225:46: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
223 |             taskManager.removeTask(imageConfiguration)
224 |
225 |             Task.detached(priority: .medium) { [weak self] in
    |                                              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
226 |                 try? await self?.cache(image, key: imageConfiguration)
    |                            |           `- note: closure captures non-Sendable 'image'
    |                            `- note: closure captures non-Sendable 'self'
227 |             }
228 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:208:59: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
206 |         }
207 |
208 |         let decompressTask = Task(priority: key.priority) {
    |                                                           `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
209 |             try await decompress(cachedData, imageConfiguration: key)
    |                       `- note: closure captures 'self' which is accessible to code in the current task
210 |         }
211 |
[98/110] Compiling ImageFetcher ImageFetcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:82:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 80 |     /// - Parameter url: The url of the image to be downloaded.
 81 |     /// - Returns: The parent task of the image loading operation.
 82 |     func task(_ url: URL) async -> Task<ImageSource, Error>  {
    |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 83 |         await task(ImageConfiguration(url: url))
 84 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:89:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 87 |     /// - Parameter imageConfiguration: The configuation of the image to be downloaded.
 88 |     /// - Returns: The parent task of the image loading operation.
 89 |     func task(_ imageConfiguration: ImageConfiguration) async -> Task<ImageSource, Error> {
    |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 90 |         if let existingTask = taskManager.getTask(imageConfiguration) {
 91 |             return existingTask
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:142:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
140 |     /// - Parameter url: The url of the image to be downloaded.
141 |     /// - Returns: The parent task of the image loading operation.
142 |     subscript (_ url: URL) -> Task<ImageSource, Error>? {
    |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
143 |         taskManager.getTask(ImageConfiguration(url: url))
144 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:149:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
147 |     /// - Parameter url: The configuration of the image to be downloaded.
148 |     /// - Returns: The parent task of the image loading operation.
149 |     subscript (_ imageConfiguration: ImageConfiguration) -> Task<ImageSource, Error>? {
    |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
150 |         taskManager.getTask(imageConfiguration)
151 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:93:34: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 91 |             return existingTask
 92 |         } else if let cachedData = try? await cache.data(imageConfiguration.key) {
 93 |             let decompressTask = Task(priority: imageConfiguration.priority) {
    |                                  `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 94 |                 try await decompress(cachedData, imageConfiguration: imageConfiguration)
 95 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:93:34: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 91 |             return existingTask
 92 |         } else if let cachedData = try? await cache.data(imageConfiguration.key) {
 93 |             let decompressTask = Task(priority: imageConfiguration.priority) {
    |                                  `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 94 |                 try await decompress(cachedData, imageConfiguration: imageConfiguration)
 95 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:93:17: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 91 |             return existingTask
 92 |         } else if let cachedData = try? await cache.data(imageConfiguration.key) {
 93 |             let decompressTask = Task(priority: imageConfiguration.priority) {
    |                 `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 94 |                 try await decompress(cachedData, imageConfiguration: imageConfiguration)
 95 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:100:32: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 98 |             return decompressTask
 99 |         } else {
100 |             let downloadTask = Task(priority: imageConfiguration.priority) {
    |                                `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
101 |                 try await download(imageConfiguration)
102 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:100:32: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 98 |             return decompressTask
 99 |         } else {
100 |             let downloadTask = Task(priority: imageConfiguration.priority) {
    |                                `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
101 |                 try await download(imageConfiguration)
102 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:100:17: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 98 |             return decompressTask
 99 |         } else {
100 |             let downloadTask = Task(priority: imageConfiguration.priority) {
    |                 `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
101 |                 try await download(imageConfiguration)
102 |             }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:120:44: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
118 |     /// - Returns: The loaded image.
119 |     func load(_ imageConfiguration: ImageConfiguration) async throws -> ImageSource {
120 |         try await task(imageConfiguration).value
    |                                            `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
121 |     }
122 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:136:14: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
134 |         }
135 |
136 |         task.cancel()
    |              `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
137 |     }
138 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:208:30: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
206 |         }
207 |
208 |         let decompressTask = Task(priority: key.priority) {
    |                              `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
209 |             try await decompress(cachedData, imageConfiguration: key)
210 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:208:30: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
206 |         }
207 |
208 |         let decompressTask = Task(priority: key.priority) {
    |                              `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
209 |             try await decompress(cachedData, imageConfiguration: key)
210 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:208:13: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
206 |         }
207 |
208 |         let decompressTask = Task(priority: key.priority) {
    |             `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
209 |             try await decompress(cachedData, imageConfiguration: key)
210 |         }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:213:42: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
211 |
212 |         taskManager.insertTask(decompressTask, key: key)
213 |         return try? await decompressTask.value.value
    |                                          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
214 |     }
215 | }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:93:78: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 91 |             return existingTask
 92 |         } else if let cachedData = try? await cache.data(imageConfiguration.key) {
 93 |             let decompressTask = Task(priority: imageConfiguration.priority) {
    |                                                                              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 94 |                 try await decompress(cachedData, imageConfiguration: imageConfiguration)
    |                           `- note: closure captures 'self' which is accessible to code in the current task
 95 |             }
 96 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:100:76: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 98 |             return decompressTask
 99 |         } else {
100 |             let downloadTask = Task(priority: imageConfiguration.priority) {
    |                                                                            `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
101 |                 try await download(imageConfiguration)
    |                           `- note: closure captures 'self' which is accessible to code in the current task
102 |             }
103 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:225:46: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
223 |             taskManager.removeTask(imageConfiguration)
224 |
225 |             Task.detached(priority: .medium) { [weak self] in
    |                                              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
226 |                 try? await self?.cache(image, key: imageConfiguration)
    |                            |           `- note: closure captures non-Sendable 'image'
    |                            `- note: closure captures non-Sendable 'self'
227 |             }
228 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:208:59: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
206 |         }
207 |
208 |         let decompressTask = Task(priority: key.priority) {
    |                                                           `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
209 |             try await decompress(cachedData, imageConfiguration: key)
    |                       `- note: closure captures 'self' which is accessible to code in the current task
210 |         }
211 |
[99/110] Compiling ImageFetcher ImageProcessor.swift
[100/110] Compiling ImageFetcher ImageSource.swift
[101/110] Compiling ImageFetcher TaskManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/TaskManager.swift:32:17: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
30 | final class TaskManager: @unchecked Sendable {
31 |     private let lock = NSLock()
32 |     private var tasks: [String: Task<ImageSource, Error>] = [:]
   |                 `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
33 |
34 |     var taskCount: Int {
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/TaskManager.swift:40:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
38 |     }
39 |
40 |     func insertTask(_ imageFetcherTask: Task<ImageSource, Error>, key: ImageConfiguration) {
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
41 |         lock.lock()
42 |         defer { lock.unlock() }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/TaskManager.swift:47:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 |     }
46 |
47 |     func getTask(_ key: ImageConfiguration) -> Task<ImageSource, Error>? {
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
48 |         lock.lock()
49 |         defer { lock.unlock() }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/TaskManager.swift:55:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 |
54 |     @discardableResult
55 |     func removeTask(_ key: ImageConfiguration) -> Task<ImageSource, Error>? {
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
56 |         lock.lock()
57 |         defer { lock.unlock() }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
[102/110] Compiling ImageFetcher Image.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageConfiguration.swift:31:1: warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
29 | import CoreGraphics
30 |
31 | extension TaskPriority: Hashable {}
   | |- warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
32 |
33 | /// The set of parameters the ``ImageFetcher`` uses to download an image.
[103/110] Compiling ImageFetcher ImageConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageConfiguration.swift:31:1: warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
29 | import CoreGraphics
30 |
31 | extension TaskPriority: Hashable {}
   | |- warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
32 |
33 | /// The set of parameters the ``ImageFetcher`` uses to download an image.
[104/110] Compiling ImageFetcher String+md5.swift
[105/110] Compiling ImageFetcher URLSessionConfiguration+cacheless.swift
[106/110] Emitting module ImageFetcher
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Extensions/CGSize+Hashable.swift:30:1: warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
28 | import CoreGraphics
29 |
30 | extension CGSize: Hashable {
   | |- warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
31 |     public func hash(into hasher: inout Hasher) {
32 |         hasher.combine(width)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageConfiguration.swift:31:1: warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
29 | import CoreGraphics
30 |
31 | extension TaskPriority: Hashable {}
   | |- warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
32 |
33 | /// The set of parameters the ``ImageFetcher`` uses to download an image.
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:82:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 80 |     /// - Parameter url: The url of the image to be downloaded.
 81 |     /// - Returns: The parent task of the image loading operation.
 82 |     func task(_ url: URL) async -> Task<ImageSource, Error>  {
    |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 83 |         await task(ImageConfiguration(url: url))
 84 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:89:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 87 |     /// - Parameter imageConfiguration: The configuation of the image to be downloaded.
 88 |     /// - Returns: The parent task of the image loading operation.
 89 |     func task(_ imageConfiguration: ImageConfiguration) async -> Task<ImageSource, Error> {
    |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
 90 |         if let existingTask = taskManager.getTask(imageConfiguration) {
 91 |             return existingTask
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:142:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
140 |     /// - Parameter url: The url of the image to be downloaded.
141 |     /// - Returns: The parent task of the image loading operation.
142 |     subscript (_ url: URL) -> Task<ImageSource, Error>? {
    |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
143 |         taskManager.getTask(ImageConfiguration(url: url))
144 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageFetcher.swift:149:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
147 |     /// - Parameter url: The configuration of the image to be downloaded.
148 |     /// - Returns: The parent task of the image loading operation.
149 |     subscript (_ imageConfiguration: ImageConfiguration) -> Task<ImageSource, Error>? {
    |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
150 |         taskManager.getTask(imageConfiguration)
151 |     }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:16:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
14 |     /// - Parameter url: The url of the image to be downloaded.
15 |     /// - Returns: The parent task of the image loading operation.
16 |     func task(_ url: URL) async -> Task<ImageSource, Error>
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 |
18 |     /// Loads the `URL`. If the result of the image configuration is cached, the result will be returned immediately. Otherwise a download operation will be kicked off.
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:43:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
41 |     /// - Parameter url: The url of the image to be downloaded.
42 |     /// - Returns: The parent task of the image loading operation.
43 |     subscript (_ url: URL) -> Task<ImageSource, Error>? { get }
   |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
44 | }
45 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:51:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
49 |     /// - Parameter imageConfiguration: The configuation of the image to be downloaded.
50 |     /// - Returns: The parent task of the image loading operation.
51 |     func task(_ imageConfiguration: ImageConfiguration) async -> Task<ImageSource, Error>
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
52 |
53 |     /// Loads the `ImageConfiguration`. If the result of the image configuration is cached, the result will be returned immediately. Otherwise a download operation will be kicked off.
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Protocols/ImageFetching.swift:78:5: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
76 |     /// - Parameter url: The configuration of the image to be downloaded.
77 |     /// - Returns: The parent task of the image loading operation.
78 |     subscript (_ imageConfiguration: ImageConfiguration) -> Task<ImageSource, Error>? { get }
   |     `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
79 | }
80 |
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/TaskManager.swift:32:17: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
30 | final class TaskManager: @unchecked Sendable {
31 |     private let lock = NSLock()
32 |     private var tasks: [String: Task<ImageSource, Error>] = [:]
   |                 `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
33 |
34 |     var taskCount: Int {
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/TaskManager.swift:40:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
38 |     }
39 |
40 |     func insertTask(_ imageFetcherTask: Task<ImageSource, Error>, key: ImageConfiguration) {
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
41 |         lock.lock()
42 |         defer { lock.unlock() }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/TaskManager.swift:47:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
45 |     }
46 |
47 |     func getTask(_ key: ImageConfiguration) -> Task<ImageSource, Error>? {
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
48 |         lock.lock()
49 |         defer { lock.unlock() }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/TaskManager.swift:55:10: warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
53 |
54 |     @discardableResult
55 |     func removeTask(_ key: ImageConfiguration) -> Task<ImageSource, Error>? {
   |          `- warning: type 'ImageSource' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
56 |         lock.lock()
57 |         defer { lock.unlock() }
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageSource.swift:31:13: note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
29 |
30 | /// A wrapper around an image indicating whether it was downloaded or cached.
31 | public enum ImageSource {
   |             `- note: consider making enum 'ImageSource' conform to the 'Sendable' protocol
32 |     /// An image that was cached.
33 |     case cached(Image)
[107/110] Compiling ImageFetcher Exports.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Extensions/CGSize+Hashable.swift:30:1: warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
28 | import CoreGraphics
29 |
30 | extension CGSize: Hashable {
   | |- warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
31 |     public func hash(into hasher: inout Hasher) {
32 |         hasher.combine(width)
[108/110] Compiling ImageFetcher CGSize+Hashable.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Extensions/CGSize+Hashable.swift:30:1: warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
28 | import CoreGraphics
29 |
30 | extension CGSize: Hashable {
   | |- warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
31 |     public func hash(into hasher: inout Hasher) {
32 |         hasher.combine(width)
[109/110] Compiling ImageFetcher Error+Utils.swift
[110/110] Compiling ImageFetcher Image+Utils.swift
Build complete! (29.28s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "diskcache",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.2.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Mobelux/DiskCache.git"
    },
    {
      "identity" : "swift-crypto",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.2.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-crypto.git"
    }
  ],
  "manifest_display_name" : "ImageFetcher",
  "name" : "ImageFetcher",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    }
  ],
  "products" : [
    {
      "name" : "ImageFetcher",
      "targets" : [
        "ImageFetcher"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ImageFetcherTests",
      "module_type" : "SwiftTarget",
      "name" : "ImageFetcherTests",
      "path" : "Tests/ImageFetcherTests",
      "sources" : [
        "Helpers/Counter.swift",
        "Helpers/Extensions/Color+Utils.swift",
        "Helpers/Extensions/Networking+Mock.swift",
        "Helpers/Extensions/XCTestCase+Utils.swift",
        "Helpers/Mock.swift",
        "Helpers/MockCache.swift",
        "Helpers/MockImageProcessor.swift",
        "ImageFetcherTests.swift",
        "ImageProcessorTests.swift"
      ],
      "target_dependencies" : [
        "ImageFetcher"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ImageFetcher",
      "module_type" : "SwiftTarget",
      "name" : "ImageFetcher",
      "path" : "Sources/ImageFetcher",
      "product_dependencies" : [
        "DiskCache",
        "Crypto"
      ],
      "product_memberships" : [
        "ImageFetcher"
      ],
      "sources" : [
        "Exports.swift",
        "Extensions/CGSize+Hashable.swift",
        "Extensions/Error+Utils.swift",
        "Extensions/Image+Utils.swift",
        "Extensions/String+md5.swift",
        "Extensions/URLSessionConfiguration+cacheless.swift",
        "Image.swift",
        "ImageConfiguration.swift",
        "ImageError.swift",
        "ImageFetcher.swift",
        "ImageProcessor.swift",
        "ImageSource.swift",
        "Networking.swift",
        "Protocols/ImageFetching.swift",
        "Protocols/ImageProcessing.swift",
        "Protocols/Keyable.swift",
        "Protocols/Queue.swift",
        "TaskManager.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/mobelux/imagefetcher/2.1.0
Repository:               Mobelux/ImageFetcher
Swift version used:       6.0
Target:                   ImageFetcher
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
 * branch            88815688627177b9716a01ca41da19397bd30e47 -> FETCH_HEAD
HEAD is now at 8881568 Update the artifact
Extracting symbol information for 'ImageFetcher'...
Finished extracting symbol information for 'ImageFetcher'. (6.58s)
Building documentation for 'ImageFetcher'...
warning: Parameter 'url' not found in instance subscript declaration
   --> ../ImageFetcher.swift:147:9-147:74
145 |
146 |     /// Returns the `Task` associated with the given configuration, if one exists.
147 +     /// - Parameter url: The configuration of the image to be downloaded.
    |         ╰─suggestion: Remove 'url' parameter documentation
148 |     /// - Returns: The parent task of the image loading operation.
149 |     subscript (_ imageConfiguration: ImageConfiguration) -> Task<ImageSource, Error>? {
warning: Parameter 'imageConfiguration' is missing documentation
   --> ../ImageFetcher.swift:147:74-147:74
145 |
146 |     /// Returns the `Task` associated with the given configuration, if one exists.
147 +     /// - Parameter url: The configuration of the image to be downloaded.
    |                                                                          ╰─suggestion: Document 'imageConfiguration' parameter
148 |     /// - Returns: The parent task of the image loading operation.
149 |     subscript (_ imageConfiguration: ImageConfiguration) -> Task<ImageSource, Error>? {
warning: Parameter 'url' not found in instance subscript declaration
  --> ../Protocols/ImageFetching.swift:76:9-76:74
74 |
75 |     /// Returns the `Task` associated with the given configuration, if one exists
76 +     /// - Parameter url: The configuration of the image to be downloaded.
   |         ╰─suggestion: Remove 'url' parameter documentation
77 |     /// - Returns: The parent task of the image loading operation.
78 |     subscript (_ imageConfiguration: ImageConfiguration) -> Task<ImageSource, Error>? { get }
warning: Parameter 'imageConfiguration' is missing documentation
  --> ../Protocols/ImageFetching.swift:76:74-76:74
74 |
75 |     /// Returns the `Task` associated with the given configuration, if one exists
76 +     /// - Parameter url: The configuration of the image to be downloaded.
   |                                                                          ╰─suggestion: Document 'imageConfiguration' parameter
77 |     /// - Returns: The parent task of the image loading operation.
78 |     subscript (_ imageConfiguration: ImageConfiguration) -> Task<ImageSource, Error>? { get }Finished building documentation for 'ImageFetcher' (0.14s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/mobelux/imagefetcher/2.1.0
Fetching https://github.com/swiftlang/swift-docc-plugin
Updating https://github.com/Mobelux/DiskCache.git
Updated https://github.com/Mobelux/DiskCache.git (0.49s)
[1/2038] Fetching swift-docc-plugin
Updating https://github.com/apple/swift-crypto.git
Updating https://github.com/apple/swift-asn1.git
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.26s)
Updated https://github.com/apple/swift-asn1.git (0.56s)
Updated https://github.com/apple/swift-crypto.git (0.56s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 3.9.1 (1.12s)
Computing version for https://github.com/Mobelux/DiskCache.git
Computed https://github.com/Mobelux/DiskCache.git at 2.2.0 (0.65s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.3.0 (0.67s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.62s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3168] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.21s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.66s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Building for debugging...
[0/8] Write sources
[1/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version--7754E27361AE5C74.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling SymbolKit DeclarationFragments.swift
[8/57] Compiling SymbolKit Fragment.swift
[9/57] Compiling SymbolKit FragmentKind.swift
[10/57] Compiling SymbolKit FunctionParameter.swift
[11/57] Compiling SymbolKit FunctionSignature.swift
[12/57] Compiling SymbolKit GenericConstraint.swift
[13/57] Compiling SymbolKit GenericParameter.swift
[14/57] Compiling SymbolKit Generics.swift
[15/57] Compiling SymbolKit Namespace.swift
[16/57] Compiling SymbolKit Mixin+Equals.swift
[17/57] Compiling SymbolKit Mixin+Hash.swift
[18/57] Compiling SymbolKit Mixin.swift
[19/57] Compiling SymbolKit LineList.swift
[20/57] Compiling SymbolKit Position.swift
[21/57] Compiling SymbolKit SemanticVersion.swift
[22/57] Compiling SymbolKit AccessControl.swift
[23/57] Compiling SymbolKit Availability.swift
[24/57] Compiling SymbolKit AvailabilityItem.swift
[25/57] Compiling SymbolKit Domain.swift
[26/57] Compiling SymbolKit Relationship.swift
[27/57] Compiling SymbolKit RelationshipKind.swift
[28/57] Compiling SymbolKit SourceOrigin.swift
[29/57] Compiling SymbolKit GenericConstraints.swift
[30/57] Compiling SymbolKit Swift.swift
[31/57] Emitting module Snippets
[32/57] Compiling Snippets Snippet.swift
[33/57] Compiling Snippets SnippetParser.swift
[34/57] Compiling SymbolKit Names.swift
[35/57] Compiling SymbolKit SPI.swift
[36/57] Compiling SymbolKit Snippet.swift
[37/57] Compiling SymbolKit Extension.swift
[38/57] Compiling SymbolKit Symbol.swift
[39/57] Compiling SymbolKit SymbolKind.swift
[40/57] Compiling SymbolKit SymbolGraph.swift
[41/57] Compiling SymbolKit GraphCollector.swift
[42/57] Compiling SymbolKit Identifier.swift
[43/57] Compiling SymbolKit KindIdentifier.swift
[44/57] Compiling SymbolKit Location.swift
[45/57] Compiling SymbolKit Mutability.swift
[46/57] Compiling SymbolKit SourceRange.swift
[47/57] Compiling SymbolKit Metadata.swift
[48/57] Compiling SymbolKit Module.swift
[49/57] Compiling SymbolKit OperatingSystem.swift
[50/57] Compiling SymbolKit Platform.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (5.32s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/79] Compiling DiskCache StorageType.swift
[3/79] Compiling DiskCache SubDirectory.swift
[4/79] Compiling Crypto GeneralizedTime.swift
[5/79] Compiling Crypto ObjectIdentifier.swift
[6/79] Compiling Crypto ECDSASignature.swift
[7/79] Compiling Crypto PEMDocument.swift
[8/79] Compiling Crypto PKCS8PrivateKey.swift
[9/79] Compiling Crypto SEC1PrivateKey.swift
[10/79] Compiling Crypto SubjectPublicKeyInfo.swift
[11/79] Compiling Crypto CryptoKitErrors.swift
[12/87] Compiling DiskCache Cache.swift
[13/87] Compiling DiskCache DiskCache.swift
[14/87] Emitting module DiskCache
[15/87] Compiling Crypto ASN1BitString.swift
[16/87] Compiling Crypto ASN1Boolean.swift
[17/87] Compiling Crypto ASN1Identifier.swift
[18/87] Compiling Crypto ASN1Integer.swift
[19/87] Compiling Crypto ASN1Null.swift
[20/87] Compiling Crypto ASN1OctetString.swift
[21/87] Compiling Crypto ASN1Strings.swift
[22/87] Compiling Crypto ArraySliceBigint.swift
[23/87] Compiling Crypto HPKE-KexKeyDerivation.swift
[24/87] Compiling Crypto HPKE-LabeledExtract.swift
[25/87] Compiling Crypto HPKE-Utils.swift
[26/87] Compiling Crypto DHKEM.swift
[27/87] Compiling Crypto HPKE-KEM-Curve25519.swift
[28/87] Compiling Crypto HPKE-NIST-EC-KEMs.swift
[29/87] Compiling Crypto HPKE-KEM.swift
[30/87] Compiling Crypto HPKE-Errors.swift
[31/87] Compiling Crypto Digest_boring.swift
[32/87] Compiling Crypto Digest.swift
[33/87] Compiling Crypto Digests.swift
[34/87] Compiling Crypto HashFunctions.swift
[35/87] Compiling Crypto HashFunctions_SHA2.swift
[36/87] Compiling Crypto HPKE-AEAD.swift
[37/87] Compiling Crypto HPKE-Ciphersuite.swift
[38/87] Compiling Crypto HPKE-KDF.swift
[39/87] Compiling Crypto AES.swift
[40/87] Compiling Crypto ECDSASignature_boring.swift
[41/87] Compiling Crypto ECDSA_boring.swift
[42/87] Compiling Crypto EdDSA_boring.swift
[43/87] Compiling Crypto ECDSA.swift
[44/87] Compiling Crypto Ed25519.swift
[45/87] Compiling Crypto Signature.swift
[46/87] Compiling Crypto CryptoKitErrors_boring.swift
[47/87] Compiling Crypto Curve25519.swift
[48/87] Compiling Crypto Ed25519Keys.swift
[49/87] Compiling Crypto NISTCurvesKeys.swift
[50/87] Compiling Crypto X25519Keys.swift
[51/87] Compiling Crypto SymmetricKeys.swift
[52/87] Compiling Crypto HMAC.swift
[53/87] Compiling Crypto MACFunctions.swift
[54/87] Compiling Crypto MessageAuthenticationCode.swift
[55/87] Compiling Crypto DH.swift
[56/87] Compiling Crypto ECDH.swift
[57/87] Compiling Crypto HKDF.swift
[58/87] Compiling Crypto AESWrap.swift
[59/87] Compiling Crypto AESWrap_boring.swift
[60/87] Compiling Crypto Ed25519_boring.swift
[61/87] Compiling Crypto NISTCurvesKeys_boring.swift
[62/87] Compiling Crypto X25519Keys_boring.swift
[63/87] Compiling Crypto AES-GCM.swift
[64/87] Compiling Crypto AES-GCM_boring.swift
[65/87] Compiling Crypto ChaChaPoly_boring.swift
[66/87] Compiling Crypto ChaChaPoly.swift
[67/87] Compiling Crypto Cipher.swift
[68/87] Compiling Crypto Nonces.swift
[69/87] Compiling Crypto ASN1.swift
[70/87] Compiling Crypto ASN1Any.swift
[71/87] Compiling Crypto HPKE.swift
[72/87] Compiling Crypto HPKE-Context.swift
[73/87] Compiling Crypto HPKE-KeySchedule.swift
[74/87] Compiling Crypto HPKE-Modes.swift
[75/87] Compiling Crypto Insecure.swift
[76/87] Compiling Crypto Insecure_HashFunctions.swift
[77/87] Compiling Crypto KEM.swift
[78/87] Compiling Crypto ECDH_boring.swift
[79/87] Emitting module Crypto
[80/87] Compiling Crypto RNG_boring.swift
[81/87] Compiling Crypto SafeCompare_boring.swift
[82/87] Compiling Crypto Zeroization_boring.swift
[83/87] Compiling Crypto PrettyBytes.swift
[84/87] Compiling Crypto SafeCompare.swift
[85/87] Compiling Crypto SecureBytes.swift
[86/87] Compiling Crypto Zeroization.swift
[87/87] Compiling Crypto resource_bundle_accessor.swift
[88/105] Compiling ImageFetcher Queue.swift
[89/106] Compiling ImageFetcher ImageProcessing.swift
[90/106] Compiling ImageFetcher Keyable.swift
[91/106] Compiling ImageFetcher Image.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageConfiguration.swift:31:1: warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
29 | import CoreGraphics
30 |
31 | extension TaskPriority: Hashable {}
   | |- warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
32 |
33 | /// The set of parameters the ``ImageFetcher`` uses to download an image.
[92/106] Compiling ImageFetcher ImageConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageConfiguration.swift:31:1: warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
29 | import CoreGraphics
30 |
31 | extension TaskPriority: Hashable {}
   | |- warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
32 |
33 | /// The set of parameters the ``ImageFetcher`` uses to download an image.
[93/106] Compiling ImageFetcher Networking.swift
[94/106] Compiling ImageFetcher ImageFetching.swift
[95/106] Compiling ImageFetcher Exports.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Extensions/CGSize+Hashable.swift:30:1: warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
28 | import CoreGraphics
29 |
30 | extension CGSize: Hashable {
   | |- warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
31 |     public func hash(into hasher: inout Hasher) {
32 |         hasher.combine(width)
[96/106] Compiling ImageFetcher CGSize+Hashable.swift
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Extensions/CGSize+Hashable.swift:30:1: warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
28 | import CoreGraphics
29 |
30 | extension CGSize: Hashable {
   | |- warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
31 |     public func hash(into hasher: inout Hasher) {
32 |         hasher.combine(width)
[97/106] Compiling ImageFetcher ImageError.swift
[98/106] Compiling ImageFetcher ImageFetcher.swift
[99/106] Compiling ImageFetcher String+md5.swift
[100/106] Compiling ImageFetcher URLSessionConfiguration+cacheless.swift
[101/106] Emitting module ImageFetcher
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/Extensions/CGSize+Hashable.swift:30:1: warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
28 | import CoreGraphics
29 |
30 | extension CGSize: Hashable {
   | |- warning: extension declares a conformance of imported type 'CGSize' to imported protocol 'Hashable'; this will not behave correctly if the owners of 'CoreFoundation' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
31 |     public func hash(into hasher: inout Hasher) {
32 |         hasher.combine(width)
/Users/admin/builder/spi-builder-workspace/Sources/ImageFetcher/ImageConfiguration.swift:31:1: warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
29 | import CoreGraphics
30 |
31 | extension TaskPriority: Hashable {}
   | |- warning: extension declares a conformance of imported type 'TaskPriority' to imported protocol 'Hashable'; this will not behave correctly if the owners of '_Concurrency' introduce this conformance in the future
   | `- note: add '@retroactive' to silence this warning
32 |
33 | /// The set of parameters the ``ImageFetcher`` uses to download an image.
[102/106] Compiling ImageFetcher Error+Utils.swift
[103/106] Compiling ImageFetcher Image+Utils.swift
[104/106] Compiling ImageFetcher ImageProcessor.swift
[105/106] Compiling ImageFetcher ImageSource.swift
[106/106] Compiling ImageFetcher TaskManager.swift
Build of target: 'ImageFetcher' complete! (2.72s)
     274
3	/Users/admin/builder/spi-builder-workspace/.docs/mobelux/imagefetcher/2.1.0
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/mobelux/imagefetcher/2.1.0
File count: 274
Doc size:   3.0MB
Preparing doc bundle ...
Uploading prod-mobelux-imagefetcher-2.1.0-d99f9992.zip to s3://spi-docs-inbox/prod-mobelux-imagefetcher-2.1.0-d99f9992.zip
Copying... [11%]
Copying... [23%]
Copying... [34%]
Copying... [45%]
Copying... [56%]
Copying... [68%]
Copying... [79%]
Copying... [90%]
Copying... [100%]
Done.