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 main (c7b4ac), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 23:28:40 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: 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
========================================
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 main (c7b4ace)
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] 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 |                 }
[6/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 |
[7/12] Compiling CSProgressPerformanceTests main.swift
[8/12] Emitting module CSProgressPerformanceTests
[9/12] Compiling CSProgressPerformanceTests CSProgressPerformanceTests.swift
[9/12] Write Objects.LinkFileList
[10/12] Linking CSProgressPerformanceTests
[11/12] Applying CSProgressPerformanceTests
Build complete! (7.13s)
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.