Build Information
Successful build of unxip, reference v1.1.3 (b3ce1a
), with Swift 6.0 for macOS (SPM) on 14 Sep 2024 00:30:58 UTC.
Swift 6 data race errors: 2
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.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.53.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/saagarjha/unxip.git
Reference: v1.1.3
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/saagarjha/unxip
* tag v1.1.3 -> FETCH_HEAD
HEAD is now at b3ce1ab unxip 1.1.3
Cloned https://github.com/saagarjha/unxip.git
Revision (git rev-parse @):
b3ce1ab4728d4173390c97eddd28e821ad9e2974
SUCCESS checkout https://github.com/saagarjha/unxip.git at v1.1.3
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/saagarjha/unxip.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.0.0-Release.Candidate.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/6] Write sources
[1/6] Write unxip-entitlement.plist
[2/6] Write swift-version-117DEE11B69C53C9.txt
[4/8] Emitting module unxip
/Users/admin/builder/spi-builder-workspace/unxip.swift:84:6: warning: stored property 'buffer' of 'Sendable'-conforming class 'Chunk' has non-sendable type 'UnsafeBufferPointer<UInt8>'; this is an error in the Swift 6 language mode
82 |
83 | final class Chunk: Sendable {
84 | let buffer: UnsafeBufferPointer<UInt8>
| `- warning: stored property 'buffer' of 'Sendable'-conforming class 'Chunk' has non-sendable type 'UnsafeBufferPointer<UInt8>'; this is an error in the Swift 6 language mode
85 | let owned: Bool
86 |
Swift.UnsafeBufferPointer:1:23: note: generic struct 'UnsafeBufferPointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafeBufferPointer<Element> : Copyable where Element : ~Copyable {
| `- note: generic struct 'UnsafeBufferPointer' does not conform to the 'Sendable' protocol
2 | public let count: Int
3 | @inlinable public init(start: UnsafePointer<Element>?, count: Int)
[5/8] Compiling unxip unxip.swift
/Users/admin/builder/spi-builder-workspace/unxip.swift:84:6: warning: stored property 'buffer' of 'Sendable'-conforming class 'Chunk' has non-sendable type 'UnsafeBufferPointer<UInt8>'; this is an error in the Swift 6 language mode
82 |
83 | final class Chunk: Sendable {
84 | let buffer: UnsafeBufferPointer<UInt8>
| `- warning: stored property 'buffer' of 'Sendable'-conforming class 'Chunk' has non-sendable type 'UnsafeBufferPointer<UInt8>'; this is an error in the Swift 6 language mode
85 | let owned: Bool
86 |
Swift.UnsafeBufferPointer:1:23: note: generic struct 'UnsafeBufferPointer' does not conform to the 'Sendable' protocol
1 | @frozen public struct UnsafeBufferPointer<Element> : Copyable where Element : ~Copyable {
| `- note: generic struct 'UnsafeBufferPointer' does not conform to the 'Sendable' protocol
2 | public let count: Int
3 | @inlinable public init(start: UnsafePointer<Element>?, count: Int)
/Users/admin/builder/spi-builder-workspace/unxip.swift:277:75: warning: reference to var 'optind' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
275 | } while true
276 |
277 | let arguments = UnsafeBufferPointer(start: CommandLine.unsafeArgv + Int(optind), count: Int(CommandLine.argc - optind)).map {
| `- warning: reference to var 'optind' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
278 | String(cString: $0!)
279 | }
unistd.optind:1:12: note: var declared here
1 | public var optind: Int32
| `- note: var declared here
/Users/admin/builder/spi-builder-workspace/unxip.swift:277:114: warning: reference to var 'optind' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
275 | } while true
276 |
277 | let arguments = UnsafeBufferPointer(start: CommandLine.unsafeArgv + Int(optind), count: Int(CommandLine.argc - optind)).map {
| `- warning: reference to var 'optind' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
278 | String(cString: $0!)
279 | }
unistd.optind:1:12: note: var declared here
1 | public var optind: Int32
| `- note: var declared here
/Users/admin/builder/spi-builder-workspace/unxip.swift:353:21: warning: capture of '_remaining' with non-sendable type 'UnsafeBufferPointer<UInt8>.SubSequence' (aka 'Slice<UnsafeBufferPointer<UInt8>>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
351 |
352 | chunkStream.addTask {
353 | let remaining = _remaining
| `- warning: capture of '_remaining' with non-sendable type 'UnsafeBufferPointer<UInt8>.SubSequence' (aka 'Slice<UnsafeBufferPointer<UInt8>>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
354 | let decompressedSize = _decompressedSize
355 |
Swift.Slice:1:23: note: generic struct 'Slice' does not conform to the 'Sendable' protocol
1 | @frozen public struct Slice<Base> where Base : Collection {
| `- note: generic struct 'Slice' does not conform to the 'Sendable' protocol
2 | public var _startIndex: Base.Index
3 | public var _endIndex: Base.Index
/Users/admin/builder/spi-builder-workspace/unxip.swift:444:29: warning: capture of 'file' with non-sendable type 'File' in a `@Sendable` local function; this is an error in the Swift 6 language mode
97 | }
98 |
99 | struct File {
| `- note: consider making struct 'File' conform to the 'Sendable' protocol
100 | let dev: Int
101 | let ino: Int
:
442 | func warn(_ result: CInt, _ operation: String) {
443 | if result != 0 {
444 | perror("\(operation) \(file.name) failed")
| `- warning: capture of 'file' with non-sendable type 'File' in a `@Sendable` local function; this is an error in the Swift 6 language mode
445 | }
446 | }
/Users/admin/builder/spi-builder-workspace/unxip.swift:482:26: warning: capture of 'file' with non-sendable type 'File' in a `@Sendable` closure; this is an error in the Swift 6 language mode
97 | }
98 |
99 | struct File {
| `- note: consider making struct 'File' conform to the 'Sendable' protocol
100 | let dev: Int
101 | let ino: Int
:
480 | }
481 |
482 | warn(link(original, file.name), "linking")
| `- warning: capture of 'file' with non-sendable type 'File' in a `@Sendable` closure; this is an error in the Swift 6 language mode
483 | }
484 | continue
/Users/admin/builder/spi-builder-workspace/unxip.swift:499:38: warning: capture of 'file' with non-sendable type 'File' in a `@Sendable` closure; this is an error in the Swift 6 language mode
97 | }
98 |
99 | struct File {
| `- note: consider making struct 'File' conform to the 'Sendable' protocol
100 | let dev: Int
101 | let ino: Int
:
497 | }
498 |
499 | warn(symlink(String(data: Data(file.data.map(Array.init).reduce([], +)), encoding: .utf8), file.name), "symlinking")
| `- warning: capture of 'file' with non-sendable type 'File' in a `@Sendable` closure; this is an error in the Swift 6 language mode
500 | setStickyBit(on: file)
501 | }
/Users/admin/builder/spi-builder-workspace/unxip.swift:511:18: warning: capture of 'file' with non-sendable type 'File' in a `@Sendable` closure; this is an error in the Swift 6 language mode
97 | }
98 |
99 | struct File {
| `- note: consider making struct 'File' conform to the 'Sendable' protocol
100 | let dev: Int
101 | let ino: Int
:
509 | }
510 |
511 | warn(mkdir(file.name, mode_t(file.mode & 0o777)), "creating directory at")
| `- warning: capture of 'file' with non-sendable type 'File' in a `@Sendable` closure; this is an error in the Swift 6 language mode
512 | setStickyBit(on: file)
513 | }
/Users/admin/builder/spi-builder-workspace/unxip.swift:521:54: warning: capture of 'file' with non-sendable type 'File' in a `@Sendable` closure; this is an error in the Swift 6 language mode
97 | }
98 |
99 | struct File {
| `- note: consider making struct 'File' conform to the 'Sendable' protocol
100 | let dev: Int
101 | let ino: Int
:
519 | taskStream.addRunningTask {
520 | await task?.value
521 | let compressedData = options.compress ? await file.compressedData() : nil
| `- warning: capture of 'file' with non-sendable type 'File' in a `@Sendable` closure; this is an error in the Swift 6 language mode
522 | guard !options.dryRun else {
523 | return
/Users/admin/builder/spi-builder-workspace/unxip.swift:533:26: warning: capture of 'file' with non-sendable type 'File' in an isolated local function; this is an error in the Swift 6 language mode
97 | }
98 |
99 | struct File {
| `- note: consider making struct 'File' conform to the 'Sendable' protocol
100 | let dev: Int
101 | let ino: Int
:
531 | defer {
532 | warn(close(fd), "closing")
533 | setStickyBit(on: file)
| `- warning: capture of 'file' with non-sendable type 'File' in an isolated local function; this is an error in the Swift 6 language mode
534 | }
535 |
/Users/admin/builder/spi-builder-workspace/unxip.swift:19:28: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
17 | func yieldWithBackoff(_ value: Element) async {
18 | let backoff: UInt64 = 1_000_000
19 | while case .dropped(_) = yield(value) {
| |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'value' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
20 | try? await Task.sleep(nanoseconds: backoff)
21 | }
/Users/admin/builder/spi-builder-workspace/unxip.swift:374:4: warning: task-isolated value of type '() async -> ()' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
372 | static func files<ChunkStream: AsyncSequence>(in chunkStream: ChunkStream) -> AsyncStream<File> where ChunkStream.Element == Chunk {
373 | AsyncStream(bufferingPolicy: .bufferingOldest(ProcessInfo.processInfo.activeProcessorCount)) { continuation in
374 | Task {
| `- warning: task-isolated value of type '() async -> ()' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
375 | var iterator = chunkStream.makeAsyncIterator()
376 | var chunk = try! await iterator.next()!
[5/8] Write Objects.LinkFileList
[6/8] Linking unxip
[7/8] Applying unxip
Build complete! (7.47s)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/release.sh
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "unxip",
"name" : "unxip",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "unxip",
"targets" : [
"unxip"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "unxip",
"module_type" : "SwiftTarget",
"name" : "unxip",
"path" : ".",
"product_memberships" : [
"unxip"
],
"sources" : [
"unxip.swift"
],
"type" : "executable"
}
],
"tools_version" : "5.5"
}
Done.