Build Information
Successful build of ZipPinch, reference main (20067f
), with Swift 6.1 for macOS (SPM) on 15 Jun 2025 21:07:09 UTC.
Swift 6 data race errors: 2
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.63.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/buh/ZipPinch.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/buh/ZipPinch
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 20067f3 Fix 64Bits zip files
Cloned https://github.com/buh/ZipPinch.git
Revision (git rev-parse @):
20067f30d9280e2886ba249748f1fe9d56659d97
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/buh/ZipPinch.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",
"dependencies": [
{
"identity": "zippinch",
"name": "ZipPinch",
"url": "https://github.com/buh/ZipPinch.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ZipPinch",
"dependencies": [
]
}
]
}
Fetching https://github.com/buh/ZipPinch.git
[1/659] Fetching zippinch
Fetched https://github.com/buh/ZipPinch.git from cache (0.88s)
Creating working copy for https://github.com/buh/ZipPinch.git
Working copy of https://github.com/buh/ZipPinch.git resolved at main (20067f3)
warning: '.resolve-product-dependencies': dependency 'zippinch' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/buh/ZipPinch.git
https://github.com/buh/ZipPinch.git
{
"dependencies" : [
],
"manifest_display_name" : "ZipPinch",
"name" : "ZipPinch",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
}
],
"products" : [
{
"name" : "ZipPinch",
"targets" : [
"ZipPinch"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ZipPinchTests",
"module_type" : "SwiftTarget",
"name" : "ZipPinchTests",
"path" : "Tests/ZipPinchTests",
"sources" : [
"ArchiveTests.swift",
"BinaryExtractorTests.swift",
"DateMSDOSTests.swift",
"ZIPEntryTests.swift",
"ZIPErrorTests.swift",
"ZIPFolderTests.swift"
],
"target_dependencies" : [
"ZipPinch"
],
"type" : "test"
},
{
"c99name" : "ZipPinch",
"module_type" : "SwiftTarget",
"name" : "ZipPinch",
"path" : "Sources/ZipPinch",
"product_memberships" : [
"ZipPinch"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"URLSession+ZIPEntries.swift",
"URLSession+ZIPEntry.swift",
"URLSession+ZIPFolder.swift",
"URLSession+ZIPRange.swift",
"ZIPCompressor.swift",
"ZIPEntry.swift",
"ZIPFileFormat/BinaryExtractor.swift",
"ZIPFileFormat/Date+MSDOS.swift",
"ZIPFileFormat/ZIPDirectoryRecord.swift",
"ZIPFileFormat/ZIPEndRecord.swift",
"ZIPFileFormat/ZIPFileHeader.swift",
"ZIPFolder.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[1/3] Copying PrivacyInfo.xcprivacy
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/16] Compiling ZipPinch ZIPFileHeader.swift
[5/17] Compiling ZipPinch resource_bundle_accessor.swift
[6/17] Compiling ZipPinch ZIPEndRecord.swift
[7/17] Compiling ZipPinch ZIPDirectoryRecord.swift
[8/17] Compiling ZipPinch Date+MSDOS.swift
[9/17] Emitting module ZipPinch
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPCompressor.swift:30:23: warning: static property 'decompress' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | /// Decompressor.
29 | public enum ZIPDecompressor {
30 | public static var decompress: @Sendable (_ compressedData: NSData) throws -> NSData = { compressedData in
| |- warning: static property 'decompress' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decompress' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decompress' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | logger.debug("🗜️ Decompressing \(compressedData.length) bytes using zlib")
32 | let startTime = CFAbsoluteTimeGetCurrent()
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPFolder.swift:29:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ZIPFolder' may have shared mutable state; this is an error in the Swift 6 language mode
26 | private let logger = Logger(subsystem: "ZipPinch", category: "ZIPFolder")
27 |
28 | public struct ZIPFolder: Identifiable, Hashable, Equatable {
| `- note: consider making struct 'ZIPFolder' conform to the 'Sendable' protocol
29 | public static let empty = ZIPFolder(name: "")
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ZIPFolder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | public let id = UUID()
[10/17] Compiling ZipPinch URLSession+ZIPFolder.swift
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:85:19: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | progress: ZIPProgress? = nil
84 | ) async throws -> [(entry: ZIPEntry, data: Data)] {
85 | try await withThrowingTaskGroup(of: (entry: ZIPEntry, data: Data).self) { taskGroup in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
86 | let overallProgress = OverallProgress(count: Double(entries.count))
87 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:85:81: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | progress: ZIPProgress? = nil
84 | ) async throws -> [(entry: ZIPEntry, data: Data)] {
85 | try await withThrowingTaskGroup(of: (entry: ZIPEntry, data: Data).self) { taskGroup in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
86 | let overallProgress = OverallProgress(count: Double(entries.count))
87 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:100:27: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
98 | }
99 |
100 | taskGroup.addTask(priority: .medium) { [progressPerEntry] in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
101 | (entry, try await self.zipEntryData(
102 | entry,
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:110:47: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | }
109 |
110 | let results = try await taskGroup.reduce(into: [(entry: ZIPEntry, data: Data)]()) { partialResult, value in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | partialResult.append(value)
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:110:95: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | }
109 |
110 | let results = try await taskGroup.reduce(into: [(entry: ZIPEntry, data: Data)]()) { partialResult, value in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | partialResult.append(value)
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:110:95: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | }
109 |
110 | let results = try await taskGroup.reduce(into: [(entry: ZIPEntry, data: Data)]()) { partialResult, value in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | partialResult.append(value)
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:94:99: warning: capture of 'entry' with non-sendable type 'ZIPEntry' in a '@Sendable' closure; this is an error in the Swift 6 language mode
92 | progressPerEntry = .init(bufferSize: progress.bufferSize) { value in
93 | Task {
94 | let overallValue = await overallProgress.overallValue(for: value, id: entry.filePath)
| `- warning: capture of 'entry' with non-sendable type 'ZIPEntry' in a '@Sendable' closure; this is an error in the Swift 6 language mode
95 | progress.callback(overallValue)
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:95:29: warning: capture of 'progress' with non-sendable type 'ZIPProgress' in a '@Sendable' closure; this is an error in the Swift 6 language mode
93 | Task {
94 | let overallValue = await overallProgress.overallValue(for: value, id: entry.filePath)
95 | progress.callback(overallValue)
| `- warning: capture of 'progress' with non-sendable type 'ZIPProgress' in a '@Sendable' closure; this is an error in the Swift 6 language mode
96 | }
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPEntry.swift:30:15: note: consider making struct 'ZIPProgress' conform to the 'Sendable' protocol
28 | /// Progress callback container.
29 | /// It can be configured for buffer size, which will affect how often the callback is invoked.
30 | public struct ZIPProgress {
| `- note: consider making struct 'ZIPProgress' conform to the 'Sendable' protocol
31 | /// A number of bytes of the buffer, which will affect how often the callback is invoked.
32 | /// It can be greater than or equal to 64 Kb (default value).
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:94:99: warning: capture of 'entry' with non-sendable type 'ZIPEntry' in an isolated closure; this is an error in the Swift 6 language mode
92 | progressPerEntry = .init(bufferSize: progress.bufferSize) { value in
93 | Task {
94 | let overallValue = await overallProgress.overallValue(for: value, id: entry.filePath)
| `- warning: capture of 'entry' with non-sendable type 'ZIPEntry' in an isolated closure; this is an error in the Swift 6 language mode
95 | progress.callback(overallValue)
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:95:29: warning: capture of 'progress' with non-sendable type 'ZIPProgress' in an isolated closure; this is an error in the Swift 6 language mode
93 | Task {
94 | let overallValue = await overallProgress.overallValue(for: value, id: entry.filePath)
95 | progress.callback(overallValue)
| `- warning: capture of 'progress' with non-sendable type 'ZIPProgress' in an isolated closure; this is an error in the Swift 6 language mode
96 | }
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPEntry.swift:30:15: note: consider making struct 'ZIPProgress' conform to the 'Sendable' protocol
28 | /// Progress callback container.
29 | /// It can be configured for buffer size, which will affect how often the callback is invoked.
30 | public struct ZIPProgress {
| `- note: consider making struct 'ZIPProgress' conform to the 'Sendable' protocol
31 | /// A number of bytes of the buffer, which will affect how often the callback is invoked.
32 | /// It can be greater than or equal to 64 Kb (default value).
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:100:54: 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
98 | }
99 |
100 | taskGroup.addTask(priority: .medium) { [progressPerEntry] in
| `- 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
101 | (entry, try await self.zipEntryData(
| `- note: closure captures non-Sendable 'entry'
102 | entry,
103 | for: request,
104 | delegate: delegate,
105 | progress: progressPerEntry
| `- note: closure captures non-Sendable 'progressPerEntry'
106 | ))
107 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPRange.swift:85:35: 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
83 | logger.debug("🚀 Starting URLSession.data(for:delegate:)")
84 | let (data, response) = try await withThrowingTaskGroup(of: (Data, URLResponse).self) { group in
85 | group.addTask {
| `- 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
86 | try await session.data(for: request, delegate: delegate)
| `- note: closure captures reference to mutable var 'request' which is accessible to code in the current task
87 | }
88 |
[11/17] Compiling ZipPinch URLSession+ZIPRange.swift
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:85:19: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | progress: ZIPProgress? = nil
84 | ) async throws -> [(entry: ZIPEntry, data: Data)] {
85 | try await withThrowingTaskGroup(of: (entry: ZIPEntry, data: Data).self) { taskGroup in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
86 | let overallProgress = OverallProgress(count: Double(entries.count))
87 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:85:81: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
83 | progress: ZIPProgress? = nil
84 | ) async throws -> [(entry: ZIPEntry, data: Data)] {
85 | try await withThrowingTaskGroup(of: (entry: ZIPEntry, data: Data).self) { taskGroup in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
86 | let overallProgress = OverallProgress(count: Double(entries.count))
87 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:100:27: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
98 | }
99 |
100 | taskGroup.addTask(priority: .medium) { [progressPerEntry] in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
101 | (entry, try await self.zipEntryData(
102 | entry,
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:110:47: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | }
109 |
110 | let results = try await taskGroup.reduce(into: [(entry: ZIPEntry, data: Data)]()) { partialResult, value in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | partialResult.append(value)
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:110:95: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | }
109 |
110 | let results = try await taskGroup.reduce(into: [(entry: ZIPEntry, data: Data)]()) { partialResult, value in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | partialResult.append(value)
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:110:95: warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
108 | }
109 |
110 | let results = try await taskGroup.reduce(into: [(entry: ZIPEntry, data: Data)]()) { partialResult, value in
| `- warning: type 'ZIPEntry' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
111 | partialResult.append(value)
112 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:94:99: warning: capture of 'entry' with non-sendable type 'ZIPEntry' in a '@Sendable' closure; this is an error in the Swift 6 language mode
92 | progressPerEntry = .init(bufferSize: progress.bufferSize) { value in
93 | Task {
94 | let overallValue = await overallProgress.overallValue(for: value, id: entry.filePath)
| `- warning: capture of 'entry' with non-sendable type 'ZIPEntry' in a '@Sendable' closure; this is an error in the Swift 6 language mode
95 | progress.callback(overallValue)
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:95:29: warning: capture of 'progress' with non-sendable type 'ZIPProgress' in a '@Sendable' closure; this is an error in the Swift 6 language mode
93 | Task {
94 | let overallValue = await overallProgress.overallValue(for: value, id: entry.filePath)
95 | progress.callback(overallValue)
| `- warning: capture of 'progress' with non-sendable type 'ZIPProgress' in a '@Sendable' closure; this is an error in the Swift 6 language mode
96 | }
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPEntry.swift:30:15: note: consider making struct 'ZIPProgress' conform to the 'Sendable' protocol
28 | /// Progress callback container.
29 | /// It can be configured for buffer size, which will affect how often the callback is invoked.
30 | public struct ZIPProgress {
| `- note: consider making struct 'ZIPProgress' conform to the 'Sendable' protocol
31 | /// A number of bytes of the buffer, which will affect how often the callback is invoked.
32 | /// It can be greater than or equal to 64 Kb (default value).
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:94:99: warning: capture of 'entry' with non-sendable type 'ZIPEntry' in an isolated closure; this is an error in the Swift 6 language mode
92 | progressPerEntry = .init(bufferSize: progress.bufferSize) { value in
93 | Task {
94 | let overallValue = await overallProgress.overallValue(for: value, id: entry.filePath)
| `- warning: capture of 'entry' with non-sendable type 'ZIPEntry' in an isolated closure; this is an error in the Swift 6 language mode
95 | progress.callback(overallValue)
96 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPEntry.swift:31:15: note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
29 |
30 | /// The ZIP entry.
31 | public struct ZIPEntry: Identifiable, Hashable, Codable {
| `- note: consider making struct 'ZIPEntry' conform to the 'Sendable' protocol
32 | public let id: String
33 |
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:95:29: warning: capture of 'progress' with non-sendable type 'ZIPProgress' in an isolated closure; this is an error in the Swift 6 language mode
93 | Task {
94 | let overallValue = await overallProgress.overallValue(for: value, id: entry.filePath)
95 | progress.callback(overallValue)
| `- warning: capture of 'progress' with non-sendable type 'ZIPProgress' in an isolated closure; this is an error in the Swift 6 language mode
96 | }
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPEntry.swift:30:15: note: consider making struct 'ZIPProgress' conform to the 'Sendable' protocol
28 | /// Progress callback container.
29 | /// It can be configured for buffer size, which will affect how often the callback is invoked.
30 | public struct ZIPProgress {
| `- note: consider making struct 'ZIPProgress' conform to the 'Sendable' protocol
31 | /// A number of bytes of the buffer, which will affect how often the callback is invoked.
32 | /// It can be greater than or equal to 64 Kb (default value).
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPFolder.swift:100:54: 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
98 | }
99 |
100 | taskGroup.addTask(priority: .medium) { [progressPerEntry] in
| `- 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
101 | (entry, try await self.zipEntryData(
| `- note: closure captures non-Sendable 'entry'
102 | entry,
103 | for: request,
104 | delegate: delegate,
105 | progress: progressPerEntry
| `- note: closure captures non-Sendable 'progressPerEntry'
106 | ))
107 | }
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/URLSession+ZIPRange.swift:85:35: 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
83 | logger.debug("🚀 Starting URLSession.data(for:delegate:)")
84 | let (data, response) = try await withThrowingTaskGroup(of: (Data, URLResponse).self) { group in
85 | group.addTask {
| `- 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
86 | try await session.data(for: request, delegate: delegate)
| `- note: closure captures reference to mutable var 'request' which is accessible to code in the current task
87 | }
88 |
[12/17] Compiling ZipPinch BinaryExtractor.swift
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPFileFormat/BinaryExtractor.swift:34:13: warning: initialization of immutable value 'currentOffset' was never used; consider replacing with assignment to '_' or removing it
32 | mutating func next<T: FixedWidthInteger>(of: T.Type) -> T {
33 | let size = MemoryLayout<T>.size
34 | let currentOffset = pointerOffset
| `- warning: initialization of immutable value 'currentOffset' was never used; consider replacing with assignment to '_' or removing it
35 | var value: T = 0
36 |
[13/17] Compiling ZipPinch ZIPFolder.swift
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPFolder.swift:29:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ZIPFolder' may have shared mutable state; this is an error in the Swift 6 language mode
26 | private let logger = Logger(subsystem: "ZipPinch", category: "ZIPFolder")
27 |
28 | public struct ZIPFolder: Identifiable, Hashable, Equatable {
| `- note: consider making struct 'ZIPFolder' conform to the 'Sendable' protocol
29 | public static let empty = ZIPFolder(name: "")
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'ZIPFolder' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | public let id = UUID()
[14/17] Compiling ZipPinch URLSession+ZIPEntries.swift
[15/17] Compiling ZipPinch URLSession+ZIPEntry.swift
[16/17] Compiling ZipPinch ZIPCompressor.swift
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPCompressor.swift:30:23: warning: static property 'decompress' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | /// Decompressor.
29 | public enum ZIPDecompressor {
30 | public static var decompress: @Sendable (_ compressedData: NSData) throws -> NSData = { compressedData in
| |- warning: static property 'decompress' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decompress' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decompress' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | logger.debug("🗜️ Decompressing \(compressedData.length) bytes using zlib")
32 | let startTime = CFAbsoluteTimeGetCurrent()
[17/17] Compiling ZipPinch ZIPEntry.swift
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPCompressor.swift:30:23: warning: static property 'decompress' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
28 | /// Decompressor.
29 | public enum ZIPDecompressor {
30 | public static var decompress: @Sendable (_ compressedData: NSData) throws -> NSData = { compressedData in
| |- warning: static property 'decompress' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decompress' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'decompress' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
31 | logger.debug("🗜️ Decompressing \(compressedData.length) bytes using zlib")
32 | let startTime = CFAbsoluteTimeGetCurrent()
Build complete! (5.03s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "ZipPinch",
"name" : "ZipPinch",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
}
],
"products" : [
{
"name" : "ZipPinch",
"targets" : [
"ZipPinch"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ZipPinchTests",
"module_type" : "SwiftTarget",
"name" : "ZipPinchTests",
"path" : "Tests/ZipPinchTests",
"sources" : [
"ArchiveTests.swift",
"BinaryExtractorTests.swift",
"DateMSDOSTests.swift",
"ZIPEntryTests.swift",
"ZIPErrorTests.swift",
"ZIPFolderTests.swift"
],
"target_dependencies" : [
"ZipPinch"
],
"type" : "test"
},
{
"c99name" : "ZipPinch",
"module_type" : "SwiftTarget",
"name" : "ZipPinch",
"path" : "Sources/ZipPinch",
"product_memberships" : [
"ZipPinch"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/PrivacyInfo.xcprivacy",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"URLSession+ZIPEntries.swift",
"URLSession+ZIPEntry.swift",
"URLSession+ZIPFolder.swift",
"URLSession+ZIPRange.swift",
"ZIPCompressor.swift",
"ZIPEntry.swift",
"ZIPFileFormat/BinaryExtractor.swift",
"ZIPFileFormat/Date+MSDOS.swift",
"ZIPFileFormat/ZIPDirectoryRecord.swift",
"ZIPFileFormat/ZIPEndRecord.swift",
"ZIPFileFormat/ZIPFileHeader.swift",
"ZIPFolder.swift"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/buh/zippinch/main
Repository: buh/ZipPinch
Swift version used: 6.1
Target: ZipPinch
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/swift-docc-render-artifact/.git/
From https://github.com/swiftlang/swift-docc-render-artifact
* branch 4633b45fc732d8c55568be09dd852f9dc1582c25 -> FETCH_HEAD
HEAD is now at 4633b45 Update the artifact
Cloned https://github.com/swiftlang/swift-docc-render-artifact
Extracting symbol information for 'ZipPinch'...
Finished extracting symbol information for 'ZipPinch'. (3.69s)
Building documentation for 'ZipPinch'...
Finished building documentation for 'ZipPinch' (0.12s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/buh/zippinch/main
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.69s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.4 (1.27s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.90s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.51s)
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.4
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
[2/8] Write snippet-extract-tool-entitlement.plist
[2/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Emitting module SymbolKit
[7/57] Compiling SymbolKit DeclarationFragments.swift
[8/57] Compiling SymbolKit Fragment.swift
[9/57] Compiling SymbolKit FragmentKind.swift
[10/57] Compiling SymbolKit FunctionParameter.swift
[11/57] Compiling SymbolKit FunctionSignature.swift
[12/57] Compiling SymbolKit Relationship.swift
[13/57] Compiling SymbolKit RelationshipKind.swift
[14/57] Compiling SymbolKit SourceOrigin.swift
[15/57] Compiling SymbolKit GenericConstraints.swift
[16/57] Compiling SymbolKit Swift.swift
[17/57] Compiling SymbolKit Names.swift
[18/57] Compiling SymbolKit SPI.swift
[19/57] Compiling SymbolKit Snippet.swift
[20/57] Compiling SymbolKit Extension.swift
[21/57] Compiling SymbolKit Mixin+Equals.swift
[22/57] Compiling SymbolKit Mixin+Hash.swift
[23/57] Compiling SymbolKit Mixin.swift
[24/57] Compiling SymbolKit LineList.swift
[25/57] Compiling SymbolKit Position.swift
[26/57] Compiling SymbolKit Identifier.swift
[27/57] Compiling SymbolKit KindIdentifier.swift
[28/57] Compiling SymbolKit Location.swift
[29/57] Compiling SymbolKit Mutability.swift
[30/57] Compiling Snippets SnippetParser.swift
[31/57] Emitting module Snippets
[32/57] Compiling Snippets Snippet.swift
[33/57] Compiling SymbolKit Symbol.swift
[34/57] Compiling SymbolKit SymbolKind.swift
[35/57] Compiling SymbolKit SymbolGraph.swift
[36/57] Compiling SymbolKit GraphCollector.swift
[37/57] Compiling SymbolKit GenericConstraint.swift
[38/57] Compiling SymbolKit GenericParameter.swift
[39/57] Compiling SymbolKit Generics.swift
[40/57] Compiling SymbolKit Namespace.swift
[41/57] Compiling SymbolKit SemanticVersion.swift
[42/57] Compiling SymbolKit AccessControl.swift
[43/57] Compiling SymbolKit Availability.swift
[44/57] Compiling SymbolKit AvailabilityItem.swift
[45/57] Compiling SymbolKit Domain.swift
[46/57] Compiling SymbolKit SourceRange.swift
[47/57] Compiling SymbolKit Metadata.swift
[48/57] Compiling SymbolKit Module.swift
[49/57] Compiling SymbolKit OperatingSystem.swift
[50/57] Compiling SymbolKit Platform.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] 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.06s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/14] Compiling ZipPinch ZIPFileHeader.swift
[3/15] Compiling ZipPinch ZIPDirectoryRecord.swift
[4/15] Compiling ZipPinch ZIPFolder.swift
[5/15] Compiling ZipPinch ZIPEndRecord.swift
[6/15] Compiling ZipPinch Date+MSDOS.swift
[7/15] Compiling ZipPinch resource_bundle_accessor.swift
[8/15] Compiling ZipPinch ZIPCompressor.swift
[9/15] Compiling ZipPinch ZIPEntry.swift
[10/15] Compiling ZipPinch BinaryExtractor.swift
/Users/admin/builder/spi-builder-workspace/Sources/ZipPinch/ZIPFileFormat/BinaryExtractor.swift:34:13: warning: initialization of immutable value 'currentOffset' was never used; consider replacing with assignment to '_' or removing it
32 | mutating func next<T: FixedWidthInteger>(of: T.Type) -> T {
33 | let size = MemoryLayout<T>.size
34 | let currentOffset = pointerOffset
| `- warning: initialization of immutable value 'currentOffset' was never used; consider replacing with assignment to '_' or removing it
35 | var value: T = 0
36 |
[11/15] Compiling ZipPinch URLSession+ZIPFolder.swift
[12/15] Compiling ZipPinch URLSession+ZIPRange.swift
[13/15] Emitting module ZipPinch
[14/15] Compiling ZipPinch URLSession+ZIPEntries.swift
[15/15] Compiling ZipPinch URLSession+ZIPEntry.swift
Build of target: 'ZipPinch' complete! (1.62s)
172
2 /Users/admin/builder/spi-builder-workspace/.docs/buh/zippinch/main
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/buh/zippinch/main
File count: 172
Doc size: 2.0MB
Preparing doc bundle ...
Uploading prod-buh-zippinch-main-15ecd09e.zip to s3://spi-docs-inbox/prod-buh-zippinch-main-15ecd09e.zip
Copying... [15%]
Copying... [29%]
Copying... [44%]
Copying... [58%]
Copying... [73%]
Copying... [87%]
Copying... [100%]
Done.