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 SwiftKit 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/wendyliga/SwiftKit.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/wendyliga/SwiftKit
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at cd4ab8d Fix Shell (#16)
Cloned https://github.com/wendyliga/SwiftKit.git
Revision (git rev-parse @):
cd4ab8d71b82209b774004954451517e565575bf
SUCCESS checkout https://github.com/wendyliga/SwiftKit.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/wendyliga/SwiftKit.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/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/12] Compiling SwiftKit NonEmpty.swift
[4/12] Compiling SwiftKit String+Extension.swift
[5/12] Compiling SwiftKit DefaultValue.swift
[6/12] Compiling SwiftKit Result+Extension.swift
[7/12] Compiling SwiftKit Array+Extension.swift
[8/12] Compiling SwiftKit Log.swift
[9/12] Compiling SwiftKit Deprecated.swift
[10/12] Compiling SwiftKit Error.swift
[11/12] Emitting module SwiftKit
[12/12] Compiling SwiftKit Traceable.swift
[13/13] Compiling SwiftKit Shell.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKit/Shell.swift:75:21: warning: capture of 'result' with non-sendable type '(Shell.ResultStream) -> Void' (aka '((output: Optional<String>, errorOuput: Optional<String>)) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 73 |             if data.count > 0 {
 74 |                 if let output = String(data: data, encoding: String.Encoding.utf8) {
 75 |                     result((output: output.trim(), errorOuput: nil))
    |                     |- warning: capture of 'result' with non-sendable type '(Shell.ResultStream) -> Void' (aka '((output: Optional<String>, errorOuput: Optional<String>)) -> ()') 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'
 76 |                 }
 77 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKit/Shell.swift:81:59: warning: capture of 'stdOutObserver' with non-sendable type '(any NSObjectProtocol)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 79 |             } else {
 80 |                 // That means we've reached the end of the input.
 81 |                 NotificationCenter.default.removeObserver(stdOutObserver!)
    |                                                           `- warning: capture of 'stdOutObserver' with non-sendable type '(any NSObjectProtocol)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 82 |             }
 83 |         }
ObjectiveC.NSObjectProtocol:1:17: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
 1 | public protocol NSObjectProtocol {
   |                 `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
 2 |     func isEqual(_ object: Any?) -> Bool
 3 |     var hash: Int { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKit/Shell.swift:25:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
 23 |  */
 24 |
 25 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
 26 |
 27 | public enum Shell {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKit/Shell.swift:81:59: warning: reference to captured var 'stdOutObserver' in concurrently-executing code; this is an error in the Swift 6 language mode
 79 |             } else {
 80 |                 // That means we've reached the end of the input.
 81 |                 NotificationCenter.default.removeObserver(stdOutObserver!)
    |                                                           `- warning: reference to captured var 'stdOutObserver' in concurrently-executing code; this is an error in the Swift 6 language mode
 82 |             }
 83 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKit/Shell.swift:95:21: warning: capture of 'result' with non-sendable type '(Shell.ResultStream) -> Void' (aka '((output: Optional<String>, errorOuput: Optional<String>)) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 93 |             if data.count > 0 {
 94 |                 if let output = String(data: data, encoding: String.Encoding.utf8) {
 95 |                     result((output: nil, errorOuput: output.trim()))
    |                     |- warning: capture of 'result' with non-sendable type '(Shell.ResultStream) -> Void' (aka '((output: Optional<String>, errorOuput: Optional<String>)) -> ()') 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'
 96 |                 }
 97 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKit/Shell.swift:101:59: warning: capture of 'stdErrObserver' with non-sendable type '(any NSObjectProtocol)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 99 |             } else {
100 |                 // That means we've reached the end of the input.
101 |                 NotificationCenter.default.removeObserver(stdErrObserver!)
    |                                                           `- warning: capture of 'stdErrObserver' with non-sendable type '(any NSObjectProtocol)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
102 |             }
103 |         }
ObjectiveC.NSObjectProtocol:1:17: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
 1 | public protocol NSObjectProtocol {
   |                 `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
 2 |     func isEqual(_ object: Any?) -> Bool
 3 |     var hash: Int { get }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKit/Shell.swift:101:59: warning: reference to captured var 'stdErrObserver' in concurrently-executing code; this is an error in the Swift 6 language mode
 99 |             } else {
100 |                 // That means we've reached the end of the input.
101 |                 NotificationCenter.default.removeObserver(stdErrObserver!)
    |                                                           `- warning: reference to captured var 'stdErrObserver' in concurrently-executing code; this is an error in the Swift 6 language mode
102 |             }
103 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKit/Shell.swift:66:24: warning: 'stdOutObserver' mutated after capture by sendable closure
 64 |         // set listener
 65 |         var stdOutObserver: NSObjectProtocol!
 66 |         stdOutObserver = NotificationCenter.default.addObserver(
    |                        `- warning: 'stdOutObserver' mutated after capture by sendable closure
 67 |             forName: NSNotification.Name.NSFileHandleDataAvailable,
 68 |             object: stdOutReading,
/Users/admin/builder/spi-builder-workspace/Sources/SwiftKit/Shell.swift:86:24: warning: 'stdErrObserver' mutated after capture by sendable closure
 84 |
 85 |         var stdErrObserver: NSObjectProtocol!
 86 |         stdErrObserver = NotificationCenter.default.addObserver(
    |                        `- warning: 'stdErrObserver' mutated after capture by sendable closure
 87 |             forName: NSNotification.Name.NSFileHandleDataAvailable,
 88 |             object: stdErrReading,
Build complete! (22.41s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftKit",
  "name" : "SwiftKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "SwiftKit",
      "targets" : [
        "SwiftKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftKitTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftKitTests",
      "path" : "Tests/SwiftKitTests",
      "sources" : [
        "Array+Tests.swift",
        "DefaultValue+Tests.swift",
        "NonEmpty+Tests.swift",
        "Result+Tests.swift",
        "String+Tests.swift",
        "Traceable+Tests.swift",
        "XCTestManifests.swift"
      ],
      "target_dependencies" : [
        "SwiftKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftKit",
      "module_type" : "SwiftTarget",
      "name" : "SwiftKit",
      "path" : "Sources/SwiftKit",
      "product_memberships" : [
        "SwiftKit"
      ],
      "sources" : [
        "Deprecated.swift",
        "Error.swift",
        "Extensions/Array+Extension.swift",
        "Extensions/Result+Extension.swift",
        "Extensions/String+Extension.swift",
        "Log.swift",
        "PropertyWrapper/DefaultValue.swift",
        "PropertyWrapper/NonEmpty.swift",
        "PropertyWrapper/Traceable.swift",
        "Shell.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.