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 4 Nov 2024 05:04:13 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/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 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
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-4609320-2":/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 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