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 VimTerminalKit, reference v1.0.2 (100d23), with Swift 6.0 for macOS (SPM) on 31 Oct 2024 13:49:29 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/marcusziade/VimTerminalKit.git
Reference: v1.0.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/marcusziade/VimTerminalKit
 * tag               v1.0.2     -> FETCH_HEAD
HEAD is now at 100d235 Update README.md
Cloned https://github.com/marcusziade/VimTerminalKit.git
Revision (git rev-parse @):
100d235f6d3dde84efc90a46849f6e0268a689a7
SUCCESS checkout https://github.com/marcusziade/VimTerminalKit.git at v1.0.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": "vimterminalkit",
      "name": "VimTerminalKit",
      "url": "https://github.com/marcusziade/VimTerminalKit.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/VimTerminalKit",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/marcusziade/VimTerminalKit.git
[1/61] Fetching vimterminalkit
Fetched https://github.com/marcusziade/VimTerminalKit.git from cache (0.68s)
Creating working copy for https://github.com/marcusziade/VimTerminalKit.git
Working copy of https://github.com/marcusziade/VimTerminalKit.git resolved at v1.0.2 (100d235)
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/marcusziade/VimTerminalKit.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 FileExplorer-entitlement.plist
[3/7] Write swift-version--7754E27361AE5C74.txt
[5/16] Compiling VimTerminalKit VimTerminalKit.swift
[6/16] Compiling VimTerminalKit Direction.swift
[7/16] Emitting module VimTerminalKit
[8/16] Compiling VimTerminalKit InputType.swift
[9/16] Compiling VimTerminalKit LoadingAnimation.swift
/Users/admin/builder/spi-builder-workspace/Sources/VimTerminalKit/LoadingAnimation.swift:74:34: warning: capture of 'self' with non-sendable type 'VimTerminalKit.LoadingAnimator?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
30 |     /// animator.stop()
31 |     /// ```
32 |     final class LoadingAnimator {
   |                 `- note: class 'LoadingAnimator' does not conform to the 'Sendable' protocol
33 |         /// The collection of animation frames to cycle through.
34 |         private let frames: [String]
   :
72 |             animationQueue = DispatchQueue(label: "com.vimterminalkit.loading")
73 |             animationQueue?.async { [weak self] in
74 |                 guard let self = self else { return }
   |                                  `- warning: capture of 'self' with non-sendable type 'VimTerminalKit.LoadingAnimator?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
75 |                 while self.isRunning {
76 |                     let newMessage = "\(self.initialMessage) \(self.frames[self.animationFrame])"
[10/16] Compiling VimTerminalKit StateManager.swift
[11/16] Compiling VimTerminalKit Navigator.swift
[12/16] Compiling VimTerminalKit InputReader.swift
[13/16] Compiling VimTerminalKit Terminal.swift
[14/18] Compiling FileExplorer FileExplorer.swift
/Users/admin/builder/spi-builder-workspace/Sources/FileExplorer/FileExplorer.swift:64:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 62 |
 63 |     private func loadCurrentDirectory() {
 64 |         Task { [weak self] in
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 65 |             guard let self else { return }
    |                       `- note: closure captures 'self' which is accessible to code in the current task
 66 |             try await self.stateManager.withLoading(message: "Loading directory contents...") {
 67 |                 let contents = try self.fileManager.contentsOfDirectory(atPath: self.currentPath)
[15/18] Emitting module FileExplorer
[15/18] Write Objects.LinkFileList
[16/18] Linking FileExplorer
[17/18] Applying FileExplorer
Build complete! (12.11s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "VimTerminalKit",
  "name" : "VimTerminalKit",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "13.0"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    },
    {
      "name" : "tvos",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "VimTerminalKit",
      "targets" : [
        "VimTerminalKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "FileExplorer",
      "targets" : [
        "FileExplorer"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "VimTerminalKitTests",
      "module_type" : "SwiftTarget",
      "name" : "VimTerminalKitTests",
      "path" : "Tests/VimTerminalKitTests",
      "sources" : [
        "LoadingAnimatorTests.swift",
        "NavigatorTests.swift",
        "StateManagerTests.swift",
        "TerminalControlTests.swift"
      ],
      "target_dependencies" : [
        "VimTerminalKit"
      ],
      "type" : "test"
    },
    {
      "c99name" : "VimTerminalKit",
      "module_type" : "SwiftTarget",
      "name" : "VimTerminalKit",
      "path" : "Sources/VimTerminalKit",
      "product_memberships" : [
        "VimTerminalKit",
        "FileExplorer"
      ],
      "sources" : [
        "Direction.swift",
        "InputReader.swift",
        "InputType.swift",
        "LoadingAnimation.swift",
        "Navigator.swift",
        "StateManager.swift",
        "Terminal.swift",
        "VimTerminalKit.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "FileExplorer",
      "module_type" : "SwiftTarget",
      "name" : "FileExplorer",
      "path" : "Sources/FileExplorer",
      "product_memberships" : [
        "FileExplorer"
      ],
      "sources" : [
        "FileExplorer.swift"
      ],
      "target_dependencies" : [
        "VimTerminalKit"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.7"
}
Done.