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 ZEGBot, reference develop (a2308c), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 20:30:51 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.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.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/shaneqi/zegbot.git
Reference: develop
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/shaneqi/zegbot
 * branch            develop    -> FETCH_HEAD
 * [new branch]      develop    -> origin/develop
HEAD is now at a2308c9 Merge branch 'release/4.2.8' into develop
Cloned https://github.com/shaneqi/zegbot.git
Revision (git rev-parse @):
a2308c974db45846b42f1f615d1531358e4d4162
SUCCESS checkout https://github.com/shaneqi/zegbot.git at develop
========================================
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": "zegbot",
      "name": "ZEGBot",
      "url": "https://github.com/shaneqi/zegbot.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/zegbot",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/shaneqi/zegbot.git
[1/1004] Fetching zegbot
Fetched https://github.com/shaneqi/zegbot.git from cache (1.16s)
Creating working copy for https://github.com/shaneqi/zegbot.git
Working copy of https://github.com/shaneqi/zegbot.git resolved at develop (a2308c9)
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/shaneqi/zegbot.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/7] Write sources
[2/7] Write ZEGBotExample-entitlement.plist
[3/7] Write swift-version--7754E27361AE5C74.txt
[5/17] Compiling ZEGBot Network.swift
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:49:5: warning: capture of 'result' with non-sendable type 'Result<Output>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 47 | 		let task = URLSession(configuration: .default).dataTask(with: request) { data, _, error in
 48 | 			if let data = data {
 49 | 				result = Result<Output>.decode(from: data)
    |     `- warning: capture of 'result' with non-sendable type 'Result<Output>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 50 | 			} else {
 51 | 				result = .failure(error!)
/Users/admin/builder/spi-builder-workspace/Sources/Utilities.swift:11:13: note: consider making generic enum 'Result' conform to the 'Sendable' protocol
 9 | import Foundation
10 |
11 | public enum Result<T>: Decodable where T: Decodable {
   |             `- note: consider making generic enum 'Result' conform to the 'Sendable' protocol
12 |
13 | 	case success(T)
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:49:5: warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
 47 | 		let task = URLSession(configuration: .default).dataTask(with: request) { data, _, error in
 48 | 			if let data = data {
 49 | 				result = Result<Output>.decode(from: data)
    |     `- warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
 50 | 			} else {
 51 | 				result = .failure(error!)
/Users/admin/builder/spi-builder-workspace/Sources/Network.swift:51:5: warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
 49 | 				result = Result<Output>.decode(from: data)
 50 | 			} else {
 51 | 				result = .failure(error!)
    |     `- warning: mutation of captured var 'result' in concurrently-executing code; this is an error in the Swift 6 language mode
 52 | 			}
 53 | 			semaphore.signal()
[6/17] Compiling ZEGBot HelperTypes.swift
[7/17] Emitting module ZEGBot
[8/17] Compiling ZEGBot Updating.swift
[9/17] Compiling ZEGBot Sending.swift
[10/17] Compiling ZEGBot Methods.swift
[11/17] Compiling ZEGBot Types.swift
[12/17] Compiling ZEGBot ZEGBot.swift
/Users/admin/builder/spi-builder-workspace/Sources/ZEGBot.swift:53:6: warning: capture of 'handler' with non-sendable type 'UpdatesHandler' (aka '(Array<Update>, ZEGBot) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
51 | 						}
52 | 					}
53 | 					handler(updates, self)
   |      |- warning: capture of 'handler' with non-sendable type 'UpdatesHandler' (aka '(Array<Update>, ZEGBot) -> ()') 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'
54 | 				case .failure(let error):
55 | 					encounterError = error
/Users/admin/builder/spi-builder-workspace/Sources/ZEGBot.swift:53:23: warning: capture of 'self' with non-sendable type 'ZEGBot' in a `@Sendable` closure; this is an error in the Swift 6 language mode
17 | public typealias UpdatesHandler = ([Update], ZEGBot) -> Void
18 |
19 | public struct ZEGBot {
   |               `- note: consider making struct 'ZEGBot' conform to the 'Sendable' protocol
20 |
21 | 	internal let session = URLSession(configuration: .default)
   :
51 | 						}
52 | 					}
53 | 					handler(updates, self)
   |                       `- warning: capture of 'self' with non-sendable type 'ZEGBot' in a `@Sendable` closure; this is an error in the Swift 6 language mode
54 | 				case .failure(let error):
55 | 					encounterError = error
/Users/admin/builder/spi-builder-workspace/Sources/ZEGBot.swift:37:6: warning: mutation of captured var 'encounterError' in concurrently-executing code; this is an error in the Swift 6 language mode
35 | 			with: URL(string: urlPrefix + "getupdates?timeout=60&offset=\(offset)")!) { data, _, error in
36 | 				guard let data = data else {
37 | 					encounterError = error!
   |      `- warning: mutation of captured var 'encounterError' in concurrently-executing code; this is an error in the Swift 6 language mode
38 | 					semaphore.signal()
39 | 					return
/Users/admin/builder/spi-builder-workspace/Sources/ZEGBot.swift:50:8: warning: mutation of captured var 'offset' in concurrently-executing code; this is an error in the Swift 6 language mode
48 | 								.callbackQuery(updateId: let updateId, _),
49 | 								.unimplemented(updateId: let updateId):
50 | 							offset = updateId + 1
   |        `- warning: mutation of captured var 'offset' in concurrently-executing code; this is an error in the Swift 6 language mode
51 | 						}
52 | 					}
/Users/admin/builder/spi-builder-workspace/Sources/ZEGBot.swift:55:6: warning: mutation of captured var 'encounterError' in concurrently-executing code; this is an error in the Swift 6 language mode
53 | 					handler(updates, self)
54 | 				case .failure(let error):
55 | 					encounterError = error
   |      `- warning: mutation of captured var 'encounterError' in concurrently-executing code; this is an error in the Swift 6 language mode
56 | 				}
57 | 				semaphore.signal()
[13/17] Compiling ZEGBot Extensions.swift
[14/17] Compiling ZEGBot Utilities.swift
[15/19] Compiling ZEGBotExample main.swift
[16/19] Emitting module ZEGBotExample
[16/19] Write Objects.LinkFileList
[17/19] Linking ZEGBotExample
[18/19] Applying ZEGBotExample
Build complete! (12.68s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ZEGBot",
  "name" : "ZEGBot",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "ZEGBot",
      "targets" : [
        "ZEGBot"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ZEGBotExample",
      "targets" : [
        "ZEGBotExample"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "ZEGBotTests",
      "module_type" : "SwiftTarget",
      "name" : "ZEGBotTests",
      "path" : "Tests/ZEGBotTests",
      "sources" : [
        "ZEGBotTests.swift"
      ],
      "target_dependencies" : [
        "ZEGBot"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ZEGBotExample",
      "module_type" : "SwiftTarget",
      "name" : "ZEGBotExample",
      "path" : "Example",
      "product_memberships" : [
        "ZEGBotExample"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "ZEGBot"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "ZEGBot",
      "module_type" : "SwiftTarget",
      "name" : "ZEGBot",
      "path" : "Sources",
      "product_memberships" : [
        "ZEGBot",
        "ZEGBotExample"
      ],
      "sources" : [
        "Extensions.swift",
        "HelperTypes.swift",
        "Methods.swift",
        "Network.swift",
        "Sending.swift",
        "Types.swift",
        "Updating.swift",
        "Utilities.swift",
        "ZEGBot.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.