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

Failed to build Chary, reference 1.0.7 (f4d257), with Swift 6.0 for Linux on 30 Nov 2024 12:28:36 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/hainayanda/Chary.git
Reference: 1.0.7
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/hainayanda/Chary
 * tag               1.0.7      -> FETCH_HEAD
HEAD is now at f4d2572 Make chary to be available on macOS, tvOS and watchOS
Cloned https://github.com/hainayanda/Chary.git
Revision (git rev-parse @):
f4d25724270c35d786cbf7102dd238941b525b69
SUCCESS checkout https://github.com/hainayanda/Chary.git at 1.0.7
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/hainayanda/Chary.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-24593BA9C3E375BF.txt
[3/5] Compiling Chary Atomic.swift
[4/5] Emitting module Chary
/host/spi-builder-workspace/Chary/Classes/DispatchQueue+Extensions.swift:16:17: warning: let 'detectionKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<QueueReference>' may have shared mutable state; this is an error in the Swift 6 language mode
 14 | }
 15 |
 16 | fileprivate let detectionKey = DispatchSpecificKey<QueueReference>()
    |                 `- warning: let 'detectionKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<QueueReference>' may have shared mutable state; this is an error in the Swift 6 language mode
 17 |
 18 | extension DispatchQueue {
Dispatch.DispatchSpecificKey:1:20: note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
1 | final public class DispatchSpecificKey<T> {
  |                    `- note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
2 |     public init()
3 |     deinit
/host/spi-builder-workspace/Chary/Classes/DispatchQueue+Extensions.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
  6 | //
  7 |
  8 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
  9 |
 10 | // MARK: Detection
    :
 14 | }
 15 |
 16 | fileprivate let detectionKey = DispatchSpecificKey<QueueReference>()
    |                 |- note: annotate 'detectionKey' with '@MainActor' if property should only be accessed from the main actor
    |                 `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 | extension DispatchQueue {
[5/5] Compiling Chary DispatchQueue+Extensions.swift
/host/spi-builder-workspace/Chary/Classes/DispatchQueue+Extensions.swift:16:17: warning: let 'detectionKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<QueueReference>' may have shared mutable state; this is an error in the Swift 6 language mode
 14 | }
 15 |
 16 | fileprivate let detectionKey = DispatchSpecificKey<QueueReference>()
    |                 `- warning: let 'detectionKey' is not concurrency-safe because non-'Sendable' type 'DispatchSpecificKey<QueueReference>' may have shared mutable state; this is an error in the Swift 6 language mode
 17 |
 18 | extension DispatchQueue {
Dispatch.DispatchSpecificKey:1:20: note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
1 | final public class DispatchSpecificKey<T> {
  |                    `- note: generic class 'DispatchSpecificKey' does not conform to the 'Sendable' protocol
2 |     public init()
3 |     deinit
/host/spi-builder-workspace/Chary/Classes/DispatchQueue+Extensions.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
  6 | //
  7 |
  8 | import Foundation
    | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Dispatch'
  9 |
 10 | // MARK: Detection
    :
 14 | }
 15 |
 16 | fileprivate let detectionKey = DispatchSpecificKey<QueueReference>()
    |                 |- note: annotate 'detectionKey' with '@MainActor' if property should only be accessed from the main actor
    |                 `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |
 18 | extension DispatchQueue {
/host/spi-builder-workspace/Chary/Classes/DispatchQueue+Extensions.swift:60:24: error: operator function '==' requires that 'DispatchQueue' conform to 'Equatable'
 58 |     public static func isCurrentQueue(is queue: DispatchQueue) -> Bool {
 59 |         queue.registerDetection()
 60 |         return current == queue
    |                        `- error: operator function '==' requires that 'DispatchQueue' conform to 'Equatable'
 61 |     }
 62 | }
Swift.Optional:1:11: note: requirement from conditional conformance of 'Optional<DispatchQueue>' to 'Equatable'
1 | extension Optional : Equatable where Wrapped : Equatable {
  |           `- note: requirement from conditional conformance of 'Optional<DispatchQueue>' to 'Equatable'
2 |     public static func == (lhs: Wrapped?, rhs: Wrapped?) -> Bool
3 | }
/host/spi-builder-workspace/Chary/Classes/DispatchQueue+Extensions.swift:101:52: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
 97 |     /// Perform asynchronous task if in different queue than the target. It will run the block right away if turns out its on the same queue as the target
 98 |     /// - Parameter block: The work item to be invoked on the queue.
 99 |     public func asyncIfNeeded(qos: DispatchQoS = .unspecified, flags: DispatchWorkItemFlags = [], execute block: @escaping () -> Void) {
    |                                                                                                           `- note: parameter 'block' is implicitly non-sendable
100 |         ifAtDifferentQueue {
101 |             async(qos: qos, flags: flags, execute: block)
    |                                                    `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
102 |         } ifNot: {
103 |             block()
BUILD FAILURE 6.0 linux