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