The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Checksum, reference v1.0.2 (9dde3d), with Swift 6.1 for macOS (SPM) on 28 Apr 2026 02:55:56 UTC.

Swift 6 data race errors: 0

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.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/rnine/Checksum.git
Reference: v1.0.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/rnine/Checksum
 * tag               v1.0.2     -> FETCH_HEAD
HEAD is now at 9dde3d1 Changing dispatch queue's QOS from background to user initiated. Removing unneeded dispatch queue in HTTPSource. Initializer and reads are already dispatched from on a dedicated queue.
Cloned https://github.com/rnine/Checksum.git
Revision (git rev-parse @):
9dde3d1d898a5074608a1420791ef0a80c2399f2
SUCCESS checkout https://github.com/rnine/Checksum.git at v1.0.2
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/rnine/Checksum.git
https://github.com/rnine/Checksum.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Checksum",
  "name" : "Checksum",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.11"
    },
    {
      "name" : "ios",
      "version" : "9.0"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    },
    {
      "name" : "watchos",
      "version" : "2.0"
    }
  ],
  "products" : [
    {
      "name" : "Checksum",
      "targets" : [
        "Checksum"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "Checksum",
      "module_type" : "SwiftTarget",
      "name" : "Checksum",
      "path" : "Source",
      "product_memberships" : [
        "Checksum"
      ],
      "sources" : [
        "Internal/CCWrapper.swift",
        "Internal/Extensions/Data+Source.swift",
        "Internal/Extensions/HTTPResponse+ContentRange.swift",
        "Internal/Extensions/String+Source.swift",
        "Internal/Extensions/URL+Source.swift",
        "Internal/Protocols/Source.swift",
        "Internal/Protocols/Sourceable.swift",
        "Internal/Sources/DataSource.swift",
        "Internal/Sources/FileSource.swift",
        "Internal/Sources/HTTPSource.swift",
        "Public/Enums/ChecksumError.swift",
        "Public/Enums/Chunksize.swift",
        "Public/Enums/DigestAlgorithm.swift",
        "Public/Extensions.swift",
        "Public/Protocols/Checksumable.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/17] Compiling Checksum FileSource.swift
/Users/admin/builder/spi-builder-workspace/Source/Internal/Sources/HTTPSource.swift:76:21: warning: capture of 'self' with non-sendable type 'HTTPSource' in a '@Sendable' closure
  9 | import Foundation
 10 |
 11 | class HTTPSource: InstantiableSource {
    |       `- note: class 'HTTPSource' does not conform to the 'Sendable' protocol
 12 |     typealias Provider = URL
 13 |
    :
 74 |
 75 |         let task = urlSession.dataTask(with: request) { data, response, _ in
 76 |             defer { self.semaphore.signal() }
    |                     `- warning: capture of 'self' with non-sendable type 'HTTPSource' in a '@Sendable' closure
 77 |
 78 |             guard let httpResponse = response as? HTTPURLResponse,
/Users/admin/builder/spi-builder-workspace/Source/Internal/Sources/HTTPSource.swift:76:21: warning: capture of 'self' with non-sendable type 'HTTPSource' in an isolated local function; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class HTTPSource: InstantiableSource {
    |       `- note: class 'HTTPSource' does not conform to the 'Sendable' protocol
 12 |     typealias Provider = URL
 13 |
    :
 74 |
 75 |         let task = urlSession.dataTask(with: request) { data, response, _ in
 76 |             defer { self.semaphore.signal() }
    |                     `- warning: capture of 'self' with non-sendable type 'HTTPSource' in an isolated local function; this is an error in the Swift 6 language mode
 77 |
 78 |             guard let httpResponse = response as? HTTPURLResponse,
/Users/admin/builder/spi-builder-workspace/Source/Internal/Sources/HTTPSource.swift:83:13: warning: mutation of captured var 'readData' in concurrently-executing code
 81 |                 let data = data else { return }
 82 |
 83 |             readData = data
    |             `- warning: mutation of captured var 'readData' in concurrently-executing code
 84 |
 85 |             if let size = contentRange.size {
/Users/admin/builder/spi-builder-workspace/Source/Internal/Sources/HTTPSource.swift:119:13: warning: capture of 'self' with non-sendable type 'HTTPSource' in a '@Sendable' closure
  9 | import Foundation
 10 |
 11 | class HTTPSource: InstantiableSource {
    |       `- note: class 'HTTPSource' does not conform to the 'Sendable' protocol
 12 |     typealias Provider = URL
 13 |
    :
117 |             }
118 |
119 |             self.semaphore.signal()
    |             `- warning: capture of 'self' with non-sendable type 'HTTPSource' in a '@Sendable' closure
120 |         }
121 |
/Users/admin/builder/spi-builder-workspace/Source/Internal/Sources/HTTPSource.swift:116:17: warning: mutation of captured var 'size' in concurrently-executing code
114 |         let task = urlSession.dataTask(with: request) { _, response, error in
115 |             if error == nil, let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
116 |                 size = Int(httpResponse.expectedContentLength)
    |                 `- warning: mutation of captured var 'size' in concurrently-executing code
117 |             }
118 |
[4/17] Compiling Checksum HTTPSource.swift
/Users/admin/builder/spi-builder-workspace/Source/Internal/Sources/HTTPSource.swift:76:21: warning: capture of 'self' with non-sendable type 'HTTPSource' in a '@Sendable' closure
  9 | import Foundation
 10 |
 11 | class HTTPSource: InstantiableSource {
    |       `- note: class 'HTTPSource' does not conform to the 'Sendable' protocol
 12 |     typealias Provider = URL
 13 |
    :
 74 |
 75 |         let task = urlSession.dataTask(with: request) { data, response, _ in
 76 |             defer { self.semaphore.signal() }
    |                     `- warning: capture of 'self' with non-sendable type 'HTTPSource' in a '@Sendable' closure
 77 |
 78 |             guard let httpResponse = response as? HTTPURLResponse,
/Users/admin/builder/spi-builder-workspace/Source/Internal/Sources/HTTPSource.swift:76:21: warning: capture of 'self' with non-sendable type 'HTTPSource' in an isolated local function; this is an error in the Swift 6 language mode
  9 | import Foundation
 10 |
 11 | class HTTPSource: InstantiableSource {
    |       `- note: class 'HTTPSource' does not conform to the 'Sendable' protocol
 12 |     typealias Provider = URL
 13 |
    :
 74 |
 75 |         let task = urlSession.dataTask(with: request) { data, response, _ in
 76 |             defer { self.semaphore.signal() }
    |                     `- warning: capture of 'self' with non-sendable type 'HTTPSource' in an isolated local function; this is an error in the Swift 6 language mode
 77 |
 78 |             guard let httpResponse = response as? HTTPURLResponse,
/Users/admin/builder/spi-builder-workspace/Source/Internal/Sources/HTTPSource.swift:83:13: warning: mutation of captured var 'readData' in concurrently-executing code
 81 |                 let data = data else { return }
 82 |
 83 |             readData = data
    |             `- warning: mutation of captured var 'readData' in concurrently-executing code
 84 |
 85 |             if let size = contentRange.size {
/Users/admin/builder/spi-builder-workspace/Source/Internal/Sources/HTTPSource.swift:119:13: warning: capture of 'self' with non-sendable type 'HTTPSource' in a '@Sendable' closure
  9 | import Foundation
 10 |
 11 | class HTTPSource: InstantiableSource {
    |       `- note: class 'HTTPSource' does not conform to the 'Sendable' protocol
 12 |     typealias Provider = URL
 13 |
    :
117 |             }
118 |
119 |             self.semaphore.signal()
    |             `- warning: capture of 'self' with non-sendable type 'HTTPSource' in a '@Sendable' closure
120 |         }
121 |
/Users/admin/builder/spi-builder-workspace/Source/Internal/Sources/HTTPSource.swift:116:17: warning: mutation of captured var 'size' in concurrently-executing code
114 |         let task = urlSession.dataTask(with: request) { _, response, error in
115 |             if error == nil, let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
116 |                 size = Int(httpResponse.expectedContentLength)
    |                 `- warning: mutation of captured var 'size' in concurrently-executing code
117 |             }
118 |
[5/18] Compiling Checksum Sourceable.swift
[6/18] Compiling Checksum DataSource.swift
[7/18] Compiling Checksum URL+Source.swift
[8/18] Compiling Checksum Source.swift
[9/18] Compiling Checksum CCWrapper.swift
[10/18] Compiling Checksum Data+Source.swift
[11/18] Emitting module Checksum
[12/18] Compiling Checksum HTTPResponse+ContentRange.swift
[13/18] Compiling Checksum String+Source.swift
[14/18] Compiling Checksum ChecksumError.swift
[15/18] Compiling Checksum Chunksize.swift
[16/18] Compiling Checksum Extensions.swift
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:55:33: warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 53 |                          completion: @escaping CompletionHandler) {
 54 |         DispatchQueue.global(qos: .userInitiated).async {
 55 |             guard let source = (self as? Sourceable)?.source else {
    |                                 `- warning: capture of 'self' with non-sendable type 'Self' in a '@Sendable' closure
 56 |                 queue.async {
 57 |                     completion(.failure(.unusableSource))
Checksum.Checksumable.Self:2:1: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
1 | protocol Checksumable {
2 | Self : Checksum.Checksumable}
  | `- note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
3 |
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:57:21: warning: capture of 'completion' with non-sendable type 'CompletionHandler' (aka '(Result<String, ChecksumError>) -> ()') in a '@Sendable' closure
 55 |             guard let source = (self as? Sourceable)?.source else {
 56 |                 queue.async {
 57 |                     completion(.failure(.unusableSource))
    |                     |- warning: capture of 'completion' with non-sendable type 'CompletionHandler' (aka '(Result<String, ChecksumError>) -> ()') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 58 |                 }
 59 |
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:63:43: warning: capture of 'algorithm' with non-sendable type 'DigestAlgorithm' in a '@Sendable' closure
 61 |             }
 62 |
 63 |             let cc = CCWrapper(algorithm: algorithm)
    |                                           `- warning: capture of 'algorithm' with non-sendable type 'DigestAlgorithm' in a '@Sendable' closure
 64 |             let overallProgress = Progress()
 65 |
/Users/admin/builder/spi-builder-workspace/Source/Public/Enums/DigestAlgorithm.swift:13:13: note: consider making enum 'DigestAlgorithm' conform to the 'Sendable' protocol
11 |
12 | /// Represents a type of digest algorithm.
13 | public enum DigestAlgorithm {
   |             `- note: consider making enum 'DigestAlgorithm' conform to the 'Sendable' protocol
14 |     /// MD5 algorithm.
15 |     case md5
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:67:54: warning: capture of 'chunkSize' with non-sendable type 'Chunksize' in a '@Sendable' closure
 65 |
 66 |             while !source.eof() {
 67 |                 guard let data = source.read(amount: chunkSize.bytes) else { break }
    |                                                      `- warning: capture of 'chunkSize' with non-sendable type 'Chunksize' in a '@Sendable' closure
 68 |
 69 |                 overallProgress.totalUnitCount = Int64(source.size)
/Users/admin/builder/spi-builder-workspace/Source/Public/Enums/Chunksize.swift:12:13: note: consider making enum 'Chunksize' conform to the 'Sendable' protocol
10 |
11 | /// Represents a size to be used for chunk processing.
12 | public enum Chunksize {
   |             `- note: consider making enum 'Chunksize' conform to the 'Sendable' protocol
13 |     /// Tiny (16kb)
14 |     case tiny
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:77:39: warning: capture of 'progress' with non-sendable type 'ProgressHandler?' (aka 'Optional<(Progress) -> ()>') in a '@Sendable' closure
 75 |                     overallProgress.completedUnitCount += Int64(data.count)
 76 |
 77 |                     if let progress = progress {
    |                                       |- warning: capture of 'progress' with non-sendable type 'ProgressHandler?' (aka 'Optional<(Progress) -> ()>') in a '@Sendable' closure
    |                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 78 |                         queue.async {
 79 |                             progress(overallProgress)
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:57:21: warning: capture of 'completion' with non-sendable type 'CompletionHandler' (aka '(Result<String, ChecksumError>) -> ()') in a '@Sendable' closure
 55 |             guard let source = (self as? Sourceable)?.source else {
 56 |                 queue.async {
 57 |                     completion(.failure(.unusableSource))
    |                     |- warning: capture of 'completion' with non-sendable type 'CompletionHandler' (aka '(Result<String, ChecksumError>) -> ()') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 58 |                 }
 59 |
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:77:39: warning: capture of 'progress' with non-sendable type 'ProgressHandler?' (aka 'Optional<(Progress) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
 75 |                     overallProgress.completedUnitCount += Int64(data.count)
 76 |
 77 |                     if let progress = progress {
    |                                       |- warning: capture of 'progress' with non-sendable type 'ProgressHandler?' (aka 'Optional<(Progress) -> ()>') in an isolated closure; this is an error in the Swift 6 language mode
    |                                       `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 78 |                         queue.async {
 79 |                             progress(overallProgress)
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:79:29: warning: capture of 'progress' with non-sendable type 'ProgressHandler' (aka '(Progress) -> ()') in a '@Sendable' closure
 77 |                     if let progress = progress {
 78 |                         queue.async {
 79 |                             progress(overallProgress)
    |                             |- warning: capture of 'progress' with non-sendable type 'ProgressHandler' (aka '(Progress) -> ()') in a '@Sendable' closure
    |                             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 80 |                         }
 81 |                     }
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:88:35: warning: capture of 'cc' with non-sendable type 'CCWrapper' in a '@Sendable' closure
 86 |
 87 |             queue.async {
 88 |                 if let checksum = cc.hexString() {
    |                                   `- warning: capture of 'cc' with non-sendable type 'CCWrapper' in a '@Sendable' closure
 89 |                     completion(.success(checksum))
 90 |                 } else {
/Users/admin/builder/spi-builder-workspace/Source/Internal/CCWrapper.swift:12:22: note: class 'CCWrapper' does not conform to the 'Sendable' protocol
 10 | import Foundation
 11 |
 12 | internal final class CCWrapper {
    |                      `- note: class 'CCWrapper' does not conform to the 'Sendable' protocol
 13 |     private typealias CC_XXX_Update = (UnsafeRawPointer, CC_LONG) -> Void
 14 |     private typealias CC_XXX_Final = (UnsafeMutablePointer<UInt8>) -> Void
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:89:21: warning: capture of 'completion' with non-sendable type 'CompletionHandler' (aka '(Result<String, ChecksumError>) -> ()') in a '@Sendable' closure
 87 |             queue.async {
 88 |                 if let checksum = cc.hexString() {
 89 |                     completion(.success(checksum))
    |                     |- warning: capture of 'completion' with non-sendable type 'CompletionHandler' (aka '(Result<String, ChecksumError>) -> ()') in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 90 |                 } else {
 91 |                     completion(.failure(.unknown))
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:156:25: warning: capture of 'completion' with non-sendable type 'MultipleCompletionHandler' (aka '(Result<Array<(checksumable: any Checksumable, checksum: Optional<String>)>, ChecksumError>) -> ()') in a '@Sendable' closure
154 |                 if checksums.count == self.count {
155 |                     queue.async {
156 |                         completion(.success(checksums))
    |                         |- warning: capture of 'completion' with non-sendable type 'MultipleCompletionHandler' (aka '(Result<Array<(checksumable: any Checksumable, checksum: Optional<String>)>, ChecksumError>) -> ()') in a '@Sendable' closure
    |                         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
157 |                     }
158 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:156:45: warning: capture of 'checksums' with non-sendable type '[ChecksumResult]' (aka 'Array<(checksumable: any Checksumable, checksum: Optional<String>)>') in a '@Sendable' closure
154 |                 if checksums.count == self.count {
155 |                     queue.async {
156 |                         completion(.success(checksums))
    |                                             `- warning: capture of 'checksums' with non-sendable type '[ChecksumResult]' (aka 'Array<(checksumable: any Checksumable, checksum: Optional<String>)>') in a '@Sendable' closure
157 |                     }
158 |                 }
/Users/admin/builder/spi-builder-workspace/Source/Public/Protocols/Checksumable.swift:12:17: note: protocol 'Checksumable' does not conform to the 'Sendable' protocol
10 |
11 | /// The protocol any subject whose checksum may be calculated must conform to.
12 | public protocol Checksumable {
   |                 `- note: protocol 'Checksumable' does not conform to the 'Sendable' protocol
13 |     /// :nodoc:
14 |     var hashValue: Int { get }
/Users/admin/builder/spi-builder-workspace/Source/Public/Extensions.swift:156:45: warning: reference to captured var 'checksums' in concurrently-executing code
154 |                 if checksums.count == self.count {
155 |                     queue.async {
156 |                         completion(.success(checksums))
    |                                             `- warning: reference to captured var 'checksums' in concurrently-executing code
157 |                     }
158 |                 }
[17/18] Compiling Checksum DigestAlgorithm.swift
[18/18] Compiling Checksum Checksumable.swift
Build complete! (4.54s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Checksum",
  "name" : "Checksum",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.11"
    },
    {
      "name" : "ios",
      "version" : "9.0"
    },
    {
      "name" : "tvos",
      "version" : "9.0"
    },
    {
      "name" : "watchos",
      "version" : "2.0"
    }
  ],
  "products" : [
    {
      "name" : "Checksum",
      "targets" : [
        "Checksum"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "Checksum",
      "module_type" : "SwiftTarget",
      "name" : "Checksum",
      "path" : "Source",
      "product_memberships" : [
        "Checksum"
      ],
      "sources" : [
        "Internal/CCWrapper.swift",
        "Internal/Extensions/Data+Source.swift",
        "Internal/Extensions/HTTPResponse+ContentRange.swift",
        "Internal/Extensions/String+Source.swift",
        "Internal/Extensions/URL+Source.swift",
        "Internal/Protocols/Source.swift",
        "Internal/Protocols/Sourceable.swift",
        "Internal/Sources/DataSource.swift",
        "Internal/Sources/FileSource.swift",
        "Internal/Sources/HTTPSource.swift",
        "Public/Enums/ChecksumError.swift",
        "Public/Enums/Chunksize.swift",
        "Public/Enums/DigestAlgorithm.swift",
        "Public/Extensions.swift",
        "Public/Protocols/Checksumable.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.1"
}
Done.