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 debounced-closure, reference 1.2.0 (407647), with Swift 6.0 for macOS (SPM) on 3 Nov 2024 19:05:42 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/aleksproger/debounced-closure.git
Reference: 1.2.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/aleksproger/debounced-closure
 * tag               1.2.0      -> FETCH_HEAD
HEAD is now at 4076476 Merge pull request #2 from aleksproger/update-readme
Cloned https://github.com/aleksproger/debounced-closure.git
Revision (git rev-parse @):
40764766645311b3b69d59448fe3af951ab53671
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/aleksproger/debounced-closure.git at 1.2.0
========================================
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": "debounced-closure",
      "name": "debounced-closure",
      "url": "https://github.com/aleksproger/debounced-closure.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/debounced-closure",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/aleksproger/debounced-closure.git
[1/31] Fetching debounced-closure
Fetched https://github.com/aleksproger/debounced-closure.git from cache (0.67s)
Creating working copy for https://github.com/aleksproger/debounced-closure.git
Working copy of https://github.com/aleksproger/debounced-closure.git resolved at 1.2.0 (4076476)
warning: '.resolve-product-dependencies': dependency 'debounced-closure' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/aleksproger/debounced-closure.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/2] Write sources
[1/2] Write swift-version--7754E27361AE5C74.txt
[3/7] Compiling DebouncedClosure debounced.swift
/Users/admin/builder/spi-builder-workspace/Sources/debounced.swift:25:17: warning: capture of 'block' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 23 |             Timer.scheduledTimer(withTimeInterval: interval, repeats: false) { timer in
 24 |                 timer.invalidate()
 25 |                 block()
    |                 |- warning: capture of 'block' with non-sendable type '() -> Void' 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'
 26 |             }
 27 |         }
/Users/admin/builder/spi-builder-workspace/Sources/debounced.swift:57:17: warning: capture of 'block' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 55 |             ) { timer in
 56 |                 timer.invalidate()
 57 |                 block()
    |                 |- warning: capture of 'block' with non-sendable type '() -> Void' 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'
 58 |             }
 59 |         }
