The Swift Package Index logo.Swift Package Index

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

Build Information

Failed to build SwiftlyImageLoader, reference 1.0.0 (d1403a), with Swift 6.0 for Linux on 3 Apr 2025 08:09:31 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
Reference: 1.0.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/mohsinbmwm3/SwiftlyImageLoader
 * tag               1.0.0      -> FETCH_HEAD
HEAD is now at d1403ac Updated documentation and added support for multiple completion handlers
Cloned https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
Revision (git rev-parse @):
d1403ac1e31f8c00adb2daae06ad39f9217a2600
SUCCESS checkout https://github.com/mohsinbmwm3/SwiftlyImageLoader.git at 1.0.0
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
https://github.com/mohsinbmwm3/SwiftlyImageLoader.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftlyImageLoader",
  "name" : "SwiftlyImageLoader",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftlyImageLoader",
      "targets" : [
        "SwiftlyImageLoader"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftlyImageLoaderUIKit",
      "targets" : [
        "SwiftlyImageLoaderUIKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftlyImageLoaderAppKit",
      "targets" : [
        "SwiftlyImageLoaderAppKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftlyImageLoaderSwiftUI",
      "targets" : [
        "SwiftlyImageLoaderSwiftUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftlyImageLoaderUIKit",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoaderUIKit",
      "path" : "Sources/SwiftlyImageLoaderUIKit",
      "product_memberships" : [
        "SwiftlyImageLoaderUIKit"
      ],
      "sources" : [
        "UIImageView+ImageLoader.swift"
      ],
      "target_dependencies" : [
        "SwiftlyImageLoader"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftlyImageLoaderSwiftUI",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoaderSwiftUI",
      "path" : "Sources/SwiftlyImageLoaderSwiftUI",
      "product_memberships" : [
        "SwiftlyImageLoaderSwiftUI"
      ],
      "sources" : [
        "SwiftlyAsyncImage.swift"
      ],
      "target_dependencies" : [
        "SwiftlyImageLoader"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftlyImageLoaderAppKit",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoaderAppKit",
      "path" : "Sources/SwiftlyImageLoaderAppKit",
      "product_memberships" : [
        "SwiftlyImageLoaderAppKit"
      ],
      "sources" : [
        "NSImageView+ImageLoader.swift"
      ],
      "target_dependencies" : [
        "SwiftlyImageLoader"
      ],
      "type" : "library"
    },
    {
      "c99name" : "SwiftlyImageLoader",
      "module_type" : "SwiftTarget",
      "name" : "SwiftlyImageLoader",
      "path" : "Sources/SwiftlyImageLoader",
      "product_memberships" : [
        "SwiftlyImageLoader",
        "SwiftlyImageLoaderUIKit",
        "SwiftlyImageLoaderAppKit",
        "SwiftlyImageLoaderSwiftUI"
      ],
      "sources" : [
        "DiskCache.swift",
        "ImageCache.swift",
        "ImageLoader.swift",
        "LogLevel.swift",
        "SwiftlyImageLoader.swift",
        "SwiftlyImageLoaderConfiguration.swift",
        "Utils/ImageResizer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:081dcf4fb829aea9d08447f4790431afbdfbcc335bfeed728ca69c6f181ae2aa
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-24593BA9C3E375BF.txt
[6/13] Compiling SwiftlyImageLoader SwiftlyImageLoader.swift
[7/13] Compiling SwiftlyImageLoader LogLevel.swift
[8/13] Compiling SwiftlyImageLoader ImageLoader.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:42:75: error: cannot find type 'CrossPlatformImage' in scope
 40 |     ///   - url: The URL to load the image from.
 41 |     ///   - completion: Completion handler with the loaded image or nil.
 42 |     public func loadImage(from url: URL, completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                                           `- error: cannot find type 'CrossPlatformImage' in scope
 43 |         taskQueue.async {
 44 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:93:60: error: cannot find type 'CrossPlatformImage' in scope
 91 |     }
 92 |
 93 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 94 |         taskQueue.async {
 95 |             let completions = self.ongoingTasks[url]?.completions ?? []
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:56:85: error: cannot find 'CrossPlatformImage' in scope
 54 |                 let key = url.absoluteString
 55 |
 56 |                 if let data = await ImageCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                     `- error: cannot find 'CrossPlatformImage' in scope
 57 |                     self.log("✅ Loaded from memory cache: \(url.absoluteString)", level: .basic)
 58 |                     self.callCompletions(for: url, with: image)
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:62:84: error: cannot find 'CrossPlatformImage' in scope
 60 |                 }
 61 |
 62 |                 if let data = await DiskCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                    `- error: cannot find 'CrossPlatformImage' in scope
 63 |                     self.log("✅ Loaded from disk cache: \(url.absoluteString)", level: .basic)
 64 |                     await ImageCache.shared.set(data, forKey: key)
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:71:36: error: cannot find 'CrossPlatformImage' in scope
 69 |                 do {
 70 |                     let (data, _) = try await self.session.data(from: url)
 71 |                     if let image = CrossPlatformImage(data: data) {
    |                                    `- error: cannot find 'CrossPlatformImage' in scope
 72 |                         self.log("✅ Downloaded from network: \(url.absoluteString)", level: .basic)
 73 |                         await ImageCache.shared.set(data, forKey: key)
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:43:25: error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
 41 |     ///   - completion: Completion handler with the loaded image or nil.
 42 |     public func loadImage(from url: URL, completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 43 |         taskQueue.async {
    |                         `- error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
 44 |             if let existing = self.ongoingTasks[url] {
 45 |                 self.log("🔁 Joining existing task for: \(url.absoluteString)", level: .verbose)
Dispatch.DispatchQueue:62:17: note: 'async(execute:)' declared here
60 |     public func sync(execute workItem: DispatchWorkItem)
61 |     @available(macOS 10.10, iOS 8.0, *)
62 |     public func async(execute workItem: DispatchWorkItem)
   |                 `- note: 'async(execute:)' declared here
63 |     @available(macOS 10.10, iOS 8.0, *)
64 |     public func async(group: DispatchGroup, execute workItem: DispatchWorkItem)
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:106:25: error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
104 |     /// - Parameter url: The URL for which to cancel the task.
105 |     public func cancelLoad(for url: URL) {
106 |         taskQueue.async {
    |                         `- error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
107 |             if let entry = self.ongoingTasks[url] {
108 |                 self.log("🔴 Cancelling task for: \(url.absoluteString)", level: .verbose)
Dispatch.DispatchQueue:62:17: note: 'async(execute:)' declared here
60 |     public func sync(execute workItem: DispatchWorkItem)
61 |     @available(macOS 10.10, iOS 8.0, *)
62 |     public func async(execute workItem: DispatchWorkItem)
   |                 `- note: 'async(execute:)' declared here
63 |     @available(macOS 10.10, iOS 8.0, *)
64 |     public func async(group: DispatchGroup, execute workItem: DispatchWorkItem)
[9/13] Compiling SwiftlyImageLoader ImageCache.swift
[10/13] Compiling SwiftlyImageLoader ImageResizer.swift
[11/13] Compiling SwiftlyImageLoader SwiftlyImageLoaderConfiguration.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[12/13] Compiling SwiftlyImageLoader DiskCache.swift
[13/13] Emitting module SwiftlyImageLoader
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:42:75: error: cannot find type 'CrossPlatformImage' in scope
 40 |     ///   - url: The URL to load the image from.
 41 |     ///   - completion: Completion handler with the loaded image or nil.
 42 |     public func loadImage(from url: URL, completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                                           `- error: cannot find type 'CrossPlatformImage' in scope
 43 |         taskQueue.async {
 44 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:93:60: error: cannot find type 'CrossPlatformImage' in scope
 91 |     }
 92 |
 93 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 94 |         taskQueue.async {
 95 |             let completions = self.ongoingTasks[url]?.completions ?? []
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:081dcf4fb829aea9d08447f4790431afbdfbcc335bfeed728ca69c6f181ae2aa
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-24593BA9C3E375BF.txt
[2/9] Compiling SwiftlyImageLoader ImageResizer.swift
[3/9] Compiling SwiftlyImageLoader SwiftlyImageLoader.swift
[4/9] Compiling SwiftlyImageLoader SwiftlyImageLoaderConfiguration.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[5/9] Compiling SwiftlyImageLoader DiskCache.swift
[6/9] Emitting module SwiftlyImageLoader
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:42:75: error: cannot find type 'CrossPlatformImage' in scope
 40 |     ///   - url: The URL to load the image from.
 41 |     ///   - completion: Completion handler with the loaded image or nil.
 42 |     public func loadImage(from url: URL, completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                                           `- error: cannot find type 'CrossPlatformImage' in scope
 43 |         taskQueue.async {
 44 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:93:60: error: cannot find type 'CrossPlatformImage' in scope
 91 |     }
 92 |
 93 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 94 |         taskQueue.async {
 95 |             let completions = self.ongoingTasks[url]?.completions ?? []
[7/9] Compiling SwiftlyImageLoader LogLevel.swift
[8/9] Compiling SwiftlyImageLoader ImageCache.swift
[9/9] Compiling SwiftlyImageLoader ImageLoader.swift
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:26: error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                          `- error: 'URLSession' is unavailable: This type has moved to the FoundationNetworking module. Import that module to use it.
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
Foundation.URLSession:2:18: note: 'URLSession' has been explicitly marked unavailable here
1 | @available(*, unavailable, message: "This type has moved to the FoundationNetworking module. Import that module to use it.")
2 | public typealias URLSession = AnyObject
  |                  `- note: 'URLSession' has been explicitly marked unavailable here
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:25:40: error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 23 |     /// Current configuration used by the image loader.
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
    |                                        `- error: type 'URLSession' (aka 'AnyObject') has no member 'shared'
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:26:89: error: cannot find type 'CrossPlatformImage' in scope
 24 |     private(set) var config: SwiftlyImageLoaderConfiguration = .default
 25 |     private let session: URLSession = .shared
 26 |     private var ongoingTasks = [URL: (task: Task<Void, Never>, completions: [@Sendable (CrossPlatformImage?) -> Void])]()
    |                                                                                         `- error: cannot find type 'CrossPlatformImage' in scope
 27 |     private let taskQueue = DispatchQueue(label: "com.swiftlyImageLoader.taskQueue")
 28 |
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:42:75: error: cannot find type 'CrossPlatformImage' in scope
 40 |     ///   - url: The URL to load the image from.
 41 |     ///   - completion: Completion handler with the loaded image or nil.
 42 |     public func loadImage(from url: URL, completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
    |                                                                           `- error: cannot find type 'CrossPlatformImage' in scope
 43 |         taskQueue.async {
 44 |             if let existing = self.ongoingTasks[url] {
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:93:60: error: cannot find type 'CrossPlatformImage' in scope
 91 |     }
 92 |
 93 |     private func callCompletions(for url: URL, with image: CrossPlatformImage?) {
    |                                                            `- error: cannot find type 'CrossPlatformImage' in scope
 94 |         taskQueue.async {
 95 |             let completions = self.ongoingTasks[url]?.completions ?? []
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:56:85: error: cannot find 'CrossPlatformImage' in scope
 54 |                 let key = url.absoluteString
 55 |
 56 |                 if let data = await ImageCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                     `- error: cannot find 'CrossPlatformImage' in scope
 57 |                     self.log("✅ Loaded from memory cache: \(url.absoluteString)", level: .basic)
 58 |                     self.callCompletions(for: url, with: image)
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:62:84: error: cannot find 'CrossPlatformImage' in scope
 60 |                 }
 61 |
 62 |                 if let data = await DiskCache.shared.get(forKey: key), let image = CrossPlatformImage(data: data) {
    |                                                                                    `- error: cannot find 'CrossPlatformImage' in scope
 63 |                     self.log("✅ Loaded from disk cache: \(url.absoluteString)", level: .basic)
 64 |                     await ImageCache.shared.set(data, forKey: key)
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:71:36: error: cannot find 'CrossPlatformImage' in scope
 69 |                 do {
 70 |                     let (data, _) = try await self.session.data(from: url)
 71 |                     if let image = CrossPlatformImage(data: data) {
    |                                    `- error: cannot find 'CrossPlatformImage' in scope
 72 |                         self.log("✅ Downloaded from network: \(url.absoluteString)", level: .basic)
 73 |                         await ImageCache.shared.set(data, forKey: key)
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:43:25: error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
 41 |     ///   - completion: Completion handler with the loaded image or nil.
 42 |     public func loadImage(from url: URL, completion: @escaping @Sendable (CrossPlatformImage?) -> Void) {
 43 |         taskQueue.async {
    |                         `- error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
 44 |             if let existing = self.ongoingTasks[url] {
 45 |                 self.log("🔁 Joining existing task for: \(url.absoluteString)", level: .verbose)
Dispatch.DispatchQueue:62:17: note: 'async(execute:)' declared here
60 |     public func sync(execute workItem: DispatchWorkItem)
61 |     @available(macOS 10.10, iOS 8.0, *)
62 |     public func async(execute workItem: DispatchWorkItem)
   |                 `- note: 'async(execute:)' declared here
63 |     @available(macOS 10.10, iOS 8.0, *)
64 |     public func async(group: DispatchGroup, execute workItem: DispatchWorkItem)
/host/spi-builder-workspace/Sources/SwiftlyImageLoader/ImageLoader.swift:106:25: error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
104 |     /// - Parameter url: The URL for which to cancel the task.
105 |     public func cancelLoad(for url: URL) {
106 |         taskQueue.async {
    |                         `- error: trailing closure passed to parameter of type 'DispatchWorkItem' that does not accept a closure
107 |             if let entry = self.ongoingTasks[url] {
108 |                 self.log("🔴 Cancelling task for: \(url.absoluteString)", level: .verbose)
Dispatch.DispatchQueue:62:17: note: 'async(execute:)' declared here
60 |     public func sync(execute workItem: DispatchWorkItem)
61 |     @available(macOS 10.10, iOS 8.0, *)
62 |     public func async(execute workItem: DispatchWorkItem)
   |                 `- note: 'async(execute:)' declared here
63 |     @available(macOS 10.10, iOS 8.0, *)
64 |     public func async(group: DispatchGroup, execute workItem: DispatchWorkItem)
BUILD FAILURE 6.0 linux