Build Information
Successful build of BCrypt, reference 1.1.1 (a36b6f), with Swift 6.4 for macOS (SPM) on 20 Sep 2026 05:05:34 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/vapor-community/bcrypt.git
Reference: 1.1.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/vapor-community/bcrypt
* tag 1.1.1 -> FETCH_HEAD
HEAD is now at a36b6f0 Merge pull request #7 from rpinz/warnings
Cloned https://github.com/vapor-community/bcrypt.git
Revision (git rev-parse @):
a36b6f0381f2edb9fb32b8882ebc801ba8db10ef
SUCCESS checkout https://github.com/vapor-community/bcrypt.git at 1.1.1
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.4
Building package at path: $PWD
https://github.com/vapor-community/bcrypt.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-27.0.0-Release.Candidate.app xcrun swift build --arch arm64
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 215]
[Planning deferred tasks]
[49 / 98]
[63 / 116] Bits
[63 / 116] Debugging
[66 / 116] Debugging
[80 / 116] Debugging-product
[83 / 116] Bits
[97 / 128] Core
[102 / 128] Core
[107 / 128] Core
[112 / 136] Random
[116 / 136] Random
[125 / 147] BCrypt
[126 / 147] BCrypt
[134 / 147] BCrypt
[142 / 147] Random
[144 / 147] BCrypt
Build complete! (6.36 sec)
Fetching https://github.com/vapor/random.git
[1/148] Fetching random
Fetched https://github.com/vapor/random.git (0.77s)
Computing version for https://github.com/vapor/random.git
Computed https://github.com/vapor/random.git at 1.2.0 (1.46s)
Fetching https://github.com/vapor/core.git
[1/20143] Fetching core
Fetched https://github.com/vapor/core.git (1.76s)
Computing version for https://github.com/vapor/core.git
Computed https://github.com/vapor/core.git at 2.2.1 (2.44s)
Fetching https://github.com/vapor/debugging.git
Fetching https://github.com/vapor/bits.git
[1/358] Fetching bits
[30/618] Fetching bits, debugging
Fetched https://github.com/vapor/bits.git (0.87s)
Fetched https://github.com/vapor/debugging.git (0.87s)
Computing version for https://github.com/vapor/debugging.git
Computed https://github.com/vapor/debugging.git at 1.1.1 (1.56s)
Computing version for https://github.com/vapor/bits.git
Computed https://github.com/vapor/bits.git at 1.1.1 (0.62s)
Creating working copy for https://github.com/vapor/random.git
Working copy of https://github.com/vapor/random.git resolved at 1.2.0
Creating working copy for https://github.com/vapor/debugging.git
Working copy of https://github.com/vapor/debugging.git resolved at 1.1.1
Creating working copy for https://github.com/vapor/core.git
Working copy of https://github.com/vapor/core.git resolved at 2.2.1
Creating working copy for https://github.com/vapor/bits.git
Working copy of https://github.com/vapor/bits.git resolved at 1.1.1
/Users/admin/builder/spi-builder-workspace/Sources/BCrypt/Hash.swift:18:19: [1;33mwarning: [1;39minitialization of 'UnsafeMutableRawPointer' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m16 |[0;0m .allocate(capacity: Key.p.count)
[0;36m17 |[0;0m p.initialize(
[0;36m18 |[0;0m from: [4;39mUnsafeMutableRawPointer(mutating: Key.p)[0;0m
[0;36m|[0;0m | |- [1;39mnote: [1;39mimplicit argument conversion from '[UInt32]' to 'UnsafeRawPointer' produces a pointer valid only for the duration of the call to 'init(mutating:)'[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39muse the 'withUnsafeBytes' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of 'UnsafeMutableRawPointer' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m19 |[0;0m .assumingMemoryBound(to: UInt32.self),
[0;36m20 |[0;0m count: Key.p.count
/Users/admin/builder/spi-builder-workspace/Sources/BCrypt/Hash.swift:26:19: [1;33mwarning: [1;39minitialization of 'UnsafeMutableRawPointer' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m24 |[0;0m .allocate(capacity: Key.s.count)
[0;36m25 |[0;0m s.initialize(
[0;36m26 |[0;0m from: [4;39mUnsafeMutableRawPointer(mutating: Key.s)[0;0m
[0;36m|[0;0m | |- [1;39mnote: [1;39mimplicit argument conversion from '[UInt32]' to 'UnsafeRawPointer' produces a pointer valid only for the duration of the call to 'init(mutating:)'[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39muse the 'withUnsafeBytes' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of 'UnsafeMutableRawPointer' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m27 |[0;0m .assumingMemoryBound(to: UInt32.self),
[0;36m28 |[0;0m count: Key.s.count
/Users/admin/builder/spi-builder-workspace/Sources/BCrypt/Hash.swift:180:56: [1;33mwarning: [1;39minitialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m178 |[0;0m let slen: Int = 1024
[0;36m179 |[0;0m
[0;36m180 |[0;0m let keyPointer : UnsafeMutablePointer<UInt8> = [4;39mUnsafeMutablePointer<UInt8>(mutating: key)[0;0m
[0;36m|[0;0m | |- [1;39mnote: [1;39mimplicit argument conversion from 'Bytes' (aka 'Array<UInt8>') to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39muse the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m181 |[0;0m let keyLength : Int = key.count
[0;36m182 |[0;0m
/Users/admin/builder/spi-builder-workspace/Sources/BCrypt/Hash.swift:212:55: [1;33mwarning: [1;39minitialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m210 |[0;0m var lr: [UInt32] = [0, 0]
[0;36m211 |[0;0m
[0;36m212 |[0;0m let keyPointer: UnsafeMutablePointer<UInt8> = [4;39mUnsafeMutablePointer<UInt8>(mutating: key)[0;0m
[0;36m|[0;0m | |- [1;39mnote: [1;39mimplicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39muse the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m213 |[0;0m let keyLength: Int = key.count
[0;36m214 |[0;0m let dataPointer: UnsafeMutablePointer<UInt8> = UnsafeMutablePointer<UInt8>(mutating: data)
/Users/admin/builder/spi-builder-workspace/Sources/BCrypt/Hash.swift:214:56: [1;33mwarning: [1;39minitialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m212 |[0;0m let keyPointer: UnsafeMutablePointer<UInt8> = UnsafeMutablePointer<UInt8>(mutating: key)
[0;36m213 |[0;0m let keyLength: Int = key.count
[0;36m214 |[0;0m let dataPointer: UnsafeMutablePointer<UInt8> = [4;39mUnsafeMutablePointer<UInt8>(mutating: data)[0;0m
[0;36m|[0;0m | |- [1;39mnote: [1;39mimplicit argument conversion from '[UInt8]' to 'UnsafePointer<UInt8>' produces a pointer valid only for the duration of the call to 'init(mutating:)'[0;0m
[0;36m|[0;0m | `- [1;39mnote: [1;39muse the 'withUnsafeBufferPointer' method on Array in order to explicitly convert argument to buffer pointer valid for a defined scope[0;0m
[0;36m|[0;0m `- [1;33mwarning: [1;39minitialization of 'UnsafeMutablePointer<UInt8>' results in a dangling pointer[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers\TemporaryPointers]8;;\]
[0;36m215 |[0;0m let dataLength: Int = data.count
[0;36m216 |[0;0m
[#TemporaryPointers]: <https://docs.swift.org/compiler/documentation/diagnostics/temporary-pointers>
Build complete.
{
"dependencies" : [
{
"identity" : "random",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/vapor/random.git"
}
],
"manifest_display_name" : "BCrypt",
"name" : "BCrypt",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "BCrypt",
"targets" : [
"BCrypt"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "BCryptTests",
"module_type" : "SwiftTarget",
"name" : "BCryptTests",
"path" : "Tests/BCryptTests",
"sources" : [
"BCryptTests.swift"
],
"target_dependencies" : [
"BCrypt"
],
"type" : "test"
},
{
"c99name" : "BCrypt",
"module_type" : "SwiftTarget",
"name" : "BCrypt",
"path" : "Sources/BCrypt",
"product_dependencies" : [
"Random"
],
"product_memberships" : [
"BCrypt"
],
"sources" : [
"BCryptError.swift",
"Base64.swift",
"Convenience.swift",
"Export.swift",
"Hash.swift",
"Keys.swift",
"Parser.swift",
"Salt.swift",
"Serializer.swift"
],
"type" : "library"
}
],
"tools_version" : "4.0"
}
Done.