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 master (c83b2d), with Swift 6.0 for macOS (SPM) on 1 Nov 2024 15:18:44 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: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/marcusziade/VimTerminalKit
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at c83b2d6 Create swift.yml
Cloned https://github.com/marcusziade/VimTerminalKit.git
Revision (git rev-parse @):
c83b2d6b068d02b3cc579d918919fa55a5cd9f00
SUCCESS checkout https://github.com/marcusziade/VimTerminalKit.git at master
========================================
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/73] Fetching vimterminalkit
Fetched https://github.com/marcusziade/VimTerminalKit.git from cache (0.67s)
Creating working copy for https://github.com/marcusziade/VimTerminalKit.git
Working copy of https://github.com/marcusziade/VimTerminalKit.git resolved at master (c83b2d6)
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 Terminal.swift
[6/16] Compiling VimTerminalKit Navigator.swift
[7/16] Compiling VimTerminalKit StateManager.swift
[8/16] Compiling VimTerminalKit VimTerminalKit.swift
[9/16] Compiling VimTerminalKit Direction.swift
[10/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])"
[11/16] Compiling VimTerminalKit InputReader.swift
[12/16] Emitting module VimTerminalKit
[13/16] Compiling VimTerminalKit InputType.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! (11.61s)
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.