Build Information
Successful build of Threading, reference main (41ebb8), with Swift 6.3 for macOS (SPM) on 16 Apr 2026 19:39:45 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/NikSativa/Threading.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/NikSativa/Threading
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 41ebb8e Fix Swift 6.0 compiler crash: gate SyncMutex on compiler(>=6.0), fix supportsVisionOS platform guard + Android support
Cloned https://github.com/NikSativa/Threading.git
Revision (git rev-parse @):
41ebb8ea5142d73017630d1b2a7f1e4e4ffa3356
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/NikSativa/Threading.git at main
========================================
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.73s)
Creating working copy for https://github.com/NikSativa/Threading.git
Working copy of https://github.com/NikSativa/Threading.git resolved at main (41ebb8e)
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 DispatchTime+Queue.swift
[5/30] Compiling Threading Queue+Queueable.swift
[6/32] Compiling Threading Queue.swift
[7/32] Compiling Threading Queueable.swift
[8/32] Compiling Threading QueueBarrier.swift
[9/32] Compiling Threading SyncMutex.swift
[10/32] 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 |
[11/32] 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 |
[12/32] Compiling Threading OSAllocatedUnfairLock.swift
[13/32] Compiling Threading PThread.swift
[14/32] Compiling Threading Semaphore.swift
[15/32] Compiling Threading LockedValue.swift
[16/32] Compiling Threading OSAllocatedUnfairMutex.swift
[17/32] Compiling Threading UnfairLock.swift
[18/32] Compiling Threading Locking.swift
[19/32] Compiling Threading MutexInitializable.swift
[20/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 |
[21/32] Compiling Threading IsolatedMain.swift
[22/32] Compiling Threading NSLock.swift
[23/32] Compiling Threading NSRecursiveLock.swift
[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.90s)
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/main
Repository: NikSativa/Threading
Swift version used: 6.3
Target: Threading
Extracting symbol information for 'Threading'...
Finished extracting symbol information for 'Threading'. (29.26s)
Building documentation for 'Threading'...
warning: This documentation block is inherited by other symbols where 'lock()' fails to resolve.
--> Source/AnyLock.swift:218:55-218:65
216 | /// Releases the underlying lock, allowing other threads to acquire it.
217 | ///
218 + /// This method must be called after a successful ``lock()`` or ``tryLock()`` call to avoid deadlocks.
| ╰─suggestion: Use an absolute link path.
219 | ///
220 | /// ### 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.83s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/niksativa/threading/main
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.16s)
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.20s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (2.03s)
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
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
Building for debugging...
[0/8] Write sources
[1/8] Write snippet-extract-tool-entitlement.plist
[1/8] Write sources
[4/8] Write swift-version--6988338F2F200930.txt
[6/53] Compiling Snippets Snippet.swift
[7/53] Compiling Snippets SnippetParser.swift
[8/53] Emitting module Snippets
[9/53] Compiling SymbolKit SemanticVersion.swift
[10/53] Compiling SymbolKit AccessControl.swift
[11/53] Compiling SymbolKit Availability.swift
[12/53] Compiling SymbolKit AvailabilityItem.swift
[13/53] Compiling SymbolKit Domain.swift
[14/57] Compiling SymbolKit DeclarationFragments.swift
[15/57] Compiling SymbolKit Fragment.swift
[16/57] Compiling SymbolKit FragmentKind.swift
[17/57] Compiling SymbolKit FunctionParameter.swift
[18/57] Compiling SymbolKit FunctionSignature.swift
[19/57] Compiling SymbolKit Identifier.swift
[20/57] Compiling SymbolKit KindIdentifier.swift
[21/57] Compiling SymbolKit Location.swift
[22/57] Compiling SymbolKit Mutability.swift
[23/57] Compiling SymbolKit Names.swift
[24/57] Compiling SymbolKit SPI.swift
[25/57] Compiling SymbolKit Snippet.swift
[26/57] Compiling SymbolKit Extension.swift
[27/57] Compiling SymbolKit GenericConstraint.swift
[28/57] Compiling SymbolKit GenericParameter.swift
[29/57] Compiling SymbolKit Generics.swift
[30/57] Compiling SymbolKit Namespace.swift
[31/57] Compiling SymbolKit Symbol.swift
[32/57] Compiling SymbolKit SymbolKind.swift
[33/57] Compiling SymbolKit SymbolGraph.swift
[34/57] Compiling SymbolKit GraphCollector.swift
[35/57] Emitting module SymbolKit
[36/57] Compiling SymbolKit SourceRange.swift
[37/57] Compiling SymbolKit Metadata.swift
[38/57] Compiling SymbolKit Module.swift
[39/57] Compiling SymbolKit OperatingSystem.swift
[40/57] Compiling SymbolKit Platform.swift
[41/57] Compiling SymbolKit Mixin+Equals.swift
[42/57] Compiling SymbolKit Mixin+Hash.swift
[43/57] Compiling SymbolKit Mixin.swift
[44/57] Compiling SymbolKit LineList.swift
[45/57] Compiling SymbolKit Position.swift
[46/57] Compiling SymbolKit Relationship.swift
[47/57] Compiling SymbolKit RelationshipKind.swift
[48/57] Compiling SymbolKit SourceOrigin.swift
[49/57] Compiling SymbolKit GenericConstraints.swift
[50/57] Compiling SymbolKit Swift.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 SnippetBuildCommand.swift
[57/61] Emitting module snippet_extract
[58/61] Compiling snippet_extract SymbolGraph+Snippet.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.97s)
Building for debugging...
[0/1] Write swift-version--6988338F2F200930.txt
Build of target: 'Threading' complete! (0.26s)
802
6 /Users/admin/builder/spi-builder-workspace/.docs/niksativa/threading/main
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/niksativa/threading/main
File count: 802
Doc size: 6.0MB
Preparing doc bundle ...
Uploading prod-niksativa-threading-main-edad98ce.zip to s3://spi-docs-inbox/prod-niksativa-threading-main-edad98ce.zip
Copying... [15%]
Copying... [25%]
Copying... [35%]
Copying... [45%]
Copying... [54%]
Copying... [64%]
Copying... [74%]
Copying... [84%]
Copying... [94%]
Copying... [100%]
Done.