The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Threading, reference 2.3.1 (caa15e), with Swift 6.3 for macOS (SPM) on 16 Apr 2026 19:51:40 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NikSativa/Threading.git
Reference: 2.3.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/NikSativa/Threading
 * tag               2.3.1      -> FETCH_HEAD
HEAD is now at caa15e9 Fix Swift 6.0 compiler crash: gate SyncMutex on compiler(>=6.0), fix supportsVisionOS platform guard
Cloned https://github.com/NikSativa/Threading.git
Revision (git rev-parse @):
caa15e9fd87afa34d3b13ed9f0639847ce5a0abf
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/NikSativa/Threading.git at 2.3.1
========================================
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",
  "traits": [
    "default"
  ],
  "dependencies": [
    {
      "identity": "threading",
      "name": "Threading",
      "url": "https://github.com/NikSativa/Threading.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Threading",
      "traits": [
        "default"
      ],
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/NikSativa/Threading.git
[1/507] Fetching threading
Fetched https://github.com/NikSativa/Threading.git from cache (0.68s)
Creating working copy for https://github.com/NikSativa/Threading.git
Working copy of https://github.com/NikSativa/Threading.git resolved at 2.3.1 (caa15e9)
warning: '.resolve-product-dependencies': dependency 'threading' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.3
Building package at path:  $PWD
https://github.com/NikSativa/Threading.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64
Building for debugging...
[0/7] Copying PrivacyInfo.xcprivacy
[1/7] Write sources
[2/7] Write swift-version--6988338F2F200930.txt
[4/30] Compiling Threading UnfairLock.swift
[5/30] Compiling Threading Locking.swift
[6/30] Compiling Threading MutexInitializable.swift
[7/30] Compiling Threading DispatchTime+Queue.swift
[8/30] Compiling Threading Queue+Queueable.swift
[9/30] Compiling Threading Mutexing.swift
/Users/admin/builder/spi-builder-workspace/Source/Mutexing.swift:45:10: warning: instance method requirement 'sync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 43 |     /// - Throws: Any error thrown by the closure.
 44 |     @discardableResult
 45 |     func sync<R, V>(_ body: @Sendable (inout V) throws -> R) rethrows -> R
    |          `- warning: instance method requirement 'sync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 46 |         where R: Sendable, V: Sendable, V == Value
 47 |
/Users/admin/builder/spi-builder-workspace/Source/Mutexing.swift:57:10: warning: instance method requirement 'trySync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 55 |     /// - Throws: Any error thrown by the closure.
 56 |     @discardableResult
 57 |     func trySync<R, V>(_ body: @Sendable (inout V) throws -> R) rethrows -> R?
    |          `- warning: instance method requirement 'trySync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 58 |         where R: Sendable, V: Sendable, V == Value
 59 |
[10/30] Compiling Threading DelayedQueue.swift
/Users/admin/builder/spi-builder-workspace/Source/Mutexing.swift:45:10: warning: instance method requirement 'sync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 43 |     /// - Throws: Any error thrown by the closure.
 44 |     @discardableResult
 45 |     func sync<R, V>(_ body: @Sendable (inout V) throws -> R) rethrows -> R
    |          `- warning: instance method requirement 'sync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 46 |         where R: Sendable, V: Sendable, V == Value
 47 |
/Users/admin/builder/spi-builder-workspace/Source/Mutexing.swift:57:10: warning: instance method requirement 'trySync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 55 |     /// - Throws: Any error thrown by the closure.
 56 |     @discardableResult
 57 |     func trySync<R, V>(_ body: @Sendable (inout V) throws -> R) rethrows -> R?
    |          `- warning: instance method requirement 'trySync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 58 |         where R: Sendable, V: Sendable, V == Value
 59 |
[11/32] Compiling Threading IsolatedMain.swift
[12/32] Compiling Threading NSLock.swift
[13/32] Compiling Threading NSRecursiveLock.swift
[14/32] Compiling Threading LockedValue.swift
[15/32] Compiling Threading OSAllocatedUnfairMutex.swift
[16/32] Compiling Threading QueueBarrier.swift
[17/32] Compiling Threading SyncMutex.swift
[18/32] Compiling Threading OSAllocatedUnfairLock.swift
[19/32] Compiling Threading PThread.swift
[20/32] Compiling Threading Semaphore.swift
[21/32] Compiling Threading Queue.swift
[22/32] Compiling Threading Queueable.swift
[23/32] Emitting module Threading
/Users/admin/builder/spi-builder-workspace/Source/Mutexing.swift:45:10: warning: instance method requirement 'sync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 43 |     /// - Throws: Any error thrown by the closure.
 44 |     @discardableResult
 45 |     func sync<R, V>(_ body: @Sendable (inout V) throws -> R) rethrows -> R
    |          `- warning: instance method requirement 'sync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 46 |         where R: Sendable, V: Sendable, V == Value
 47 |
/Users/admin/builder/spi-builder-workspace/Source/Mutexing.swift:57:10: warning: instance method requirement 'trySync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 55 |     /// - Throws: Any error thrown by the closure.
 56 |     @discardableResult
 57 |     func trySync<R, V>(_ body: @Sendable (inout V) throws -> R) rethrows -> R?
    |          `- warning: instance method requirement 'trySync' cannot add constraint 'Self.Value: Sendable' on 'Self'; this will be an error in a future Swift language mode
 58 |         where R: Sendable, V: Sendable, V == Value
 59 |
[24/32] Compiling Threading AnyLock.swift
[25/32] Compiling Threading AnyMutex.swift
[26/32] Compiling Threading AtomicValue.swift
[27/32] Compiling Threading USendable.swift
[28/32] Compiling Threading resource_bundle_accessor.swift
[28/32] Write Objects.LinkFileList
[30/32] Archiving libThreadingStatic.a
[31/32] Linking libThreadingDynamic.dylib
Build complete! (6.98s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Threading",
  "name" : "Threading",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "16.0"
    },
    {
      "name" : "macos",
      "version" : "14.0"
    },
    {
      "name" : "maccatalyst",
      "version" : "16.0"
    },
    {
      "name" : "tvos",
      "version" : "16.0"
    },
    {
      "name" : "watchos",
      "version" : "9.0"
    },
    {
      "name" : "visionos",
      "version" : "1.0"
    }
  ],
  "products" : [
    {
      "name" : "Threading",
      "targets" : [
        "Threading"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ThreadingStatic",
      "targets" : [
        "Threading"
      ],
      "type" : {
        "library" : [
          "static"
        ]
      }
    },
    {
      "name" : "ThreadingDynamic",
      "targets" : [
        "Threading"
      ],
      "type" : {
        "library" : [
          "dynamic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ThreadingTests",
      "module_type" : "SwiftTarget",
      "name" : "ThreadingTests",
      "path" : "Tests",
      "sources" : [
        "AtomicTests.swift",
        "AtomicUncheckedTests.swift",
        "DelayedQueueTests.swift",
        "DispatchTime_QueueTests.swift",
        "IsolatedMainTests.swift",
        "QueueTests.swift",
        "READMEExamplesTests.swift",
        "TestHelpers/DelayedQueue+TestHelper.swift",
        "TestHelpers/FakeQueueable.swift",
        "TestHelpers/Queue+TestHelper.swift"
      ],
      "target_dependencies" : [
        "Threading"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Threading",
      "module_type" : "SwiftTarget",
      "name" : "Threading",
      "path" : "Source",
      "product_memberships" : [
        "Threading",
        "ThreadingStatic",
        "ThreadingDynamic"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Source/PrivacyInfo.xcprivacy",
          "rule" : {
            "process" : {
            }
          }
        }
      ],
      "sources" : [
        "AnyLock.swift",
        "AnyMutex.swift",
        "AtomicValue.swift",
        "IsolatedMain.swift",
        "Lockers/NSLock.swift",
        "Lockers/NSRecursiveLock.swift",
        "Lockers/OSAllocatedUnfairLock.swift",
        "Lockers/PThread.swift",
        "Lockers/Semaphore.swift",
        "Lockers/UnfairLock.swift",
        "Locking.swift",
        "MutexInitializable.swift",
        "Mutexes/LockedValue.swift",
        "Mutexes/OSAllocatedUnfairMutex.swift",
        "Mutexes/QueueBarrier.swift",
        "Mutexes/SyncMutex.swift",
        "Mutexing.swift",
        "Queue/DelayedQueue.swift",
        "Queue/DispatchTime+Queue.swift",
        "Queue/Queue+Queueable.swift",
        "Queue/Queue.swift",
        "Queue/Queueable.swift",
        "USendable.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
✅  Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path:  $PWD/.docs/niksativa/threading/2.3.1
Repository:               NikSativa/Threading
Swift version used:       6.3
Target:                   Threading
Extracting symbol information for 'Threading'...
Finished extracting symbol information for 'Threading'. (29.59s)
Building documentation for 'Threading'...
warning: This documentation block is inherited by other symbols where 'lock()' fails to resolve.
   --> Source/AnyLock.swift:216:55-216:65
214 |     /// Releases the underlying lock, allowing other threads to acquire it.
215 |     ///
216 +     /// This method must be called after a successful ``lock()`` or ``tryLock()`` call to avoid deadlocks.
    |                                                       ╰─suggestion: Use an absolute link path.
217 |     ///
218 |     /// ### Example
warning: External name 'initialValue' used to document parameter
  --> Source/Mutexes/LockedValue.swift:60:21-60:33
58 |     /// Creates a locked value with a default recursive pthread lock.
59 |     ///
60 +     /// - Parameter initialValue: The initial value to protect.
   |                     ╰─suggestion: Replace 'initialValue' with 'value'
61 |     public convenience init(initialValue value: Value) {
62 |         self.init(initialValue: value, lock: AnyLock.pthread(.recursive))
warning: External name 'initialValue' used to document parameter
  --> Source/Mutexes/OSAllocatedUnfairMutex.swift:33:21-33:33
31 |     /// Creates a new mutex-protected container with the specified initial value.
32 |     ///
33 +     /// - Parameter initialValue: The value to protect with the system-managed unfair lock.
   |                     ╰─suggestion: Replace 'initialValue' with 'value'
34 |     ///
35 |     /// ### Example
warning: Return value documented for instance method returning void
  --> Source/Queue/Queueable.swift:63:9-63:46
61 |     /// - Parameter workItem: A closure that may throw an error.
62 |     /// - Throws: An error thrown by the closure.
63 +     /// - Returns: The result of the closure.
   |         ╰─suggestion: Remove return value documentation
64 |     func sync(execute workItem: () throws -> Void) rethrows
65 |
warning: Return value documented for instance method returning void
  --> Source/Queue/Queueable.swift:63:9-63:46
61 |     /// - Parameter workItem: A closure that may throw an error.
62 |     /// - Throws: An error thrown by the closure.
63 +     /// - Returns: The result of the closure.
   |         ╰─suggestion: Remove return value documentation
64 |     func sync(execute workItem: () throws -> Void) rethrows
65 |
warning: Parameter 'flags' is missing documentation
  --> Source/Queue/Queueable.swift:83:50-83:50
81 |     /// Executes a closure synchronously on the queue and returns a result.
82 |     ///
83 +     /// - Parameter work: The closure to execute.
   |         ╰─suggestion: Document 'flags' parameter
84 |     /// - Returns: The result of the closure.
85 |     func sync<T>(flags: Queue.Flags, execute work: () -> T) -> T
warning: Parameter 'flags' is missing documentation
  --> Source/Queue/Queueable.swift:83:50-83:50
81 |     /// Executes a closure synchronously on the queue and returns a result.
82 |     ///
83 +     /// - Parameter work: The closure to execute.
   |         ╰─suggestion: Document 'flags' parameter
84 |     /// - Returns: The result of the closure.
85 |     func sync<T>(flags: Queue.Flags, execute work: () -> T) -> T
Finished building documentation for 'Threading' (0.78s)
Generated documentation archive at:
  /Users/admin/builder/spi-builder-workspace/.docs/niksativa/threading/2.3.1
Fetching https://github.com/swiftlang/swift-docc-plugin
[1/2277] Fetching swift-docc-plugin
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (1.22s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.6 (3.50s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit
[1/3672] Fetching swift-docc-symbolkit
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.17s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.92s)
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.6
Building for debugging...
[0/8] Write sources
[1/8] Write snippet-extract-tool-entitlement.plist
[3/8] Write sources
[4/8] Write swift-version--6988338F2F200930.txt
[6/53] Emitting module SymbolKit
[7/57] Emitting module Snippets
[8/57] Compiling Snippets SnippetParser.swift
[9/57] Compiling Snippets Snippet.swift
[10/57] Compiling SymbolKit Names.swift
[11/57] Compiling SymbolKit SPI.swift
[12/57] Compiling SymbolKit Snippet.swift
[13/57] Compiling SymbolKit Extension.swift
[14/57] Compiling SymbolKit Relationship.swift
[15/57] Compiling SymbolKit RelationshipKind.swift
[16/57] Compiling SymbolKit SourceOrigin.swift
[17/57] Compiling SymbolKit GenericConstraints.swift
[18/57] Compiling SymbolKit Swift.swift
[19/57] Compiling SymbolKit GenericConstraint.swift
[20/57] Compiling SymbolKit GenericParameter.swift
[21/57] Compiling SymbolKit Generics.swift
[22/57] Compiling SymbolKit Namespace.swift
[23/57] Compiling SymbolKit Symbol.swift
[24/57] Compiling SymbolKit SymbolKind.swift
[25/57] Compiling SymbolKit SymbolGraph.swift
[26/57] Compiling SymbolKit GraphCollector.swift
[27/57] Compiling SymbolKit SemanticVersion.swift
[28/57] Compiling SymbolKit AccessControl.swift
[29/57] Compiling SymbolKit Availability.swift
[30/57] Compiling SymbolKit AvailabilityItem.swift
[31/57] Compiling SymbolKit Domain.swift
[32/57] Compiling SymbolKit DeclarationFragments.swift
[33/57] Compiling SymbolKit Fragment.swift
[34/57] Compiling SymbolKit FragmentKind.swift
[35/57] Compiling SymbolKit FunctionParameter.swift
[36/57] Compiling SymbolKit FunctionSignature.swift
[37/57] Compiling SymbolKit Identifier.swift
[38/57] Compiling SymbolKit KindIdentifier.swift
[39/57] Compiling SymbolKit Location.swift
[40/57] Compiling SymbolKit Mutability.swift
[41/57] Compiling SymbolKit SourceRange.swift
[42/57] Compiling SymbolKit Metadata.swift
[43/57] Compiling SymbolKit Module.swift
[44/57] Compiling SymbolKit OperatingSystem.swift
[45/57] Compiling SymbolKit Platform.swift
[46/57] Compiling SymbolKit Mixin+Equals.swift
[47/57] Compiling SymbolKit Mixin+Hash.swift
[48/57] Compiling SymbolKit Mixin.swift
[49/57] Compiling SymbolKit LineList.swift
[50/57] Compiling SymbolKit Position.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 URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (3.91s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'Threading' complete! (0.32s)
     802
6	/Users/admin/builder/spi-builder-workspace/.docs/niksativa/threading/2.3.1
✅  Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/niksativa/threading/2.3.1
File count: 802
Doc size:   6.0MB
Preparing doc bundle ...
Uploading prod-niksativa-threading-2.3.1-ec3dd0f9.zip to s3://spi-docs-inbox/prod-niksativa-threading-2.3.1-ec3dd0f9.zip
Copying... [15%]
Copying... [25%]
Copying... [35%]
Copying... [44%]
Copying... [54%]
Copying... [64%]
Copying... [74%]
Copying... [84%]
Copying... [94%]
Copying... [100%]
Done.