The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of EventLimiter, reference 2.0.0 (7d7360), with Swift 6.1 for macOS (SPM) on 4 Oct 2025 07:39:40 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/baekteun/EventLimiter.git
Reference: 2.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/baekteun/EventLimiter
 * tag               2.0.0      -> FETCH_HEAD
HEAD is now at 7d73607 :recycle: :: action 클로저에 throws를 제거해서 throws동작은 do catch로 에러처리하도록 유도
Cloned https://github.com/baekteun/EventLimiter.git
Revision (git rev-parse @):
7d736079df813f84bb4c218f5efe665664041194
SUCCESS checkout https://github.com/baekteun/EventLimiter.git at 2.0.0
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/baekteun/EventLimiter.git
https://github.com/baekteun/EventLimiter.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "EventLimiter",
  "name" : "EventLimiter",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "EventLimiter",
      "targets" : [
        "EventLimiter"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "EventLimiterTests",
      "module_type" : "SwiftTarget",
      "name" : "EventLimiterTests",
      "path" : "Tests/EventLimiterTests",
      "sources" : [
        "DebouncerTests.swift",
        "ThrottlerTests.swift"
      ],
      "target_dependencies" : [
        "EventLimiter"
      ],
      "type" : "test"
    },
    {
      "c99name" : "EventLimiter",
      "module_type" : "SwiftTarget",
      "name" : "EventLimiter",
      "path" : "Sources/EventLimiter",
      "product_memberships" : [
        "EventLimiter"
      ],
      "sources" : [
        "Debouncer.swift",
        "Throttler.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/5] Emitting module EventLimiter
[4/5] Compiling EventLimiter Debouncer.swift
/Users/admin/builder/spi-builder-workspace/Sources/EventLimiter/Debouncer.swift:28:26: 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
26 |     func execute(action: @escaping () async -> Void) {
27 |         self.task?.cancel()
28 |         self.task = Task { [dueTime] 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
29 |             do {
30 |                 try await Task.sleep(nanoseconds: dueTime)
   :
33 |             }
34 |             guard !Task.isCancelled else { return }
35 |             await action()
   |                   `- note: closure captures 'action' which is accessible to code in the current task
36 |         }
37 |     }
[5/5] Compiling EventLimiter Throttler.swift
/Users/admin/builder/spi-builder-workspace/Sources/EventLimiter/Throttler.swift:40: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
38 |         guard self.task?.isCancelled ?? true else { return }
39 |
40 |         Task {
   |              `- 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
41 |             await action()
   |                   `- note: closure captures 'action' which is accessible to code in the current task
42 |         }
43 |         self.action = nil
/Users/admin/builder/spi-builder-workspace/Sources/EventLimiter/Throttler.swift:45:26: 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
43 |         self.action = nil
44 |
45 |         self.task = 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
46 |             guard let self else { return }
   |                       `- note: closure captures 'self' which is accessible to code in the current task
47 |             defer {
48 |                 self.action = nil
Build complete! (3.82s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "EventLimiter",
  "name" : "EventLimiter",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "watchos",
      "version" : "6.0"
    }
  ],
  "products" : [
    {
      "name" : "EventLimiter",
      "targets" : [
        "EventLimiter"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "EventLimiterTests",
      "module_type" : "SwiftTarget",
      "name" : "EventLimiterTests",
      "path" : "Tests/EventLimiterTests",
      "sources" : [
        "DebouncerTests.swift",
        "ThrottlerTests.swift"
      ],
      "target_dependencies" : [
        "EventLimiter"
      ],
      "type" : "test"
    },
    {
      "c99name" : "EventLimiter",
      "module_type" : "SwiftTarget",
      "name" : "EventLimiter",
      "path" : "Sources/EventLimiter",
      "product_memberships" : [
        "EventLimiter"
      ],
      "sources" : [
        "Debouncer.swift",
        "Throttler.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
Done.