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 CSProgress, reference 1.1.2 (7d49a5), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 23:29:02 UTC.

Swift 6 data race errors: 0

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/CharlesJS/CSProgress.git
Reference: 1.1.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/CharlesJS/CSProgress
 * tag               1.1.2      -> FETCH_HEAD
HEAD is now at 7d49a5a Make sure completion notification is fired when `isComplete` becomes true
Cloned https://github.com/CharlesJS/CSProgress.git
Revision (git rev-parse @):
7d49a5a05e8421db18db4bfb7f6fe4ff6853b4b3
SUCCESS checkout https://github.com/CharlesJS/CSProgress.git at 1.1.2
========================================
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": "csprogress",
      "name": "CSProgress",
      "url": "https://github.com/CharlesJS/CSProgress.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CSProgress",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/CharlesJS/CSProgress.git
[1/367] Fetching csprogress
Fetched https://github.com/CharlesJS/CSProgress.git from cache (0.84s)
Creating working copy for https://github.com/CharlesJS/CSProgress.git
Working copy of https://github.com/CharlesJS/CSProgress.git resolved at 1.1.2 (7d49a5a)
warning: '.resolve-product-dependencies': dependency 'csprogress' 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/CharlesJS/CSProgress.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/7] Write sources
[2/7] Write CSProgressPerformanceTests-entitlement.plist
[3/7] Write swift-version--7754E27361AE5C74.txt
[5/9] Emitting module CSProgress
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1211:25: warning: class 'BridgedNSProgress' must restate inherited '@unchecked Sendable' conformance
1209 |
1210 |     // An NSProgress subclass that wraps a CSProgress.
1211 |     private final class BridgedNSProgress: Foundation.Progress {
     |                         `- warning: class 'BridgedNSProgress' must restate inherited '@unchecked Sendable' conformance
1212 |         private(set) weak var progress: CSProgress?
1213 |
[6/9] Compiling CSProgress CSProgress.swift
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1211:25: warning: class 'BridgedNSProgress' must restate inherited '@unchecked Sendable' conformance
1209 |
1210 |     // An NSProgress subclass that wraps a CSProgress.
1211 |     private final class BridgedNSProgress: Foundation.Progress {
     |                         `- warning: class 'BridgedNSProgress' must restate inherited '@unchecked Sendable' conformance
1212 |         private(set) weak var progress: CSProgress?
1213 |
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:578:17: warning: capture of 'eachNotification' with non-sendable type 'CSProgress.CancellationNotificationWrapper' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 405 |     }
 406 |
 407 |     private struct CancellationNotificationWrapper {
     |                    `- note: consider making struct 'CancellationNotificationWrapper' conform to the 'Sendable' protocol
 408 |         let notification: CancellationNotification
 409 |         let queue: OperationQueue
     :
 576 |         for eachNotification in notifications {
 577 |             eachNotification.queue.addOperation {
 578 |                 eachNotification.notification()
     |                 `- warning: capture of 'eachNotification' with non-sendable type 'CSProgress.CancellationNotificationWrapper' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 579 |             }
 580 |         }
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:609:21: warning: capture of 'eachNotification' with non-sendable type 'CSProgress.FractionCompletedNotificationWrapper' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 410 |     }
 411 |
 412 |     private struct FractionCompletedNotificationWrapper {
     |                    `- note: consider making struct 'FractionCompletedNotificationWrapper' conform to the 'Sendable' protocol
 413 |         let notification: FractionCompletedNotification
 414 |         let queue: OperationQueue
     :
 607 |             for eachNotification in notifications {
 608 |                 eachNotification.queue.addOperation {
 609 |                     eachNotification.notification(completedUnitCount, totalUnitCount, fractionCompleted)
     |                     `- warning: capture of 'eachNotification' with non-sendable type 'CSProgress.FractionCompletedNotificationWrapper' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 610 |                 }
 611 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:634:17: warning: capture of 'eachNotification' with non-sendable type 'CSProgress.DescriptionNotificationWrapper' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 415 |     }
 416 |
 417 |     private struct DescriptionNotificationWrapper {
     |                    `- note: consider making struct 'DescriptionNotificationWrapper' conform to the 'Sendable' protocol
 418 |         let notification: DescriptionNotification
 419 |         let queue: OperationQueue
     :
 632 |         for eachNotification in notifications {
 633 |             eachNotification.queue.addOperation {
 634 |                 eachNotification.notification(description, additionalDescription)
     |                 `- warning: capture of 'eachNotification' with non-sendable type 'CSProgress.DescriptionNotificationWrapper' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 635 |             }
 636 |         }
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1020:17: warning: capture of 'setupHandler' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1018 |             // Make our changes on the queue, to avoid jamming up the worker thread with KVO notifications.
1019 |             queue.addOperation {
1020 |                 setupHandler()
     |                 |- warning: capture of 'setupHandler' with non-sendable type '() -> ()' 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'
1021 |
1022 |                 self.isUpdating = true
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1022:17: warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 951 |
 952 |     // The backing for a CSProgress wrapping an NSProgress.
 953 |     private final class ObjectiveCBacking: NSObject {
     |                         `- note: class 'ObjectiveCBacking' does not conform to the 'Sendable' protocol
 954 |         let progress: Foundation.Progress
 955 |         let queue: OperationQueue
     :
1020 |                 setupHandler()
1021 |
1022 |                 self.isUpdating = true
     |                 `- warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1023 |
1024 |                 if let totalUnitCount = totalUnitCount {
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1041:17: warning: capture of 'completionHandler' with non-sendable type '(Double, Bool) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1039 |                 self.isUpdating = false
1040 |
1041 |                 completionHandler(self.fractionCompleted, self.isCompleted)
     |                 |- warning: capture of 'completionHandler' with non-sendable type '(Double, Bool) -> ()' 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'
1042 |             }
1043 |         }
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1051:17: warning: capture of 'setupHandler' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1049 |                  completionHandler: @escaping () -> ()) {
1050 |             queue.addOperation {
1051 |                 setupHandler()
     |                 |- warning: capture of 'setupHandler' with non-sendable type '() -> ()' 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'
1052 |
1053 |                 self.isUpdating = true
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1053:17: warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 951 |
 952 |     // The backing for a CSProgress wrapping an NSProgress.
 953 |     private final class ObjectiveCBacking: NSObject {
     |                         `- note: class 'ObjectiveCBacking' does not conform to the 'Sendable' protocol
 954 |         let progress: Foundation.Progress
 955 |         let queue: OperationQueue
     :
1051 |                 setupHandler()
1052 |
1053 |                 self.isUpdating = true
     |                 `- warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1054 |
1055 |                 if let localizedDescription = localizedDescription {
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1069:17: warning: capture of 'completionHandler' with non-sendable type '() -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1067 |                 self.isUpdating = false
1068 |
1069 |                 completionHandler()
     |                 |- warning: capture of 'completionHandler' with non-sendable type '() -> ()' 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'
1070 |             }
1071 |         }
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1110:46: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
1108 |             self.kvoObservations.append(self.progress.observe(\.fractionCompleted) { [weak self] _, _ in
1109 |                 if let sSelf = self, !sSelf.isUpdating, let handler = sSelf.fractionCompletedUpdatedHandler {
1110 |                     sSelf.queue.addOperation(handler)
     |                                              `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
1111 |                 }
1112 |             })
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1116:46: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
1114 |             self.kvoObservations.append(self.progress.observe(\.isIndeterminate) { [weak self] _, _ in
1115 |                 if let sSelf = self, !sSelf.isUpdating, let handler = sSelf.indeterminateHandler {
1116 |                     sSelf.queue.addOperation(handler)
     |                                              `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
1117 |                 }
1118 |             })
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1122:46: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
1120 |             self.kvoObservations.append(self.progress.observe(\.isCancelled) { [weak self] _, _ in
1121 |                 if let sSelf = self, !sSelf.isUpdating, let handler = sSelf.cancellationHandler {
1122 |                     sSelf.queue.addOperation(handler)
     |                                              `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
1123 |                 }
1124 |             })
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1128:46: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
1126 |             self.kvoObservations.append(self.progress.observe(\.localizedDescription) { [weak self] _, _ in
1127 |                 if let sSelf = self, !sSelf.isUpdating, let handler = sSelf.descriptionUpdatedHandler {
1128 |                     sSelf.queue.addOperation(handler)
     |                                              `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
1129 |                 }
1130 |             })
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1134:46: warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
1132 |             self.kvoObservations.append(self.progress.observe(\.localizedAdditionalDescription) { [weak self] _, _ in
1133 |                 if let sSelf = self, !sSelf.isUpdating, let handler = sSelf.descriptionUpdatedHandler {
1134 |                     sSelf.queue.addOperation(handler)
     |                                              `- warning: converting non-sendable function value to '@Sendable () -> Void' may introduce data races
1135 |                 }
1136 |             })
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1109:32: warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 951 |
 952 |     // The backing for a CSProgress wrapping an NSProgress.
 953 |     private final class ObjectiveCBacking: NSObject {
     |                         `- note: class 'ObjectiveCBacking' does not conform to the 'Sendable' protocol
 954 |         let progress: Foundation.Progress
 955 |         let queue: OperationQueue
     :
1107 |
1108 |             self.kvoObservations.append(self.progress.observe(\.fractionCompleted) { [weak self] _, _ in
1109 |                 if let sSelf = self, !sSelf.isUpdating, let handler = sSelf.fractionCompletedUpdatedHandler {
     |                                `- warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1110 |                     sSelf.queue.addOperation(handler)
1111 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1115:32: warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 951 |
 952 |     // The backing for a CSProgress wrapping an NSProgress.
 953 |     private final class ObjectiveCBacking: NSObject {
     |                         `- note: class 'ObjectiveCBacking' does not conform to the 'Sendable' protocol
 954 |         let progress: Foundation.Progress
 955 |         let queue: OperationQueue
     :
1113 |
1114 |             self.kvoObservations.append(self.progress.observe(\.isIndeterminate) { [weak self] _, _ in
1115 |                 if let sSelf = self, !sSelf.isUpdating, let handler = sSelf.indeterminateHandler {
     |                                `- warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1116 |                     sSelf.queue.addOperation(handler)
1117 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1121:32: warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 951 |
 952 |     // The backing for a CSProgress wrapping an NSProgress.
 953 |     private final class ObjectiveCBacking: NSObject {
     |                         `- note: class 'ObjectiveCBacking' does not conform to the 'Sendable' protocol
 954 |         let progress: Foundation.Progress
 955 |         let queue: OperationQueue
     :
1119 |
1120 |             self.kvoObservations.append(self.progress.observe(\.isCancelled) { [weak self] _, _ in
1121 |                 if let sSelf = self, !sSelf.isUpdating, let handler = sSelf.cancellationHandler {
     |                                `- warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1122 |                     sSelf.queue.addOperation(handler)
1123 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1127:32: warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 951 |
 952 |     // The backing for a CSProgress wrapping an NSProgress.
 953 |     private final class ObjectiveCBacking: NSObject {
     |                         `- note: class 'ObjectiveCBacking' does not conform to the 'Sendable' protocol
 954 |         let progress: Foundation.Progress
 955 |         let queue: OperationQueue
     :
1125 |
1126 |             self.kvoObservations.append(self.progress.observe(\.localizedDescription) { [weak self] _, _ in
1127 |                 if let sSelf = self, !sSelf.isUpdating, let handler = sSelf.descriptionUpdatedHandler {
     |                                `- warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1128 |                     sSelf.queue.addOperation(handler)
1129 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/CSProgress/CSProgress.swift:1133:32: warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 951 |
 952 |     // The backing for a CSProgress wrapping an NSProgress.
 953 |     private final class ObjectiveCBacking: NSObject {
     |                         `- note: class 'ObjectiveCBacking' does not conform to the 'Sendable' protocol
 954 |         let progress: Foundation.Progress
 955 |         let queue: OperationQueue
     :
1131 |
1132 |             self.kvoObservations.append(self.progress.observe(\.localizedAdditionalDescription) { [weak self] _, _ in
1133 |                 if let sSelf = self, !sSelf.isUpdating, let handler = sSelf.descriptionUpdatedHandler {
     |                                `- warning: capture of 'self' with non-sendable type 'CSProgress.ObjectiveCBacking?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
1134 |                     sSelf.queue.addOperation(handler)
1135 |                 }
[7/12] Compiling CSProgressPerformanceTests main.swift
[8/12] Compiling CSProgressPerformanceTests CSProgressPerformanceTests.swift
[9/12] Emitting module CSProgressPerformanceTests
[9/12] Write Objects.LinkFileList
[10/12] Linking CSProgressPerformanceTests
[11/12] Applying CSProgressPerformanceTests
Build complete! (7.10s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "CSProgress",
  "name" : "CSProgress",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "CSProgress",
      "targets" : [
        "CSProgress"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CSProgressPerformanceTests",
      "targets" : [
        "CSProgressPerformanceTests"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CSProgressTests",
      "module_type" : "SwiftTarget",
      "name" : "CSProgressTests",
      "path" : "Tests/CSProgressTests",
      "sources" : [
        "CSProgressTests.swift",
        "Foundation.Progress Tests.swift"
      ],
      "target_dependencies" : [
        "CSProgress"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CSProgressPerformanceTests",
      "module_type" : "SwiftTarget",
      "name" : "CSProgressPerformanceTests",
      "path" : "Tests/CSProgressPerformanceTests",
      "product_memberships" : [
        "CSProgressPerformanceTests"
      ],
      "sources" : [
        "CSProgressPerformanceTests.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "CSProgress"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "CSProgress",
      "module_type" : "SwiftTarget",
      "name" : "CSProgress",
      "path" : "Sources/CSProgress",
      "product_memberships" : [
        "CSProgress",
        "CSProgressPerformanceTests"
      ],
      "sources" : [
        "CSProgress.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.