The Swift Package Index logo.Swift Package Index

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.