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.1 for macOS (SPM) on 29 Apr 2025 05:06:02 UTC.

Swift 6 data race errors: 12

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.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 from cache
[1/335] Fetching diskcache
Fetched https://github.com/Mobelux/DiskCache.git from cache (0.67s)
Fetched https://github.com/apple/swift-crypto.git from cache (0.69s)
Computing version for https://github.com/Mobelux/DiskCache.git
Computed https://github.com/Mobelux/DiskCache.git at 2.2.0 (1.30s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 3.12.3 (1.07s)
Fetching https://github.com/apple/swift-asn1.git from cache
Fetched https://github.com/apple/swift-asn1.git from cache (0.45s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.3.2 (1.06s)
Creating working copy for https://github.com/Mobelux/DiskCache.git
Working copy of https://github.com/Mobelux/DiskCache.git resolved at 2.2.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.12.3
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.2
========================================
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.12.3",
          "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.2",
              "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 (1.52s)
Fetching https://github.com/Mobelux/DiskCache.git from cache
Fetching https://github.com/apple/swift-crypto.git from cache
Fetched https://github.com/Mobelux/DiskCache.git from cache (0.43s)
Fetched https://github.com/apple/swift-crypto.git from cache (0.52s)
Computing version for https://github.com/Mobelux/DiskCache.git
Computed https://github.com/Mobelux/DiskCache.git at 2.2.0 (0.58s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 3.12.3 (0.03s)
Fetching https://github.com/apple/swift-asn1.git from cache
Fetched https://github.com/apple/swift-asn1.git from cache (0.44s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.3.2 (0.49s)
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.2
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 3.12.3
Creating working copy for https://github.com/Mobelux/DiskCache.git
Working copy of https://github.com/Mobelux/DiskCache.git resolved at 2.2.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)
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.1
Building package at path:  $PWD
https://github.com/Mobelux/ImageFetcher.git
https://github.com/Mobelux/ImageFetcher.git
{
  "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"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/5] Write sources
