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 NukeUI 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/kean/NukeUI.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/kean/NukeUI
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 7338ed8 Update README.md
Cloned https://github.com/kean/NukeUI.git
Revision (git rev-parse @):
7338ed8ea76de18598bfafbca0cbdc74300a6b10
SUCCESS checkout https://github.com/kean/NukeUI.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/kean/NukeUI.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
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-6F35C1178C84523A.txt
[4/57] Emitting module Nuke
[5/62] Compiling Nuke ImagePrefetcher.swift
[6/62] Compiling Nuke ImageDecompression.swift
[7/62] Compiling Nuke ImageProcessing.swift
[8/62] Compiling Nuke ImageProcessingOptions.swift
[9/62] Compiling Nuke ImageProcessors+Anonymous.swift
[10/62] Compiling Nuke ImageProcessors+Circle.swift
[11/62] Compiling Nuke ImageProcessors+Composition.swift
[12/62] Compiling Nuke ImageProcessors+CoreImage.swift
[13/62] Compiling Nuke ImageProcessors+GaussianBlur.swift
[14/62] Compiling Nuke ImageProcessors+Resize.swift
[15/62] Compiling Nuke ImageProcessors+RoundedCorners.swift
[16/62] Compiling Nuke ImageProcessors.swift
[17/62] Compiling Nuke ImagePublisher.swift
[18/62] Compiling Nuke DataCache.swift
[19/62] Compiling Nuke DataCaching.swift
[20/62] Compiling Nuke ImageCache.swift
[21/62] Compiling Nuke ImageCaching.swift
[22/62] Compiling Nuke ImagePipelineCache.swift
[23/62] Compiling Nuke ImageEncoders+Default.swift
[24/62] Compiling Nuke ImageEncoders+ImageIO.swift
[25/62] Compiling Nuke ImageEncoders.swift
[26/62] Compiling Nuke ImageEncoding.swift
[27/62] Compiling Nuke ImagePipeline.swift
[28/62] Compiling Nuke ImagePipelineConfiguration.swift
[29/62] Compiling Nuke TaskLoadData.swift
[30/62] Compiling Nuke TaskLoadImage.swift
[31/62] Compiling Nuke AVDataAsset.swift
[32/62] Compiling Nuke Allocations.swift
[33/62] Compiling Nuke Combine.swift
[34/62] Compiling Nuke Deprecated.swift
[35/62] Compiling Nuke AssetType.swift
[36/62] Compiling Nuke ImageDecoderRegistry.swift
[37/62] Compiling Nuke ImageDecoders+Default.swift
[38/62] Compiling Nuke ImageDecoders+Empty.swift
[39/62] Compiling Nuke ImageDecoders+Video.swift
[40/62] Compiling Nuke ImageDecoding.swift
[41/62] Compiling Nuke ImagePipelineTask.swift
[42/62] Compiling Nuke OperationTask.swift
[43/62] Compiling Nuke Task.swift
[44/62] Compiling Nuke TaskFetchDecodedImage.swift
[45/62] Compiling Nuke TaskFetchOriginalImageData.swift
[46/62] Compiling Nuke TaskFetchWithPublisher.swift
[47/62] Compiling Nuke Extensions.swift
[48/62] Compiling Nuke Graphics.swift
[49/62] Compiling Nuke ImageRequestKeys.swift
[50/62] Compiling Nuke LinkedList.swift
[51/62] Compiling Nuke Log.swift
[52/62] Compiling Nuke ImagePipelineDelegate.swift
[53/62] Compiling Nuke ImageRequest.swift
[54/62] Compiling Nuke ImageResponse.swift
[55/62] Compiling Nuke ImageTask.swift
[56/62] Compiling Nuke DataLoader.swift
[57/62] Compiling Nuke DataLoading.swift
[58/62] Compiling Nuke Operation.swift
[59/62] Compiling Nuke RateLimiter.swift
[60/62] Compiling Nuke ResumableData.swift
[61/62] Compiling Nuke FetchImage.swift
[62/62] Compiling Nuke ImageViewExtensions.swift
[63/69] Compiling NukeUI LazyImageView.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Nuke/Sources/Core/ImagePipeline.swift:24:23: warning: class property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 22 | public final class ImagePipeline {
 23 |     /// Shared image pipeline.
 24 |     public static var shared = ImagePipeline(configuration: .withURLCache)
    |                       |- warning: class property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |
 26 |     /// The pipeline configuration.
/Users/admin/builder/spi-builder-workspace/Sources/LazyImageView.swift:139:43: warning: reference to class property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
137 |
138 |     /// The pipeline to be used for download. `shared` by default.
139 |     public var pipeline: ImagePipeline = .shared
    |                                           `- warning: reference to class property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
140 |
141 |     // MARK: Callbacks
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Nuke/Sources/Core/ImagePipeline.swift:24:23: note: class property declared here
 22 | public final class ImagePipeline {
 23 |     /// Shared image pipeline.
 24 |     public static var shared = ImagePipeline(configuration: .withURLCache)
    |                       `- note: class property declared here
 25 |
 26 |     /// The pipeline configuration.
/Users/admin/builder/spi-builder-workspace/Sources/LazyImageView.swift:178:9: warning: call to main actor-isolated instance method 'cancel()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
176 |
177 |     deinit {
178 |         cancel()
    |         `- warning: call to main actor-isolated instance method 'cancel()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
179 |     }
180 |
    :
241 |
242 |     /// Cancels current request.
243 |     public func cancel() {
    |                 `- note: calls to instance method 'cancel()' from outside of its actor context are implicitly asynchronous
244 |         imageTask?.cancel()
245 |         imageTask = nil
[64/69] Compiling NukeUI Image.swift
[65/69] Compiling NukeUI VideoPlayerView.swift
/Users/admin/builder/spi-builder-workspace/Sources/VideoPlayerView.swift:146:24: warning: call to main actor-isolated instance method 'play()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
144 |         playerObserver = player.observe(\.status, options: [.new, .initial]) { player, change in
145 |             if player.status == .readyToPlay {
146 |                 player.play()
    |                        `- warning: call to main actor-isolated instance method 'play()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
147 |             }
148 |         }
AVFoundation.AVPlayer:5:26: note: calls to instance method 'play()' from outside of its actor context are implicitly asynchronous
 3 |     @available(macOS 13.0, *)
 4 |     open var defaultRate: Float { get set }
 5 |     @MainActor open func play()
   |                          `- note: calls to instance method 'play()' from outside of its actor context are implicitly asynchronous
 6 |     @MainActor open func pause()
 7 |     @available(macOS 10.12, *)
/Users/admin/builder/spi-builder-workspace/Sources/VideoPlayerView.swift:177:16: warning: main actor-isolated property 'rate' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
175 | extension AVPlayer {
176 |     var nowPlaying: Bool {
177 |         return rate != 0 && error == nil
    |                `- warning: main actor-isolated property 'rate' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
178 |     }
179 | }
AVFoundation.AVPlayer:2:25: note: property declared here
 1 | extension AVPlayer {
 2 |     @MainActor open var rate: Float { get set }
   |                         `- note: property declared here
 3 |     @available(macOS 13.0, *)
 4 |     open var defaultRate: Float { get set }
/Users/admin/builder/spi-builder-workspace/Sources/VideoPlayerView.swift:146:24: warning: sending task-isolated value of type 'AVQueuePlayer' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
144 |         playerObserver = player.observe(\.status, options: [.new, .initial]) { player, change in
145 |             if player.status == .readyToPlay {
146 |                 player.play()
    |                        `- warning: sending task-isolated value of type 'AVQueuePlayer' with later accesses to main actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
147 |             }
148 |         }
[66/69] Emitting module NukeUI
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Nuke/Sources/Core/ImagePipeline.swift:24:23: warning: class property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 22 | public final class ImagePipeline {
 23 |     /// Shared image pipeline.
 24 |     public static var shared = ImagePipeline(configuration: .withURLCache)
    |                       |- warning: class property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |
 26 |     /// The pipeline configuration.
/Users/admin/builder/spi-builder-workspace/Sources/LazyImage.swift:54:44: warning: reference to class property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 52 |     private var processors: [ImageProcessing]?
 53 |     private var priority: ImageRequest.Priority?
 54 |     private var pipeline: ImagePipeline = .shared
    |                                            `- warning: reference to class property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 55 |     private var onDisappearBehavior: DisappearBehavior? = .cancel
 56 |     private var onStart: ((_ task: ImageTask) -> Void)?
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Nuke/Sources/Core/ImagePipeline.swift:24:23: note: class property declared here
 22 | public final class ImagePipeline {
 23 |     /// Shared image pipeline.
 24 |     public static var shared = ImagePipeline(configuration: .withURLCache)
    |                       `- note: class property declared here
 25 |
 26 |     /// The pipeline configuration.
/Users/admin/builder/spi-builder-workspace/Sources/LazyImageView.swift:139:43: warning: reference to class property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
137 |
138 |     /// The pipeline to be used for download. `shared` by default.
139 |     public var pipeline: ImagePipeline = .shared
    |                                           `- warning: reference to class property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
140 |
141 |     // MARK: Callbacks
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Nuke/Sources/Core/ImagePipeline.swift:24:23: note: class property declared here
 22 | public final class ImagePipeline {
 23 |     /// Shared image pipeline.
 24 |     public static var shared = ImagePipeline(configuration: .withURLCache)
    |                       `- note: class property declared here
 25 |
 26 |     /// The pipeline configuration.
[67/69] Compiling NukeUI LazyImage.swift
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Nuke/Sources/Core/ImagePipeline.swift:24:23: warning: class property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 22 | public final class ImagePipeline {
 23 |     /// Shared image pipeline.
 24 |     public static var shared = ImagePipeline(configuration: .withURLCache)
    |                       |- warning: class property 'shared' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
    |                       |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 25 |
 26 |     /// The pipeline configuration.
/Users/admin/builder/spi-builder-workspace/Sources/LazyImage.swift:54:44: warning: reference to class property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 52 |     private var processors: [ImageProcessing]?
 53 |     private var priority: ImageRequest.Priority?
 54 |     private var pipeline: ImagePipeline = .shared
    |                                            `- warning: reference to class property 'shared' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
 55 |     private var onDisappearBehavior: DisappearBehavior? = .cancel
 56 |     private var onStart: ((_ task: ImageTask) -> Void)?
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Nuke/Sources/Core/ImagePipeline.swift:24:23: note: class property declared here
 22 | public final class ImagePipeline {
 23 |     /// Shared image pipeline.
 24 |     public static var shared = ImagePipeline(configuration: .withURLCache)
    |                       `- note: class property declared here
 25 |
 26 |     /// The pipeline configuration.
[68/69] Compiling NukeUI ImageView.swift
[69/69] Compiling NukeUI Internal.swift
Build complete! (58.70s)
Fetching https://github.com/kean/Nuke.git
Fetching https://github.com/kaishin/Gifu
[1/2185] Fetching gifu
[307/25471] Fetching gifu, nuke
Fetched https://github.com/kaishin/Gifu from cache (2.23s)
Fetched https://github.com/kean/Nuke.git from cache (2.23s)
Computing version for https://github.com/kaishin/Gifu
Computed https://github.com/kaishin/Gifu at 3.3.0 (0.68s)
Computing version for https://github.com/kean/Nuke.git
Computed https://github.com/kean/Nuke.git at 10.5.1 (0.65s)
Creating working copy for https://github.com/kean/Nuke.git
Working copy of https://github.com/kean/Nuke.git resolved at 10.5.1
Creating working copy for https://github.com/kaishin/Gifu
Working copy of https://github.com/kaishin/Gifu resolved at 3.3.0
Build complete.
{
  "dependencies" : [
    {
      "identity" : "nuke",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "10.5.0",
            "upper_bound" : "11.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kean/Nuke.git"
    },
    {
      "identity" : "gifu",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "3.0.0",
            "upper_bound" : "4.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kaishin/Gifu"
    }
  ],
  "manifest_display_name" : "NukeUI",
  "name" : "NukeUI",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.14"
    },
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "5.0"
    }
  ],
  "products" : [
    {
      "name" : "NukeUI",
      "targets" : [
        "NukeUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "NukeUI",
      "module_type" : "SwiftTarget",
      "name" : "NukeUI",
      "path" : "Sources",
      "product_dependencies" : [
        "Nuke",
        "Gifu"
      ],
      "product_memberships" : [
        "NukeUI"
      ],
      "sources" : [
        "Image.swift",
        "ImageView.swift",
        "Internal.swift",
        "LazyImage.swift",
        "LazyImageView.swift",
        "VideoPlayerView.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.3"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.