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 CSProgress with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 0

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/CharlesJS/CSProgress.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/CharlesJS/CSProgress
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at c7b4ace Update README.md
Cloned https://github.com/CharlesJS/CSProgress.git
Revision (git rev-parse @):
c7b4ace313668de465e6828164c2296f5d01afbd
SUCCESS checkout https://github.com/CharlesJS/CSProgress.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/CharlesJS/CSProgress.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/7] Write sources
[2/7] Write CSProgressPerformanceTests-entitlement.plist
[3/7] Write swift-version-6F35C1178C84523A.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! (20.11s)
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.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.