[2/5] Copying PrivacyInfo.xcprivacy
[2/5] Write sources
[4/5] Write swift-version-2F0A5646E1D333AE.txt
[6/83] Emitting module Crypto
[7/91] Compiling DiskCache DiskCache.swift
[8/91] Compiling DiskCache SubDirectory.swift
[9/91] Emitting module DiskCache
[10/91] Compiling DiskCache Cache.swift
[11/91] Compiling DiskCache StorageType.swift
[12/91] Compiling Crypto RNG_boring.swift
[13/91] Compiling Crypto SafeCompare_boring.swift
[14/91] Compiling Crypto Zeroization_boring.swift
[15/91] Compiling Crypto PrettyBytes.swift
[16/91] Compiling Crypto SafeCompare.swift
[17/91] Compiling Crypto SecureBytes.swift
[18/91] Compiling Crypto Zeroization.swift
[19/91] Compiling Crypto resource_bundle_accessor.swift
[20/91] Compiling Crypto Digest_boring.swift
[21/91] Compiling Crypto Digest.swift
[22/91] Compiling Crypto Digests.swift
[23/91] Compiling Crypto HashFunctions.swift
[24/91] Compiling Crypto HashFunctions_SHA2.swift
[25/91] Compiling Crypto HPKE-AEAD.swift
[26/91] Compiling Crypto HPKE-Ciphersuite.swift
[27/91] Compiling Crypto HPKE-KDF.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 GeneralizedTime.swift
[45/91] Compiling Crypto ObjectIdentifier.swift
[46/91] Compiling Crypto ECDSASignature.swift
[47/91] Compiling Crypto PEMDocument.swift
[48/91] Compiling Crypto PKCS8PrivateKey.swift
[49/91] Compiling Crypto SEC1PrivateKey.swift
[50/91] Compiling Crypto SubjectPublicKeyInfo.swift
[51/91] Compiling Crypto CryptoKitErrors.swift
[52/91] Compiling Crypto HPKE-KexKeyDerivation.swift
[53/91] Compiling Crypto HPKE-LabeledExtract.swift
[54/91] Compiling Crypto HPKE-Utils.swift
[55/91] Compiling Crypto DHKEM.swift
[56/91] Compiling Crypto HPKE-KEM-Curve25519.swift
[57/91] Compiling Crypto HPKE-NIST-EC-KEMs.swift
[58/91] Compiling Crypto HPKE-KEM.swift
[59/91] Compiling Crypto HPKE-Errors.swift
[60/91] Compiling Crypto Curve25519.swift
[61/91] Compiling Crypto Ed25519Keys.swift
[62/91] Compiling Crypto NISTCurvesKeys.swift
[63/91] Compiling Crypto X25519Keys.swift
[64/91] Compiling Crypto SymmetricKeys.swift
[65/91] Compiling Crypto HMAC.swift
[66/91] Compiling Crypto MACFunctions.swift
[67/91] Compiling Crypto MessageAuthenticationCode.swift
[68/91] Compiling Crypto ASN1BitString.swift
[69/91] Compiling Crypto ASN1Boolean.swift
[70/91] Compiling Crypto ASN1Identifier.swift
[71/91] Compiling Crypto ASN1Integer.swift
[72/91] Compiling Crypto ASN1Null.swift
[73/91] Compiling Crypto ASN1OctetString.swift
[74/91] Compiling Crypto ASN1Strings.swift
[75/91] Compiling Crypto ArraySliceBigint.swift
[76/91] Compiling Crypto AES.swift
[77/91] Compiling Crypto ECDSASignature_boring.swift
[78/91] Compiling Crypto ECDSA_boring.swift
[79/91] Compiling Crypto EdDSA_boring.swift
[80/91] Compiling Crypto ECDSA.swift
[81/91] Compiling Crypto Ed25519.swift
[82/91] Compiling Crypto Signature.swift
[83/91] Compiling Crypto CryptoKitErrors_boring.swift
[84/91] Compiling Crypto HPKE.swift
[85/91] Compiling Crypto HPKE-Context.swift
[86/91] Compiling Crypto HPKE-KeySchedule.swift
[87/91] Compiling Crypto HPKE-Modes.swift
[88/91] Compiling Crypto Insecure.swift
[89/91] Compiling Crypto Insecure_HashFunctions.swift
[90/91] Compiling Crypto KEM.swift
[91/91] Compiling Crypto ECDH_boring.swift
[92/109] Compiling ImageFetcher Queue.swift
[93/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)
[94/110] Compiling ImageFetcher ImageProcessing.swift
[95/110] Compiling ImageFetcher Keyable.swift
[96/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)
[97/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)
[98/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 |
[99/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 |
[100/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.
[101/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.
[102/110] Compiling ImageFetcher ImageProcessor.swift
[103/110] Compiling ImageFetcher ImageSource.swift
[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! (13.17s)
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.1
Target:                   ImageFetcher
Extracting symbol information for 'ImageFetcher'...
Finished extracting symbol information for 'ImageFetcher'. (6.34s)
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.15s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/mobelux/imagefetcher/2.1.0
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Updating https://github.com/apple/swift-asn1.git
Updated https://github.com/apple/swift-asn1.git (0.47s)
Updating https://github.com/apple/swift-crypto.git
Updating https://github.com/Mobelux/DiskCache.git
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.49s)
Updated https://github.com/apple/swift-crypto.git (0.59s)
Updated https://github.com/Mobelux/DiskCache.git (0.59s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 3.12.3 (2.05s)
Computing version for https://github.com/Mobelux/DiskCache.git
Computed https://github.com/Mobelux/DiskCache.git at 2.2.0 (0.53s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.3.2 (0.53s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.59s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.79s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.40s)
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
[1/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling SymbolKit Mixin+Equals.swift
[8/57] Compiling SymbolKit Mixin+Hash.swift
[9/57] Compiling SymbolKit Mixin.swift
[10/57] Compiling SymbolKit LineList.swift
[11/57] Compiling SymbolKit Position.swift
[12/57] Compiling SymbolKit DeclarationFragments.swift
[13/57] Compiling SymbolKit Fragment.swift
[14/57] Compiling SymbolKit FragmentKind.swift
[15/57] Compiling SymbolKit FunctionParameter.swift
[16/57] Compiling SymbolKit FunctionSignature.swift
[17/57] Compiling SymbolKit Identifier.swift
[18/57] Compiling SymbolKit KindIdentifier.swift
[19/57] Compiling SymbolKit Location.swift
[20/57] Compiling SymbolKit Mutability.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 Names.swift
[27/57] Compiling SymbolKit SPI.swift
[28/57] Compiling SymbolKit Snippet.swift
[29/57] Compiling SymbolKit Extension.swift
[30/57] Compiling SymbolKit GenericConstraint.swift
[31/57] Compiling SymbolKit GenericParameter.swift
[32/57] Compiling SymbolKit Generics.swift
[33/57] Compiling SymbolKit Namespace.swift
[34/57] Compiling SymbolKit SourceRange.swift
[35/57] Compiling SymbolKit Metadata.swift
[36/57] Compiling SymbolKit Module.swift
[37/57] Compiling SymbolKit OperatingSystem.swift
[38/57] Compiling SymbolKit Platform.swift
[39/57] Compiling SymbolKit Relationship.swift
[40/57] Compiling SymbolKit RelationshipKind.swift
[41/57] Compiling SymbolKit SourceOrigin.swift
[42/57] Compiling SymbolKit GenericConstraints.swift
[43/57] Compiling SymbolKit Swift.swift
[44/57] Compiling SymbolKit Symbol.swift
[45/57] Compiling SymbolKit SymbolKind.swift
[46/57] Compiling SymbolKit SymbolGraph.swift
[47/57] Compiling SymbolKit GraphCollector.swift
[48/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[49/57] Compiling SymbolKit UnifiedSymbol.swift
[50/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[51/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[52/57] Compiling Snippets SnippetParser.swift
[53/57] Compiling Snippets Snippet.swift
[54/57] Emitting module Snippets
[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! (6.11s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/79] Compiling DiskCache SubDirectory.swift
[3/79] Compiling Crypto AES-GCM.swift
[4/79] Compiling Crypto AES-GCM_boring.swift
[5/79] Compiling Crypto ChaChaPoly_boring.swift
[6/79] Compiling Crypto ChaChaPoly.swift
[7/79] Compiling Crypto Cipher.swift
[8/79] Compiling Crypto Nonces.swift
[9/79] Compiling Crypto ASN1.swift
[10/79] Compiling Crypto ASN1Any.swift
[11/87] Compiling Crypto AES.swift
[12/87] Compiling Crypto ECDSASignature_boring.swift
[13/87] Compiling Crypto ECDSA_boring.swift
[14/87] Compiling Crypto EdDSA_boring.swift
[15/87] Compiling Crypto ECDSA.swift
[16/87] Compiling Crypto Ed25519.swift
[17/87] Compiling Crypto Signature.swift
[18/87] Compiling Crypto CryptoKitErrors_boring.swift
[19/87] Compiling Crypto HPKE-KexKeyDerivation.swift
[20/87] Compiling Crypto HPKE-LabeledExtract.swift
[21/87] Compiling Crypto HPKE-Utils.swift
[22/87] Compiling Crypto DHKEM.swift
[23/87] Compiling Crypto HPKE-KEM-Curve25519.swift
[24/87] Compiling Crypto HPKE-NIST-EC-KEMs.swift
[25/87] Compiling Crypto HPKE-KEM.swift
[26/87] Compiling Crypto HPKE-Errors.swift
[27/87] Compiling Crypto GeneralizedTime.swift
[28/87] Compiling Crypto ObjectIdentifier.swift
[29/87] Compiling Crypto ECDSASignature.swift
[30/87] Compiling Crypto PEMDocument.swift
[31/87] Compiling Crypto PKCS8PrivateKey.swift
[32/87] Compiling Crypto SEC1PrivateKey.swift
[33/87] Compiling Crypto SubjectPublicKeyInfo.swift
[34/87] Compiling Crypto CryptoKitErrors.swift
[35/87] Compiling Crypto HPKE.swift
[36/87] Compiling Crypto HPKE-Context.swift
[37/87] Compiling Crypto HPKE-KeySchedule.swift
[38/87] Compiling Crypto HPKE-Modes.swift
[39/87] Compiling Crypto Insecure.swift
[40/87] Compiling Crypto Insecure_HashFunctions.swift
[41/87] Compiling Crypto KEM.swift
[42/87] Compiling Crypto ECDH_boring.swift
[43/87] Compiling Crypto Curve25519.swift
[44/87] Compiling Crypto Ed25519Keys.swift
[45/87] Compiling Crypto NISTCurvesKeys.swift
[46/87] Compiling Crypto X25519Keys.swift
[47/87] Compiling Crypto SymmetricKeys.swift
[48/87] Compiling Crypto HMAC.swift
[49/87] Compiling Crypto MACFunctions.swift
[50/87] Compiling Crypto MessageAuthenticationCode.swift
[51/87] Emitting module DiskCache
[52/87] Compiling DiskCache DiskCache.swift
[53/87] Compiling DiskCache Cache.swift
[54/87] Compiling DiskCache StorageType.swift
[55/87] Compiling Crypto Digest_boring.swift
[56/87] Compiling Crypto Digest.swift
[57/87] Compiling Crypto Digests.swift
[58/87] Compiling Crypto HashFunctions.swift
[59/87] Compiling Crypto HashFunctions_SHA2.swift
[60/87] Compiling Crypto HPKE-AEAD.swift
[61/87] Compiling Crypto HPKE-Ciphersuite.swift
[62/87] Compiling Crypto HPKE-KDF.swift
[63/87] Compiling Crypto ASN1BitString.swift
[64/87] Compiling Crypto ASN1Boolean.swift
[65/87] Compiling Crypto ASN1Identifier.swift
[66/87] Compiling Crypto ASN1Integer.swift
[67/87] Compiling Crypto ASN1Null.swift
[68/87] Compiling Crypto ASN1OctetString.swift
[69/87] Compiling Crypto ASN1Strings.swift
[70/87] Compiling Crypto ArraySliceBigint.swift
[71/87] Emitting module Crypto
[72/87] Compiling Crypto DH.swift
[73/87] Compiling Crypto ECDH.swift
[74/87] Compiling Crypto HKDF.swift
[75/87] Compiling Crypto AESWrap.swift
[76/87] Compiling Crypto AESWrap_boring.swift
[77/87] Compiling Crypto Ed25519_boring.swift
[78/87] Compiling Crypto NISTCurvesKeys_boring.swift
[79/87] Compiling Crypto X25519Keys_boring.swift
[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 ImageProcessing.swift
[89/105] Compiling ImageFetcher Keyable.swift
[90/106] Compiling ImageFetcher Queue.swift
[91/106] Compiling ImageFetcher ImageError.swift
[92/106] Compiling ImageFetcher ImageFetcher.swift
[93/106] Compiling ImageFetcher Networking.swift
[94/106] Compiling ImageFetcher ImageFetching.swift
[95/106] Compiling ImageFetcher String+md5.swift
[96/106] Compiling ImageFetcher URLSessionConfiguration+cacheless.swift
[97/106] Compiling ImageFetcher ImageProcessor.swift
[98/106] Compiling ImageFetcher ImageSource.swift
[99/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.
[100/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.
[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 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)
[103/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)
[104/106] Compiling ImageFetcher Error+Utils.swift
[105/106] Compiling ImageFetcher Image+Utils.swift
[106/106] Compiling ImageFetcher TaskManager.swift
Build of target: 'ImageFetcher' complete! (2.99s)
     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-a61b15f7.zip to s3://spi-docs-inbox/prod-mobelux-imagefetcher-2.1.0-a61b15f7.zip
Copying... [11%]
Copying... [23%]
Copying... [34%]
Copying... [45%]
Copying... [57%]
Copying... [68%]
Copying... [79%]
Copying... [91%]
Copying... [100%]
Done.