This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of Checksum with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/rnine/Checksum.git
Reference: develop
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/rnine/Checksum
 * branch            develop    -> FETCH_HEAD
 * [new branch]      develop    -> origin/develop
HEAD is now at cd1ae53 Minor cleanup.
Cloned https://github.com/rnine/Checksum.git
Revision (git rev-parse @):
cd1ae53384dd578a84a0afef492a4f5d6202b068
SUCCESS checkout https://github.com/rnine/Checksum.git at develop
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/rnine/Checksum.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/17] Compiling Checksum DigestAlgorithm.swift
[4/17] Compiling Checksum Extensions.swift
<unknown>:0: note: consider making generic parameter 'Self' conform to the 'Sendable' protocol
/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; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
 56 |                 queue.async {
 57 |                     completion(.failure(.unusableSource))
/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; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
    |                     `- 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; this is an error in the Swift 6 language mode
 61 |             }
 62 |
 63 |             let cc = CCWrapper(algorithm: algorithm)
    |                                           `- warning: capture of 'algorithm' with non-sendable type 'DigestAlgorithm' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
 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; 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 a `@Sendable` 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:57:21: warning: capture of 'completion' with non-sendable type 'CompletionHandler' (aka '(Result<String, ChecksumError>) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
    |                     `- 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; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
    |                             `- 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; this is an error in the Swift 6 language mode
 86 |
 87 |             queue.async {
 88 |                 if let checksum = cc.hexString() {
    |                                   `- warning: capture of 'cc' with non-sendable type 'CCWrapper' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
 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; this is an error in the Swift 6 language mode
    |                     `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
    |                         `- 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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
154 |                 if checksums.count == self.count {
155 |                     queue.async {
156 |                         completion(.success(checksums))
    |                                             `- warning: reference to captured var 'checksums' in concurrently-executing code; this is an error in the Swift 6 language mode
157 |                     }
158 |                 }
[5/17] Compiling Checksum Chunksize.swift
[6/17] Compiling Checksum ChecksumError.swift
[7/18] Compiling Checksum Sourceable.swift
[8/18] Compiling Checksum DataSource.swift
[9/18] Compiling Checksum HTTPResponse+ContentRange.swift
[10/18] Compiling Checksum String+Source.swift
[11/18] Compiling Checksum CCWrapper.swift
[12/18] Compiling Checksum Data+Source.swift
[13/18] Compiling Checksum URL+Source.swift
[14/18] Compiling Checksum Source.swift
[15/18] Emitting module Checksum
[16/18] 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; 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 a `@Sendable` closure; 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: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; this is an error in the Swift 6 language mode
 81 |                 let data = data else { return }
 82 |
 83 |             readData = data
    |             `- warning: mutation of captured var 'readData' in concurrently-executing code; this is an error in the Swift 6 language mode
 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; 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 |
    :
117 |             }
118 |
119 |             self.semaphore.signal()
    |             `- warning: capture of 'self' with non-sendable type 'HTTPSource' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
117 |             }
118 |
[17/18] 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; 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 a `@Sendable` closure; 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: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; this is an error in the Swift 6 language mode
 81 |                 let data = data else { return }
 82 |
 83 |             readData = data
    |             `- warning: mutation of captured var 'readData' in concurrently-executing code; this is an error in the Swift 6 language mode
 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; 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 |
    :
117 |             }
118 |
119 |             self.semaphore.signal()
    |             `- warning: capture of 'self' with non-sendable type 'HTTPSource' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
117 |             }
118 |
[18/18] Compiling Checksum Checksumable.swift
Build complete! (21.53s)
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.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.