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 FileProxy, reference master (b3f42a), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 07:38:52 UTC.

Swift 6 data race errors: 1

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/michaelnisi/fileproxy.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/michaelnisi/fileproxy
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at b3f42aa Note install
Cloned https://github.com/michaelnisi/fileproxy.git
Revision (git rev-parse @):
b3f42aa67cfe38d888ab373b0f0a83f516675084
SUCCESS checkout https://github.com/michaelnisi/fileproxy.git at master
========================================
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": "fileproxy",
      "name": "FileProxy",
      "url": "https://github.com/michaelnisi/fileproxy.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/fileproxy",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/michaelnisi/fileproxy.git
[1/345] Fetching fileproxy
Fetched https://github.com/michaelnisi/fileproxy.git from cache (0.79s)
Creating working copy for https://github.com/michaelnisi/fileproxy.git
Working copy of https://github.com/michaelnisi/fileproxy.git resolved at master (b3f42aa)
warning: '.resolve-product-dependencies': dependency 'fileproxy' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/michaelnisi/fileproxy.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/7] Compiling FileProxy FileProxying.swift
[4/7] Compiling FileProxy FileProxyDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/FileProxy/FileProxyDelegate.swift:13:36: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
 11 | private let log = OSLog.disabled
 12 |
 13 | public protocol FileProxyDelegate: class {
    |                                    `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
 14 |
 15 |   func proxy(
[5/7] Emitting module FileProxy
/Users/admin/builder/spi-builder-workspace/Sources/FileProxy/FileProxy.swift:28:19: warning: stored property 'delegate' of 'Sendable'-conforming class 'FileProxy' is mutable; this is an error in the Swift 6 language mode
 26 |   /// session delegate queues. Depending on the number of sessions, this can
 27 |   /// get hairy.
 28 |   public weak var delegate: FileProxyDelegate?
    |                   `- warning: stored property 'delegate' of 'Sendable'-conforming class 'FileProxy' is mutable; this is an error in the Swift 6 language mode
 29 |
 30 |   /// Synchronizes access to sessions, handlers, and our invalidation flag.
/Users/admin/builder/spi-builder-workspace/Sources/FileProxy/FileProxyDelegate.swift:13:36: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
 11 | private let log = OSLog.disabled
 12 |
 13 | public protocol FileProxyDelegate: class {
    |                                    `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
 14 |
 15 |   func proxy(
[6/7] Compiling FileProxy FileLocator.swift
[7/7] Compiling FileProxy FileProxy.swift
/Users/admin/builder/spi-builder-workspace/Sources/FileProxy/FileProxy.swift:28:19: warning: stored property 'delegate' of 'Sendable'-conforming class 'FileProxy' is mutable; this is an error in the Swift 6 language mode
 26 |   /// session delegate queues. Depending on the number of sessions, this can
 27 |   /// get hairy.
 28 |   public weak var delegate: FileProxyDelegate?
    |                   `- warning: stored property 'delegate' of 'Sendable'-conforming class 'FileProxy' is mutable; this is an error in the Swift 6 language mode
 29 |
 30 |   /// Synchronizes access to sessions, handlers, and our invalidation flag.
/Users/admin/builder/spi-builder-workspace/Sources/FileProxy/FileProxy.swift:235:9: warning: capture of 'find' with non-sendable type '([URLSession], [URLSessionDownloadTask]) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
233 |
234 |       session.getTasksWithCompletionHandler { _, _, tasks in
235 |         find(Array(sessions.dropFirst()), acc + tasks.filter {
    |         |- warning: capture of 'find' with non-sendable type '([URLSession], [URLSessionDownloadTask]) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
236 |           $0.originalRequest?.url == url
237 |         })
/Users/admin/builder/spi-builder-workspace/Sources/FileProxy/FileProxy.swift:228:10: warning: concurrently-executed local function 'find' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
226 |     completion: @escaping ([URLSessionDownloadTask]) -> Void)
227 |   {
228 |     func find(_ sessions: [URLSession], _ acc: [URLSessionDownloadTask] = []) {
    |          `- warning: concurrently-executed local function 'find' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
229 |       guard let session = sessions.first else {
230 |         completion(acc)
/Users/admin/builder/spi-builder-workspace/Sources/FileProxy/FileProxy.swift:295:13: warning: capture of 'find' with non-sendable type '([FileProxy.Session], Acc) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
293 |           // The URL should be skipped if we find a matching task in-flight.
294 |           guard !tasks.contains(where: { $0.originalRequest?.url == url }) else {
295 |             find(
    |             |- warning: capture of 'find' with non-sendable type '([FileProxy.Session], Acc) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
296 |               Array(sessions.dropFirst()),
297 |               Acc(good: acc.good, unused: acc.unused, skip: true)
/Users/admin/builder/spi-builder-workspace/Sources/FileProxy/FileProxy.swift:296:21: warning: capture of 'sessions' with non-sendable type '[FileProxy.Session]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 63 |   /// Notice the difference to `URLSessionConfiguration.background`, all our
 64 |   /// url sessions are background url sessions.
 65 |   private enum Session {
    |                `- note: consider making enum 'Session' conform to the 'Sendable' protocol
 66 |     case background(SessionIdentifier, URLSession, () -> Void)
 67 |     case transient(SessionIdentifier, URLSession)
    :
294 |           guard !tasks.contains(where: { $0.originalRequest?.url == url }) else {
295 |             find(
296 |               Array(sessions.dropFirst()),
    |                     `- warning: capture of 'sessions' with non-sendable type '[FileProxy.Session]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
297 |               Acc(good: acc.good, unused: acc.unused, skip: true)
298 |             )
/Users/admin/builder/spi-builder-workspace/Sources/FileProxy/FileProxy.swift:277:10: warning: concurrently-executed local function 'find' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
275 |     }
276 |
277 |     func find(
    |          `- warning: concurrently-executed local function 'find' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
278 |       _ sessions: [Session],
279 |       _ acc: Acc = Acc(good: nil, unused: [], skip: false)
Build complete! (7.13s)
warning: 'spi-builder-workspace': the target name FileProxyTests has different case on the filesystem and the Package.swift manifest file
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "FileProxy",
  "name" : "FileProxy",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "11.0"
    },
    {
      "name" : "macos",
      "version" : "10.13"
    }
  ],
  "products" : [
    {
      "name" : "FileProxy",
      "targets" : [
        "FileProxy"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FileProxyTests",
      "module_type" : "SwiftTarget",
      "name" : "FileProxyTests",
      "path" : "Tests/FileProxyTests",
      "sources" : [
        "fileproxyTests.swift"
      ],
      "target_dependencies" : [
        "FileProxy"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FileProxy",
      "module_type" : "SwiftTarget",
      "name" : "FileProxy",
      "path" : "Sources/FileProxy",
      "product_memberships" : [
        "FileProxy"
      ],
      "sources" : [
        "FileLocator.swift",
        "FileProxy.swift",
        "FileProxyDelegate.swift",
        "FileProxying.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
warning: 'spi-builder-workspace': the target name FileProxyTests has different case on the filesystem and the Package.swift manifest file
Done.