This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of swiftui-cached-async-image with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 3

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/lorenzofiamingo/swiftui-cached-async-image.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/lorenzofiamingo/swiftui-cached-async-image
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 4f111f2 Update README.md
Cloned https://github.com/lorenzofiamingo/swiftui-cached-async-image.git
Revision (git rev-parse @):
4f111f2b7aab7ec52a60716cedb673df5203743c
SPI manifest file found: $workDir/.spi.yml
SUCCESS checkout https://github.com/lorenzofiamingo/swiftui-cached-async-image.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/lorenzofiamingo/swiftui-cached-async-image.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
[1/1] Compiling plugin Swift-DocC
[2/2] Compiling plugin Swift-DocC Preview
Building for debugging...
[2/4] Write sources
[3/4] Write swift-version-6F35C1178C84523A.txt
[5/6] Compiling CachedAsyncImage CachedAsyncImage.swift
/Users/admin/builder/spi-builder-workspace/Sources/CachedAsyncImage/CachedAsyncImage.swift:315:5: warning: instance method of non-Sendable type 'CachedAsyncImage<Content>' cannot be marked as '@Sendable'; this is an error in the Swift 6 language mode
 64 | ///
 65 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
 66 | public struct CachedAsyncImage<Content>: View where Content: View {
    |               `- note: consider making generic struct 'CachedAsyncImage' conform to the 'Sendable' protocol
 67 |
 68 |     @State private var phase: AsyncImagePhase
    :
313 |     }
314 |
315 |     @Sendable
    |     `- warning: instance method of non-Sendable type 'CachedAsyncImage<Content>' cannot be marked as '@Sendable'; this is an error in the Swift 6 language mode
316 |     private func load() async {
317 |         do {
/Users/admin/builder/spi-builder-workspace/Sources/CachedAsyncImage/CachedAsyncImage.swift:389:15: warning: non-final class 'URLSessionTaskController' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
387 | // MARK: - AsyncImageURLSession
388 |
389 | private class URLSessionTaskController: NSObject, URLSessionTaskDelegate {
    |               `- warning: non-final class 'URLSessionTaskController' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
390 |
391 |     var metrics: URLSessionTaskMetrics?
/Users/admin/builder/spi-builder-workspace/Sources/CachedAsyncImage/CachedAsyncImage.swift:391:9: warning: stored property 'metrics' of 'Sendable'-conforming class 'URLSessionTaskController' is mutable; this is an error in the Swift 6 language mode
389 | private class URLSessionTaskController: NSObject, URLSessionTaskDelegate {
390 |
391 |     var metrics: URLSessionTaskMetrics?
    |         `- warning: stored property 'metrics' of 'Sendable'-conforming class 'URLSessionTaskController' is mutable; this is an error in the Swift 6 language mode
392 |
393 |     func urlSession(_ session: URLSession, task: URLSessionTask, didFinishCollecting metrics: URLSessionTaskMetrics) {
/Users/admin/builder/spi-builder-workspace/Sources/CachedAsyncImage/CachedAsyncImage.swift:82:35: warning: non-sendable type 'CachedAsyncImage<Content>' exiting main actor-isolated context in call to non-isolated instance method 'load()' cannot cross actor boundary; this is an error in the Swift 6 language mode
 64 | ///
 65 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
 66 | public struct CachedAsyncImage<Content>: View where Content: View {
    |               `- note: consider making generic struct 'CachedAsyncImage' conform to the 'Sendable' protocol
 67 |
 68 |     @State private var phase: AsyncImagePhase
    :
 80 |     public var body: some View {
 81 |         content(phase)
 82 |             .task(id: urlRequest, load)
    |                                   `- warning: non-sendable type 'CachedAsyncImage<Content>' exiting main actor-isolated context in call to non-isolated instance method 'load()' cannot cross actor boundary; this is an error in the Swift 6 language mode
 83 |     }
 84 |
[6/6] Emitting module CachedAsyncImage
/Users/admin/builder/spi-builder-workspace/Sources/CachedAsyncImage/CachedAsyncImage.swift:315:5: warning: instance method of non-Sendable type 'CachedAsyncImage<Content>' cannot be marked as '@Sendable'; this is an error in the Swift 6 language mode
 64 | ///
 65 | @available(iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0, *)
 66 | public struct CachedAsyncImage<Content>: View where Content: View {
    |               `- note: consider making generic struct 'CachedAsyncImage' conform to the 'Sendable' protocol
 67 |
 68 |     @State private var phase: AsyncImagePhase
    :
313 |     }
314 |
315 |     @Sendable
    |     `- warning: instance method of non-Sendable type 'CachedAsyncImage<Content>' cannot be marked as '@Sendable'; this is an error in the Swift 6 language mode
316 |     private func load() async {
317 |         do {
/Users/admin/builder/spi-builder-workspace/Sources/CachedAsyncImage/CachedAsyncImage.swift:389:15: warning: non-final class 'URLSessionTaskController' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
387 | // MARK: - AsyncImageURLSession
388 |
389 | private class URLSessionTaskController: NSObject, URLSessionTaskDelegate {
    |               `- warning: non-final class 'URLSessionTaskController' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
390 |
391 |     var metrics: URLSessionTaskMetrics?
/Users/admin/builder/spi-builder-workspace/Sources/CachedAsyncImage/CachedAsyncImage.swift:391:9: warning: stored property 'metrics' of 'Sendable'-conforming class 'URLSessionTaskController' is mutable; this is an error in the Swift 6 language mode
389 | private class URLSessionTaskController: NSObject, URLSessionTaskDelegate {
390 |
391 |     var metrics: URLSessionTaskMetrics?
    |         `- warning: stored property 'metrics' of 'Sendable'-conforming class 'URLSessionTaskController' is mutable; this is an error in the Swift 6 language mode
392 |
393 |     func urlSession(_ session: URLSession, task: URLSessionTask, didFinishCollecting metrics: URLSessionTaskMetrics) {
Build complete! (44.40s)
Fetching https://github.com/apple/swift-docc-plugin
[1/1458] Fetching swift-docc-plugin
Fetched https://github.com/apple/swift-docc-plugin from cache (1.33s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.0.0 (0.67s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.0.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    }
  ],
  "manifest_display_name" : "swiftui-cached-async-image",
  "name" : "swiftui-cached-async-image",
  "path" : "/Users/admin/builder/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" : "CachedAsyncImage",
      "targets" : [
        "CachedAsyncImage"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CachedAsyncImage",
      "module_type" : "SwiftTarget",
      "name" : "CachedAsyncImage",
      "path" : "Sources/CachedAsyncImage",
      "product_memberships" : [
        "CachedAsyncImage"
      ],
      "sources" : [
        "CachedAsyncImage.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.