[4/7] Compiling DebouncedClosure Scheduler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Scheduler.swift:30:21: warning: capture of 'block' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
28 |                 Timer.scheduledTimer(withTimeInterval: Double(interval.components.attoseconds) / attosecondsInSecond, repeats: false) { timer in
29 |                     timer.invalidate()
30 |                     block()
   |                     |- warning: capture of 'block' with non-sendable type '() -> Void' 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'
31 |                 }
32 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Scheduler.swift:35:22: 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
33 |         case let .task(interval, handleError):
34 |             { block in
35 |                 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
36 |                     do { try await Task.sleep(for: interval) }
37 |                     catch { handleError?(error) }
   |                             `- note: closure captures 'handleError' which is accessible to code in the current task
38 |                     guard !Task.isCancelled else { return }
39 |                     block()
[5/7] Compiling DebouncedClosure DebouncedClosure.swift
[6/7] Emitting module DebouncedClosure
[7/7] Compiling DebouncedClosure Examples.swift
Build complete! (13.58s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "debounced-closure",
  "name" : "debounced-closure",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "7.0"
    }
  ],
  "products" : [
    {
      "name" : "DebouncedClosure",
      "targets" : [
        "DebouncedClosure"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "UnitTests",
      "module_type" : "SwiftTarget",
      "name" : "UnitTests",
      "path" : "Tests/UnitTests",
      "sources" : [
        "DebouncedClosureUnitTests.swift"
      ],
      "target_dependencies" : [
        "DebouncedClosure"
      ],
      "type" : "test"
    },
    {
      "c99name" : "IntegrationTests",
      "module_type" : "SwiftTarget",
      "name" : "IntegrationTests",
      "path" : "Tests/IntegrationTests",
      "sources" : [
        "DebouncedClosureIntegrationTests.swift"
      ],
      "target_dependencies" : [
        "DebouncedClosure"
      ],
      "type" : "test"
    },
    {
      "c99name" : "DebouncedClosure",
      "module_type" : "SwiftTarget",
      "name" : "DebouncedClosure",
      "path" : "Sources",
      "product_memberships" : [
        "DebouncedClosure"
      ],
      "sources" : [
        "DebouncedClosure.swift",
        "Examples.swift",
        "Scheduler.swift",
        "debounced.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.9"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/aleksproger/debounced-closure/1.2.0
Repository:               aleksproger/debounced-closure
Swift version used:       6.0
Target:                   DebouncedClosure
Extracting symbol information for 'DebouncedClosure'...
Finished extracting symbol information for 'DebouncedClosure'. (4.74s)
Building documentation for 'DebouncedClosure'...
warning: Parameter 'interval' not found in function declaration
   --> Sources/debounced.swift:99:7-99:184
97  | /// - Parameters:
98  | ///   - closure: A closure to apply debounce logic at.
99  + ///   - interval: An interval to debounce in seconds. The call to the closure won't be performed until the interval passes, if some more calls made during the interval - timer resets.
    |       ╰─suggestion: Remove 'interval' parameter documentation
100 | ///   - makeAndStartTimer: Allows the client to provide specific setup for the timer used to trigger the closure on interval expiration. Only for advanced users.
101 | public func debounced<T>(Finished building documentation for 'DebouncedClosure' (0.13s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/aleksproger/debounced-closure/1.2.0
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2038] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.32s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (2.73s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3153] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.25s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.65s)
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Building for debugging...
[0/8] Write sources
[3/8] Write snippet-extract-tool-entitlement.plist
[4/8] Write swift-version--7754E27361AE5C74.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling SymbolKit GenericConstraint.swift
[8/57] Compiling SymbolKit GenericParameter.swift
[9/57] Compiling SymbolKit Generics.swift
[10/57] Compiling SymbolKit Namespace.swift
[11/57] Compiling SymbolKit SourceRange.swift
[12/57] Compiling SymbolKit Metadata.swift
[13/57] Compiling SymbolKit Module.swift
[14/57] Compiling SymbolKit OperatingSystem.swift
[15/57] Compiling SymbolKit Platform.swift
[16/57] Compiling SymbolKit Names.swift
[17/57] Compiling SymbolKit SPI.swift
[18/57] Compiling SymbolKit Snippet.swift
[19/57] Compiling SymbolKit Extension.swift
[20/57] Compiling SymbolKit Mixin+Equals.swift
[21/57] Compiling SymbolKit Mixin+Hash.swift
[22/57] Compiling SymbolKit Mixin.swift
[23/57] Compiling SymbolKit LineList.swift
[24/57] Compiling SymbolKit Position.swift
[25/57] Compiling SymbolKit DeclarationFragments.swift
[26/57] Compiling SymbolKit Fragment.swift
[27/57] Compiling SymbolKit FragmentKind.swift
[28/57] Compiling SymbolKit FunctionParameter.swift
[29/57] Compiling SymbolKit FunctionSignature.swift
[30/57] Compiling SymbolKit Identifier.swift
[31/57] Compiling SymbolKit KindIdentifier.swift
[32/57] Compiling SymbolKit Location.swift
[33/57] Compiling SymbolKit Mutability.swift
[34/57] Compiling SymbolKit Relationship.swift
[35/57] Compiling SymbolKit RelationshipKind.swift
[36/57] Compiling SymbolKit SourceOrigin.swift
[37/57] Compiling SymbolKit GenericConstraints.swift
[38/57] Compiling SymbolKit Swift.swift
[39/57] Compiling SymbolKit Symbol.swift
[40/57] Compiling SymbolKit SymbolKind.swift
[41/57] Compiling SymbolKit SymbolGraph.swift
[42/57] Compiling SymbolKit GraphCollector.swift
[43/57] Compiling Snippets Snippet.swift
[44/57] Emitting module Snippets
[45/57] Compiling Snippets SnippetParser.swift
[46/57] Compiling SymbolKit SemanticVersion.swift
[47/57] Compiling SymbolKit AccessControl.swift
[48/57] Compiling SymbolKit Availability.swift
[49/57] Compiling SymbolKit AvailabilityItem.swift
[50/57] Compiling SymbolKit Domain.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[56/61] Compiling snippet_extract URL+Status.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.53s)
Building for debugging...
[0/1] Write swift-version--7754E27361AE5C74.txt
[2/6] Compiling DebouncedClosure debounced.swift
[3/6] Compiling DebouncedClosure Scheduler.swift
[4/6] Compiling DebouncedClosure DebouncedClosure.swift
[5/6] Compiling DebouncedClosure Examples.swift
[6/6] Emitting module DebouncedClosure
Build of target: 'DebouncedClosure' complete! (0.71s)
      80
2	/Users/admin/builder/spi-builder-workspace/.docs/aleksproger/debounced-closure/1.2.0
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/aleksproger/debounced-closure/1.2.0
File count: 80
Doc size:   2.0MB
Preparing doc bundle ...
Uploading prod-aleksproger-debounced-closure-1.2.0-e39ad695.zip to s3://spi-docs-inbox/prod-aleksproger-debounced-closure-1.2.0-e39ad695.zip
Copying... [19%]
Copying... [38%]
Copying... [56%]
Copying... [75%]
Copying... [94%]
Copying... [100%]
Done.