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, reference main (7338ed), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 01:17:16 UTC.

Swift 6 data race errors: 2

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.61.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
Fetching https://github.com/kean/Nuke.git
Fetching https://github.com/kaishin/Gifu
[1/2368] Fetching gifu
[309/28397] Fetching gifu, nuke
Fetched https://github.com/kaishin/Gifu from cache (1.66s)
Fetched https://github.com/kean/Nuke.git from cache (1.66s)
Computing version for https://github.com/kaishin/Gifu
Computed https://github.com/kaishin/Gifu at 3.3.0 (2.25s)
Computing version for https://github.com/kean/Nuke.git
Computed https://github.com/kean/Nuke.git at 10.5.1 (0.57s)
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
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "nukeui",
      "name": "NukeUI",
      "url": "https://github.com/kean/NukeUI.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/NukeUI",
      "dependencies": [
        {
          "identity": "nuke",
          "name": "Nuke",
          "url": "https://github.com/kean/Nuke.git",
          "version": "10.11.2",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Nuke",
          "dependencies": [
          ]
        },
        {
          "identity": "gifu",
          "name": "Gifu",
          "url": "https://github.com/kaishin/Gifu",
          "version": "3.5.1",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Gifu",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/kean/NukeUI.git
[1/1145] Fetching nukeui
Fetched https://github.com/kean/NukeUI.git from cache (0.79s)
Fetching https://github.com/kaishin/Gifu from cache
Fetching https://github.com/kean/Nuke.git from cache
Fetched https://github.com/kean/Nuke.git from cache (0.50s)
Fetched https://github.com/kaishin/Gifu from cache (0.50s)
Computing version for https://github.com/kaishin/Gifu
Computed https://github.com/kaishin/Gifu at 3.5.1 (1.01s)
Computing version for https://github.com/kean/Nuke.git
Computed https://github.com/kean/Nuke.git at 10.11.2 (0.59s)
Creating working copy for https://github.com/kean/NukeUI.git
Working copy of https://github.com/kean/NukeUI.git resolved at main (7338ed8)
Creating working copy for https://github.com/kaishin/Gifu
Working copy of https://github.com/kaishin/Gifu resolved at 3.5.1
Creating working copy for https://github.com/kean/Nuke.git
Working copy of https://github.com/kean/Nuke.git resolved at 10.11.2
warning: '.resolve-product-dependencies': dependency 'nukeui' is not used by any target
Found 2 product dependencies
  - Nuke
  - Gifu
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/kean/NukeUI.git
https://github.com/kean/NukeUI.git
{
  "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"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/57] Emitting module Nuke
[5/62] Compiling Nuke ImagePipelineTask.swift
[6/62] Compiling Nuke OperationTask.swift
[7/62] Compiling Nuke Task.swift
[8/62] Compiling Nuke TaskFetchDecodedImage.swift
[9/62] Compiling Nuke TaskFetchOriginalImageData.swift
[10/62] Compiling Nuke TaskFetchWithPublisher.swift
[11/62] Compiling Nuke ImagePrefetcher.swift
[12/62] Compiling Nuke ImageDecompression.swift
[13/62] Compiling Nuke ImageProcessing.swift
[14/62] Compiling Nuke ImageProcessingOptions.swift
[15/62] Compiling Nuke ImageProcessors+Anonymous.swift
[16/62] Compiling Nuke ImageProcessors+Circle.swift
[17/62] Compiling Nuke ImageEncoders+Default.swift
[18/62] Compiling Nuke ImageEncoders+ImageIO.swift
[19/62] Compiling Nuke ImageEncoders.swift
[20/62] Compiling Nuke ImageEncoding.swift
[21/62] Compiling Nuke ImagePipeline.swift
[22/62] Compiling Nuke ImagePipelineConfiguration.swift
[23/62] Compiling Nuke ImagePublisher.swift
[24/62] Compiling Nuke DataCache.swift
[25/62] Compiling Nuke DataCaching.swift
[26/62] Compiling Nuke ImageCache.swift
[27/62] Compiling Nuke ImageCaching.swift
[28/62] Compiling Nuke ImagePipelineCache.swift
[29/62] Compiling Nuke Extensions.swift
[30/62] Compiling Nuke Graphics.swift
[31/62] Compiling Nuke ImageRequestKeys.swift
[32/62] Compiling Nuke LinkedList.swift
[33/62] Compiling Nuke Log.swift
[34/62] Compiling Nuke AssetType.swift
[35/62] Compiling Nuke ImageDecoderRegistry.swift
[36/62] Compiling Nuke ImageDecoders+Default.swift
[37/62] Compiling Nuke ImageDecoders+Empty.swift
[38/62] Compiling Nuke ImageDecoders+Video.swift
[39/62] Compiling Nuke ImageDecoding.swift
[40/62] Compiling Nuke ImageProcessors+Composition.swift
[41/62] Compiling Nuke ImageProcessors+CoreImage.swift
[42/62] Compiling Nuke ImageProcessors+GaussianBlur.swift
[43/62] Compiling Nuke ImageProcessors+Resize.swift
[44/62] Compiling Nuke ImageProcessors+RoundedCorners.swift
[45/62] Compiling Nuke ImageProcessors.swift
[46/62] Compiling Nuke TaskLoadData.swift
[47/62] Compiling Nuke TaskLoadImage.swift
[48/62] Compiling Nuke AVDataAsset.swift
[49/62] Compiling Nuke Allocations.swift
[50/62] Compiling Nuke Combine.swift
[51/62] Compiling Nuke Deprecated.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 LazyImage.swift
/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/LazyImage.swift:290:37: warning: call to main actor-isolated initializer 'init(_:isVideoLooping:onCreated:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
288 |     public var image: Image? {
289 | #if os(macOS)
290 |         return imageContainer.map { Image($0) }
    |                                     `- warning: call to main actor-isolated initializer 'init(_:isVideoLooping:onCreated:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
291 | #elseif os(watchOS)
292 | return imageContainer.map { Image(uiImage: $0.image) }
/Users/admin/builder/spi-builder-workspace/Sources/Image.swift:26:12: note: calls to initializer 'init(_:isVideoLooping:onCreated:)' from outside of its actor context are implicitly asynchronous
 24 |     }
 25 |
 26 |     public init(_ imageContainer: ImageContainer,
    |            |- note: calls to initializer 'init(_:isVideoLooping:onCreated:)' from outside of its actor context are implicitly asynchronous
    |            `- note: main actor isolation inferred from conformance to protocol 'NSViewRepresentable'
 27 |                 isVideoLooping: Binding<Bool> = .constant(true),
 28 |                 onCreated: ((ImageView) -> Void)? = nil) {
/Users/admin/builder/spi-builder-workspace/Sources/LazyImage.swift:290:37: warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
288 |     public var image: Image? {
289 | #if os(macOS)
290 |         return imageContainer.map { Image($0) }
    |                                     |- warning: sending '$0' risks causing data races; this is an error in the Swift 6 language mode
    |                                     `- note: sending task-isolated '$0' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
291 | #elseif os(watchOS)
292 | return imageContainer.map { Image(uiImage: $0.image) }
[64/69] Compiling NukeUI LazyImageView.swift
/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
    |                 `- note: main actor isolation inferred from inheritance from class 'NSView'
244 |         imageTask?.cancel()
245 |         imageTask = nil
[65/69] Compiling NukeUI ImageView.swift
[66/69] Compiling NukeUI Image.swift
[67/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.play:2:22: note: calls to instance method 'play()' from outside of its actor context are implicitly asynchronous
1 | class AVPlayer {
2 | @MainActor open func play()}
  |                      `- note: calls to instance method 'play()' from outside of its actor context are implicitly asynchronous
3 |
[68/69] Compiling NukeUI Internal.swift
[69/69] Emitting module NukeUI
/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.
Build complete! (17.46s)
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.