Build Information
Successful build of SwiftCache, reference v2.1.0 (7c1f13), with Swift 6.0 for macOS (SPM) on 16 Feb 2026 22:07:12 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/SudhirGadhvi/SwiftCache-SDK.git
Reference: v2.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/SudhirGadhvi/SwiftCache-SDK
* tag v2.1.0 -> FETCH_HEAD
HEAD is now at 7c1f135 Merge branch 'main' of https://github.com/SudhirGadhvi/SwiftCache-SDK
Cloned https://github.com/SudhirGadhvi/SwiftCache-SDK.git
Revision (git rev-parse @):
7c1f135fc613d0a41a06c5496530458b2f297ad3
SUCCESS checkout https://github.com/SudhirGadhvi/SwiftCache-SDK.git at v2.1.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/SudhirGadhvi/SwiftCache-SDK.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-5BDAB9E9C0126B9D.txt
[3/16] Compiling SwiftCache SwiftCacheError.swift
[4/17] Compiling SwiftCache CancellationToken.swift
[5/17] Compiling SwiftCache CacheConfiguration.swift
[6/17] Compiling SwiftCache SwiftCache+Progressive.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:47:43: warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
45 | // Progressive loading disabled, just load full image
46 | do {
47 | let image = try await loadImage(from: url, cacheKey: cacheKey, ttl: ttl)
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
48 | await onFullImage(.success(image))
49 | } catch {
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:48:39: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
46 | do {
47 | let image = try await loadImage(from: url, cacheKey: cacheKey, ttl: ttl)
48 | await onFullImage(.success(image))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
49 | } catch {
50 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:50:39: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
48 | await onFullImage(.success(image))
49 | } catch {
50 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
51 | }
52 | return
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:61:47: warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
59 | if let thumbnailURL = thumbnailURL {
60 | do {
61 | let thumbnail = try await loadImage(from: thumbnailURL, cacheKey: "\(key)_thumb", ttl: ttl)
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
62 | await onThumbnail(thumbnail)
63 | } catch {
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:62:39: warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
60 | do {
61 | let thumbnail = try await loadImage(from: thumbnailURL, cacheKey: "\(key)_thumb", ttl: ttl)
62 | await onThumbnail(thumbnail)
| `- warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
63 | } catch {
64 | // Thumbnail failed, continue to full image
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:70:51: warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
68 | if !token.isCancelled {
69 | do {
70 | let fullImage = try await loadImage(from: url, cacheKey: key, ttl: ttl)
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
71 | await onFullImage(.success(fullImage))
72 | } catch {
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:71:43: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
69 | do {
70 | let fullImage = try await loadImage(from: url, cacheKey: key, ttl: ttl)
71 | await onFullImage(.success(fullImage))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
72 | } catch {
73 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:73:43: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
71 | await onFullImage(.success(fullImage))
72 | } catch {
73 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
74 | }
75 | }
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:79:47: warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
77 | // Generate thumbnail from full image
78 | do {
79 | let fullImage = try await loadImage(from: url, cacheKey: key, ttl: ttl)
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
80 |
81 | // Generate and show thumbnail first
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:82:64: warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
80 |
81 | // Generate and show thumbnail first
82 | if let thumbnail = await generateThumbnail(from: fullImage) {
| `- warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
83 | await onThumbnail(thumbnail)
84 | }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:82:46: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
80 |
81 | // Generate and show thumbnail first
82 | if let thumbnail = await generateThumbnail(from: fullImage) {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
83 | await onThumbnail(thumbnail)
84 | }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:83:43: warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
81 | // Generate and show thumbnail first
82 | if let thumbnail = await generateThumbnail(from: fullImage) {
83 | await onThumbnail(thumbnail)
| `- warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
84 | }
85 |
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:87:39: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
85 |
86 | // Then show full image
87 | await onFullImage(.success(fullImage))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
88 | } catch {
89 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:89:39: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
87 | await onFullImage(.success(fullImage))
88 | } catch {
89 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
90 | }
91 | }
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
[7/17] Compiling SwiftCache UIImageView+SwiftCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:47:43: warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
45 | // Progressive loading disabled, just load full image
46 | do {
47 | let image = try await loadImage(from: url, cacheKey: cacheKey, ttl: ttl)
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
48 | await onFullImage(.success(image))
49 | } catch {
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:48:39: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
46 | do {
47 | let image = try await loadImage(from: url, cacheKey: cacheKey, ttl: ttl)
48 | await onFullImage(.success(image))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
49 | } catch {
50 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:50:39: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
48 | await onFullImage(.success(image))
49 | } catch {
50 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
51 | }
52 | return
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:61:47: warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
59 | if let thumbnailURL = thumbnailURL {
60 | do {
61 | let thumbnail = try await loadImage(from: thumbnailURL, cacheKey: "\(key)_thumb", ttl: ttl)
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
62 | await onThumbnail(thumbnail)
63 | } catch {
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:62:39: warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
60 | do {
61 | let thumbnail = try await loadImage(from: thumbnailURL, cacheKey: "\(key)_thumb", ttl: ttl)
62 | await onThumbnail(thumbnail)
| `- warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
63 | } catch {
64 | // Thumbnail failed, continue to full image
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:70:51: warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
68 | if !token.isCancelled {
69 | do {
70 | let fullImage = try await loadImage(from: url, cacheKey: key, ttl: ttl)
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
71 | await onFullImage(.success(fullImage))
72 | } catch {
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:71:43: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
69 | do {
70 | let fullImage = try await loadImage(from: url, cacheKey: key, ttl: ttl)
71 | await onFullImage(.success(fullImage))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
72 | } catch {
73 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:73:43: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
71 | await onFullImage(.success(fullImage))
72 | } catch {
73 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
74 | }
75 | }
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:79:47: warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
77 | // Generate thumbnail from full image
78 | do {
79 | let fullImage = try await loadImage(from: url, cacheKey: key, ttl: ttl)
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
80 |
81 | // Generate and show thumbnail first
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:82:64: warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
80 |
81 | // Generate and show thumbnail first
82 | if let thumbnail = await generateThumbnail(from: fullImage) {
| `- warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
83 | await onThumbnail(thumbnail)
84 | }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:82:46: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
80 |
81 | // Generate and show thumbnail first
82 | if let thumbnail = await generateThumbnail(from: fullImage) {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
83 | await onThumbnail(thumbnail)
84 | }
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:83:43: warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
81 | // Generate and show thumbnail first
82 | if let thumbnail = await generateThumbnail(from: fullImage) {
83 | await onThumbnail(thumbnail)
| `- warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
84 | }
85 |
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:87:39: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
85 |
86 | // Then show full image
87 | await onFullImage(.success(fullImage))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
88 | } catch {
89 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Extensions/SwiftCache+Progressive.swift:89:39: warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
87 | await onFullImage(.success(fullImage))
88 | } catch {
89 | await onFullImage(.failure(error as? SwiftCacheError ?? .unknown))
| `- warning: passing argument of non-sendable type 'Result<SCImage, SwiftCacheError>' (aka 'Result<NSImage, SwiftCacheError>') into main actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
90 | }
91 | }
Swift.Result:1:21: note: generic enum 'Result' does not conform to the 'Sendable' protocol
1 | @frozen public enum Result<Success, Failure> where Failure : Error, Success : ~Copyable {
| `- note: generic enum 'Result' does not conform to the 'Sendable' protocol
2 | case success(Success)
3 | case failure(Failure)
[8/17] Compiling SwiftCache MemoryLoader.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/MemoryLoader.swift:35:17: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
33 | }
34 |
35 | public func load(key: String, url: URL, ttl: TimeInterval) async -> SCImage? {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
36 | // NSCache is thread-safe, but we're still in actor context for consistency
37 | guard let entry = cache.object(forKey: key as NSString), !entry.isExpired else {
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/MemoryLoader.swift:43:17: warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
41 | }
42 |
43 | public func store(image: SCImage, key: String, ttl: TimeInterval) async {
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
44 | #if canImport(UIKit)
45 | guard let imageData = image.jpegData(compressionQuality: configuration.diskImageQuality) else { return }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/NetworkLoader.swift:34:17: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
32 | }
33 |
34 | public func load(key: String, url: URL, ttl: TimeInterval) async -> SCImage? {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
35 | let request = URLRequest(url: url, cachePolicy: .returnCacheDataElseLoad)
36 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/NetworkLoader.swift:50:17: warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
48 | }
49 |
50 | public func store(image: SCImage, key: String, ttl: TimeInterval) async {
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
51 | // Network loader doesn't store images
52 | }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
[9/17] Compiling SwiftCache NetworkLoader.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/MemoryLoader.swift:35:17: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
33 | }
34 |
35 | public func load(key: String, url: URL, ttl: TimeInterval) async -> SCImage? {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
36 | // NSCache is thread-safe, but we're still in actor context for consistency
37 | guard let entry = cache.object(forKey: key as NSString), !entry.isExpired else {
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/MemoryLoader.swift:43:17: warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
41 | }
42 |
43 | public func store(image: SCImage, key: String, ttl: TimeInterval) async {
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
44 | #if canImport(UIKit)
45 | guard let imageData = image.jpegData(compressionQuality: configuration.diskImageQuality) else { return }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/NetworkLoader.swift:34:17: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
32 | }
33 |
34 | public func load(key: String, url: URL, ttl: TimeInterval) async -> SCImage? {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
35 | let request = URLRequest(url: url, cachePolicy: .returnCacheDataElseLoad)
36 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/NetworkLoader.swift:50:17: warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
48 | }
49 |
50 | public func store(image: SCImage, key: String, ttl: TimeInterval) async {
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
51 | // Network loader doesn't store images
52 | }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
[10/17] Compiling SwiftCache CacheEntry.swift
[11/17] Compiling SwiftCache CacheLoader.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/CacheLoader.swift:76:41: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
74 | // Try each loader in sequence
75 | for (index, loader) in loaders.enumerated() {
76 | if let image = await loader.load(key: key, url: url, ttl: ttl) {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
77 | // Promote to previous layers (e.g., if found on disk, store in memory)
78 | for previousIndex in 0..<index {
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/CacheLoader.swift:79:56: warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') outside of actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
77 | // Promote to previous layers (e.g., if found on disk, store in memory)
78 | for previousIndex in 0..<index {
79 | await loaders[previousIndex].store(image: image, key: key, ttl: ttl)
| `- warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') outside of actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
80 | }
81 | return .success(CacheLoadResult(image: image, source: sourceLayer(for: index)))
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/DiskLoader.swift:53:17: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
51 | }
52 |
53 | public func load(key: String, url: URL, ttl: TimeInterval) async -> SCImage? {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
54 | let fileURL = cacheURL(for: key)
55 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/DiskLoader.swift:76:17: warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
74 | }
75 |
76 | public func store(image: SCImage, key: String, ttl: TimeInterval) async {
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
77 | #if canImport(UIKit)
78 | guard let data = image.jpegData(compressionQuality: configuration.diskImageQuality) else { return }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
[12/17] Compiling SwiftCache DiskLoader.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/CacheLoader.swift:76:41: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
74 | // Try each loader in sequence
75 | for (index, loader) in loaders.enumerated() {
76 | if let image = await loader.load(key: key, url: url, ttl: ttl) {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by implicitly asynchronous call to nonisolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
77 | // Promote to previous layers (e.g., if found on disk, store in memory)
78 | for previousIndex in 0..<index {
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/CacheLoader.swift:79:56: warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') outside of actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
77 | // Promote to previous layers (e.g., if found on disk, store in memory)
78 | for previousIndex in 0..<index {
79 | await loaders[previousIndex].store(image: image, key: key, ttl: ttl)
| `- warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') outside of actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
80 | }
81 | return .success(CacheLoadResult(image: image, source: sourceLayer(for: index)))
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/DiskLoader.swift:53:17: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
51 | }
52 |
53 | public func load(key: String, url: URL, ttl: TimeInterval) async -> SCImage? {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
54 | let fileURL = cacheURL(for: key)
55 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/DiskLoader.swift:76:17: warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
74 | }
75 |
76 | public func store(image: SCImage, key: String, ttl: TimeInterval) async {
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
77 | #if canImport(UIKit)
78 | guard let data = image.jpegData(compressionQuality: configuration.diskImageQuality) else { return }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
[13/17] Compiling SwiftCache AdaptiveCachePolicy.swift
[14/17] Compiling SwiftCache CacheAnalytics.swift
[15/17] Compiling SwiftCache SwiftCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/SwiftCache.swift:159:39: warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
157 |
158 | do {
159 | let image = try await loadImage(from: url, cacheKey: cacheKey, ttl: ttl)
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
160 |
161 | // Check cancellation before completing
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/SwiftCache.swift:186:45: warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
184 | for url in urls {
185 | group.addTask {
186 | _ = try? await self.loadImage(from: url)
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
187 | }
188 | }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/SwiftCache.swift:387:33: warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
385 | public func storeImage(_ image: SCImage, for key: String, ttl: TimeInterval? = nil) async {
386 | let effectiveTTL = ttl ?? configuration.defaultTTL
387 | await loaderChain.store(image: image, key: key, ttl: effectiveTTL)
| `- warning: passing argument of non-sendable type 'SCImage' (aka 'NSImage') into actor-isolated context may introduce data races; this is an error in the Swift 6 language mode
388 | }
389 | }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
[16/17] Emitting module SwiftCache
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/DiskLoader.swift:53:17: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
51 | }
52 |
53 | public func load(key: String, url: URL, ttl: TimeInterval) async -> SCImage? {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
54 | let fileURL = cacheURL(for: key)
55 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/DiskLoader.swift:76:17: warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
74 | }
75 |
76 | public func store(image: SCImage, key: String, ttl: TimeInterval) async {
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
77 | #if canImport(UIKit)
78 | guard let data = image.jpegData(compressionQuality: configuration.diskImageQuality) else { return }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/MemoryLoader.swift:35:17: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
33 | }
34 |
35 | public func load(key: String, url: URL, ttl: TimeInterval) async -> SCImage? {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
36 | // NSCache is thread-safe, but we're still in actor context for consistency
37 | guard let entry = cache.object(forKey: key as NSString), !entry.isExpired else {
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/MemoryLoader.swift:43:17: warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
41 | }
42 |
43 | public func store(image: SCImage, key: String, ttl: TimeInterval) async {
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
44 | #if canImport(UIKit)
45 | guard let imageData = image.jpegData(compressionQuality: configuration.diskImageQuality) else { return }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/NetworkLoader.swift:34:17: warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
32 | }
33 |
34 | public func load(key: String, url: URL, ttl: TimeInterval) async -> SCImage? {
| `- warning: non-sendable type 'SCImage?' (aka 'Optional<NSImage>') returned by actor-isolated instance method 'load(key:url:ttl:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
35 | let request = URLRequest(url: url, cachePolicy: .returnCacheDataElseLoad)
36 |
Swift.Optional:1:21: note: generic enum 'Optional' does not conform to the 'Sendable' protocol
1 | @frozen public enum Optional<Wrapped> : ~Copyable where Wrapped : ~Copyable {
| `- note: generic enum 'Optional' does not conform to the 'Sendable' protocol
2 | case none
3 | case some(Wrapped)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/Core/NetworkLoader.swift:50:17: warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
48 | }
49 |
50 | public func store(image: SCImage, key: String, ttl: TimeInterval) async {
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') in parameter of the protocol requirement satisfied by actor-isolated instance method 'store(image:key:ttl:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
51 | // Network loader doesn't store images
52 | }
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
[17/17] Compiling SwiftCache CachedImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftCache/SwiftUI/CachedImage.swift:61:59: warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
59 |
60 | do {
61 | let loadedImage = try await SwiftCache.shared.loadImage(
| `- warning: non-sendable type 'SCImage' (aka 'NSImage') returned by implicitly asynchronous call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
62 | from: url,
63 | cacheKey: cacheKey,
AppKit.NSImage:1:12: note: class 'NSImage' does not conform to the 'Sendable' protocol
1 | open class NSImage : NSObject {
| `- note: class 'NSImage' does not conform to the 'Sendable' protocol
2 | public /*not inherited*/ init?(named name: NSImage.Name)
3 | @available(*, unavailable, renamed: "init(named:)", message: "Not available in Swift")
Build complete! (9.10s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SwiftCache",
"name" : "SwiftCache",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "tvos",
"version" : "14.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "SwiftCache",
"targets" : [
"SwiftCache"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftCacheTests",
"module_type" : "SwiftTarget",
"name" : "SwiftCacheTests",
"path" : "Tests/SwiftCacheTests",
"sources" : [
"SwiftCacheTests.swift"
],
"target_dependencies" : [
"SwiftCache"
],
"type" : "test"
},
{
"c99name" : "SwiftCache",
"module_type" : "SwiftTarget",
"name" : "SwiftCache",
"path" : "Sources/SwiftCache",
"product_memberships" : [
"SwiftCache"
],
"sources" : [
"Core/AdaptiveCachePolicy.swift",
"Core/CacheAnalytics.swift",
"Core/CacheLoader.swift",
"Core/DiskLoader.swift",
"Core/MemoryLoader.swift",
"Core/NetworkLoader.swift",
"Extensions/SwiftCache+Progressive.swift",
"Extensions/UIImageView+SwiftCache.swift",
"Models/CacheConfiguration.swift",
"Models/CacheEntry.swift",
"Models/CancellationToken.swift",
"Models/SwiftCacheError.swift",
"SwiftCache.swift",
"SwiftUI/CachedImage.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.