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 AVFoundationCombine, reference main (c38cda), with Swift 6.0 for macOS (SPM) on 31 Oct 2024 12:35:58 UTC.

Swift 6 data race errors: 2

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/CombineHarvesters/AVFoundationCombine.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/CombineHarvesters/AVFoundationCombine
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at c38cdae Add license
Cloned https://github.com/CombineHarvesters/AVFoundationCombine.git
Revision (git rev-parse @):
c38cdaee6818f4201fba11f78cab5b29cde7e365
SUCCESS checkout https://github.com/CombineHarvesters/AVFoundationCombine.git at main
========================================
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": "avfoundationcombine",
      "name": "AVFoundationCombine",
      "url": "https://github.com/CombineHarvesters/AVFoundationCombine.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/AVFoundationCombine",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/CombineHarvesters/AVFoundationCombine.git
[1/15] Fetching avfoundationcombine
Fetched https://github.com/CombineHarvesters/AVFoundationCombine.git from cache (0.58s)
Creating working copy for https://github.com/CombineHarvesters/AVFoundationCombine.git
Working copy of https://github.com/CombineHarvesters/AVFoundationCombine.git resolved at main (c38cdae)
warning: '.resolve-product-dependencies': dependency 'avfoundationcombine' 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/CombineHarvesters/AVFoundationCombine.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/4] Emitting module AVFoundationCombine
/Users/admin/builder/spi-builder-workspace/Sources/AVFoundationCombine/MetadataPublisher.swift:43:21: warning: stored property 'subscriber' of 'Sendable'-conforming generic class 'Subscription' has non-sendable type 'Subscriber'; this is an error in the Swift 6 language mode
31 | extension MetadataPublisher {
32 |
33 |     fileprivate final class Subscription<Subscriber>:
   |                                          `- note: consider making generic parameter 'Subscriber' conform to the 'Sendable' protocol
34 |         NSObject,
35 |         AVPlayerItemMetadataOutputPushDelegate
   :
41 |
42 |         private let item: AVPlayerItem
43 |         private let subscriber: Subscriber
   |                     `- warning: stored property 'subscriber' of 'Sendable'-conforming generic class 'Subscription' has non-sendable type 'Subscriber'; this is an error in the Swift 6 language mode
44 |         private let metadataOutput = AVPlayerItemMetadataOutput()
45 |
/Users/admin/builder/spi-builder-workspace/Sources/AVFoundationCombine/MetadataPublisher.swift:44:21: warning: stored property 'metadataOutput' of 'Sendable'-conforming generic class 'Subscription' has non-sendable type 'AVPlayerItemMetadataOutput'; this is an error in the Swift 6 language mode
42 |         private let item: AVPlayerItem
43 |         private let subscriber: Subscriber
44 |         private let metadataOutput = AVPlayerItemMetadataOutput()
   |                     `- warning: stored property 'metadataOutput' of 'Sendable'-conforming generic class 'Subscription' has non-sendable type 'AVPlayerItemMetadataOutput'; this is an error in the Swift 6 language mode
45 |
46 |         fileprivate init(item: AVPlayerItem, subscriber: Subscriber) {
AVFoundation.AVPlayerItemMetadataOutput:2:12: note: class 'AVPlayerItemMetadataOutput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.10, *)
2 | open class AVPlayerItemMetadataOutput : AVPlayerItemOutput {
  |            `- note: class 'AVPlayerItemMetadataOutput' does not conform to the 'Sendable' protocol
3 |     public init(identifiers: [String]?)
4 |     open func setDelegate(_ delegate: (any AVPlayerItemMetadataOutputPushDelegate)?, queue delegateQueue: dispatch_queue_t?)
/Users/admin/builder/spi-builder-workspace/Sources/AVFoundationCombine/MetadataPublisher.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
 1 |
 2 | import AVFoundation
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
 3 | import Combine
 4 |
[4/4] Compiling AVFoundationCombine MetadataPublisher.swift
/Users/admin/builder/spi-builder-workspace/Sources/AVFoundationCombine/MetadataPublisher.swift:43:21: warning: stored property 'subscriber' of 'Sendable'-conforming generic class 'Subscription' has non-sendable type 'Subscriber'; this is an error in the Swift 6 language mode
31 | extension MetadataPublisher {
32 |
33 |     fileprivate final class Subscription<Subscriber>:
   |                                          `- note: consider making generic parameter 'Subscriber' conform to the 'Sendable' protocol
34 |         NSObject,
35 |         AVPlayerItemMetadataOutputPushDelegate
   :
41 |
42 |         private let item: AVPlayerItem
43 |         private let subscriber: Subscriber
   |                     `- warning: stored property 'subscriber' of 'Sendable'-conforming generic class 'Subscription' has non-sendable type 'Subscriber'; this is an error in the Swift 6 language mode
44 |         private let metadataOutput = AVPlayerItemMetadataOutput()
45 |
/Users/admin/builder/spi-builder-workspace/Sources/AVFoundationCombine/MetadataPublisher.swift:44:21: warning: stored property 'metadataOutput' of 'Sendable'-conforming generic class 'Subscription' has non-sendable type 'AVPlayerItemMetadataOutput'; this is an error in the Swift 6 language mode
42 |         private let item: AVPlayerItem
43 |         private let subscriber: Subscriber
44 |         private let metadataOutput = AVPlayerItemMetadataOutput()
   |                     `- warning: stored property 'metadataOutput' of 'Sendable'-conforming generic class 'Subscription' has non-sendable type 'AVPlayerItemMetadataOutput'; this is an error in the Swift 6 language mode
45 |
46 |         fileprivate init(item: AVPlayerItem, subscriber: Subscriber) {
AVFoundation.AVPlayerItemMetadataOutput:2:12: note: class 'AVPlayerItemMetadataOutput' does not conform to the 'Sendable' protocol
1 | @available(macOS 10.10, *)
2 | open class AVPlayerItemMetadataOutput : AVPlayerItemOutput {
  |            `- note: class 'AVPlayerItemMetadataOutput' does not conform to the 'Sendable' protocol
3 |     public init(identifiers: [String]?)
4 |     open func setDelegate(_ delegate: (any AVPlayerItemMetadataOutputPushDelegate)?, queue delegateQueue: dispatch_queue_t?)
/Users/admin/builder/spi-builder-workspace/Sources/AVFoundationCombine/MetadataPublisher.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
 1 |
 2 | import AVFoundation
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'AVFoundation'
 3 | import Combine
 4 |
/Users/admin/builder/spi-builder-workspace/Sources/AVFoundationCombine/MetadataPublisher.swift:65:14: warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
60 | extension MetadataPublisher.Subscription: Combine.Subscription {
61 |
62 |     func request(_ demand: Subscribers.Demand) {
   |          `- note: add '@MainActor' to make instance method 'request' part of global actor 'MainActor'
63 |         let queue = DispatchQueue(label: "uk.co.danieltull.MetadataQueue")
64 |         metadataOutput.setDelegate(self, queue: queue)
65 |         item.add(metadataOutput)
   |              `- warning: call to main actor-isolated instance method 'add' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
66 |     }
67 |
AVFoundation.AVPlayerItem:3:26: note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
 1 | extension AVPlayerItem {
 2 |     @available(macOS 10.8, *)
 3 |     @MainActor open func add(_ output: AVPlayerItemOutput)
   |                          `- note: calls to instance method 'add' from outside of its actor context are implicitly asynchronous
 4 |     @available(macOS 10.8, *)
 5 |     @available(swift, obsoleted: 3, renamed: "add(_:)")
/Users/admin/builder/spi-builder-workspace/Sources/AVFoundationCombine/MetadataPublisher.swift:69:14: warning: call to main actor-isolated instance method 'remove' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
66 |     }
67 |
68 |     func cancel() {
   |          `- note: add '@MainActor' to make instance method 'cancel()' part of global actor 'MainActor'
69 |         item.remove(metadataOutput)
   |              `- warning: call to main actor-isolated instance method 'remove' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
70 |         metadataOutput.setDelegate(nil, queue: nil)
71 |     }
AVFoundation.AVPlayerItem:8:15: note: calls to instance method 'remove' from outside of its actor context are implicitly asynchronous
 6 |     open func addOutput(_ output: AVPlayerItemOutput)
 7 |     @available(macOS 10.8, *)
 8 |     open func remove(_ output: AVPlayerItemOutput)
   |               `- note: calls to instance method 'remove' from outside of its actor context are implicitly asynchronous
 9 |     @available(macOS 10.8, *)
10 |     @available(swift, obsoleted: 3, renamed: "remove(_:)")
Build complete! (9.19s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "AVFoundationCombine",
  "name" : "AVFoundationCombine",
  "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" : "AVFoundationCombine",
      "targets" : [
        "AVFoundationCombine"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AVFoundationCombineTests",
      "module_type" : "SwiftTarget",
      "name" : "AVFoundationCombineTests",
      "path" : "Tests/AVFoundationCombineTests",
      "sources" : [
        "AVFoundationCombineTests.swift"
      ],
      "target_dependencies" : [
        "AVFoundationCombine"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AVFoundationCombine",
      "module_type" : "SwiftTarget",
      "name" : "AVFoundationCombine",
      "path" : "Sources/AVFoundationCombine",
      "product_memberships" : [
        "AVFoundationCombine"
      ],
      "sources" : [
        "MetadataPublisher.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.