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 ViewState, reference 2.0.1 (8d07d9), with Swift 6.0 for Linux on 3 Nov 2024 05:53:40 UTC.

Swift 6 data race errors: 0

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/heroesofcode/ViewState.git
Reference: 2.0.1
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/heroesofcode/ViewState
 * tag               2.0.1      -> FETCH_HEAD
HEAD is now at 8d07d9f Bump version to 2.0.1
Cloned https://github.com/heroesofcode/ViewState.git
Revision (git rev-parse @):
8d07d9fc74b8840c62dc8a2a1a64c7c878374890
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/heroesofcode/ViewState.git at 2.0.1
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/heroesofcode/ViewState.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/6] Compiling ViewState ViewState.swift
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:27:51: warning: variable 'self' was written to, but never read
 25 |     @discardableResult
 26 |     public func successObserver(_ success: @escaping (T) -> Void) -> ViewState {
 27 |         successBehavior.addObserver(self) { [weak self] data in
    |                                                   `- warning: variable 'self' was written to, but never read
 28 |             guard let data else { return }
 29 |             DispatchQueue.main.async {
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:30:17: warning: capture of 'success' with non-sendable type '(T) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 28 |             guard let data else { return }
 29 |             DispatchQueue.main.async {
 30 |                 success(data)
    |                 |- warning: capture of 'success' with non-sendable type '(T) -> Void' 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'
 31 |             }
 32 |         }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:30:25: warning: capture of 'data' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | public class ViewState<T, E>: ObserverProtocol {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
  4 |
  5 |     var id: Int = 123
    :
 28 |             guard let data else { return }
 29 |             DispatchQueue.main.async {
 30 |                 success(data)
    |                         `- warning: capture of 'data' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 31 |             }
 32 |         }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:40:51: warning: variable 'self' was written to, but never read
 38 |     @discardableResult
 39 |     public func loadingObserver(_ loading: @escaping () -> Void) -> ViewState {
 40 |         loadingBehavior.addObserver(self) { [weak self] _ in
    |                                                   `- warning: variable 'self' was written to, but never read
 41 |             DispatchQueue.main.async {
 42 |                 loading()
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:42:17: warning: capture of 'loading' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 40 |         loadingBehavior.addObserver(self) { [weak self] _ in
 41 |             DispatchQueue.main.async {
 42 |                 loading()
    |                 |- warning: capture of 'loading' with non-sendable type '() -> Void' 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'
 43 |             }
 44 |         }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:52:49: warning: variable 'self' was written to, but never read
 50 |     @discardableResult
 51 |     public func errorObserver(_ error: @escaping (E) -> Void) -> ViewState {
 52 |         errorBehavior.addObserver(self) { [weak self] errorMessage in
    |                                                 `- warning: variable 'self' was written to, but never read
 53 |             guard let errorMessage else { return }
 54 |             DispatchQueue.main.async {
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:55:17: warning: capture of 'error' with non-sendable type '(E) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 53 |             guard let errorMessage else { return }
 54 |             DispatchQueue.main.async {
 55 |                 error(errorMessage)
    |                 |- warning: capture of 'error' with non-sendable type '(E) -> Void' 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'
 56 |             }
 57 |         }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:55:23: warning: capture of 'errorMessage' with non-sendable type 'E' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | public class ViewState<T, E>: ObserverProtocol {
    |                           `- note: consider making generic parameter 'E' conform to the 'Sendable' protocol
  4 |
  5 |     var id: Int = 123
    :
 53 |             guard let errorMessage else { return }
 54 |             DispatchQueue.main.async {
 55 |                 error(errorMessage)
    |                       `- warning: capture of 'errorMessage' with non-sendable type 'E' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 56 |             }
 57 |         }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:69:13: warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | public class ViewState<T, E>: ObserverProtocol {
    |              `- note: generic class 'ViewState' does not conform to the 'Sendable' protocol
  4 |
  5 |     var id: Int = 123
    :
 67 |     private func postRequest() {
 68 |         stateQueue.async(flags: .barrier) {
 69 |             self.verifyCanMakeRequest.value = Any.self
    |             `- warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 70 |         }
 71 |     }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:84:13: warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | public class ViewState<T, E>: ObserverProtocol {
    |              `- note: generic class 'ViewState' does not conform to the 'Sendable' protocol
  4 |
  5 |     var id: Int = 123
    :
 82 |     private func loading() {
 83 |         stateQueue.async(flags: .barrier) {
 84 |             self.loadingBehavior.value = {}
    |             `- warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 85 |         }
 86 |     }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:90:13: warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | public class ViewState<T, E>: ObserverProtocol {
    |              `- note: generic class 'ViewState' does not conform to the 'Sendable' protocol
  4 |
  5 |     var id: Int = 123
    :
 88 |     public func success(data: T) {
 89 |         stateQueue.async(flags: .barrier) {
 90 |             self.clearErrors()
    |             `- warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 91 |             self.successBehavior.value = data
 92 |         }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:91:42: warning: capture of 'data' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | public class ViewState<T, E>: ObserverProtocol {
    |                        `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
  4 |
  5 |     var id: Int = 123
    :
 89 |         stateQueue.async(flags: .barrier) {
 90 |             self.clearErrors()
 91 |             self.successBehavior.value = data
    |                                          `- warning: capture of 'data' with non-sendable type 'T' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 92 |         }
 93 |     }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:97:13: warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | public class ViewState<T, E>: ObserverProtocol {
    |              `- note: generic class 'ViewState' does not conform to the 'Sendable' protocol
  4 |
  5 |     var id: Int = 123
    :
 95 |     public func error(error: E) {
 96 |         stateQueue.async(flags: .barrier) {
 97 |             self.clearSuccess()
    |             `- warning: capture of 'self' with non-sendable type 'ViewState<T, E>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 98 |             self.errorBehavior.value = error
 99 |         }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:98:40: warning: capture of 'error' with non-sendable type 'E' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  1 | import Foundation
  2 |
  3 | public class ViewState<T, E>: ObserverProtocol {
    |                           `- note: consider making generic parameter 'E' conform to the 'Sendable' protocol
  4 |
  5 |     var id: Int = 123
    :
 96 |         stateQueue.async(flags: .barrier) {
 97 |             self.clearSuccess()
 98 |             self.errorBehavior.value = error
    |                                        `- warning: capture of 'error' with non-sendable type 'E' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 99 |         }
100 |     }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:30:17: warning: sending 'success' risks causing data races; this is an error in the Swift 6 language mode
 28 |             guard let data else { return }
 29 |             DispatchQueue.main.async {
 30 |                 success(data)
    |                 |- warning: sending 'success' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'success' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 31 |             }
 32 |         }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:30:25: warning: sending 'data' risks causing data races; this is an error in the Swift 6 language mode
 28 |             guard let data else { return }
 29 |             DispatchQueue.main.async {
 30 |                 success(data)
    |                         |- warning: sending 'data' risks causing data races; this is an error in the Swift 6 language mode
    |                         `- note: task-isolated 'data' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 31 |             }
 32 |         }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:42:17: warning: sending 'loading' risks causing data races; this is an error in the Swift 6 language mode
 40 |         loadingBehavior.addObserver(self) { [weak self] _ in
 41 |             DispatchQueue.main.async {
 42 |                 loading()
    |                 |- warning: sending 'loading' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'loading' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 43 |             }
 44 |         }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:55:17: warning: sending 'error' risks causing data races; this is an error in the Swift 6 language mode
 53 |             guard let errorMessage else { return }
 54 |             DispatchQueue.main.async {
 55 |                 error(errorMessage)
    |                 |- warning: sending 'error' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'error' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 56 |             }
 57 |         }
/host/spi-builder-workspace/Sources/ViewState/ViewState.swift:55:23: warning: sending 'errorMessage' risks causing data races; this is an error in the Swift 6 language mode
 53 |             guard let errorMessage else { return }
 54 |             DispatchQueue.main.async {
 55 |                 error(errorMessage)
    |                       |- warning: sending 'errorMessage' risks causing data races; this is an error in the Swift 6 language mode
    |                       `- note: task-isolated 'errorMessage' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 56 |             }
 57 |         }
[4/6] Compiling ViewState ObserverProtocol.swift
[5/6] Compiling ViewState Observable.swift
[6/6] Emitting module ViewState
Build complete! (9.36s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "ViewState",
  "name" : "ViewState",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "12.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "12.0"
    },
    {
      "name" : "watchos",
      "version" : "4.0"
    }
  ],
  "products" : [
    {
      "name" : "ViewState",
      "targets" : [
        "ViewState"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ViewStateTests",
      "module_type" : "SwiftTarget",
      "name" : "ViewStateTests",
      "path" : "Tests/ViewStateTests",
      "sources" : [
        "Doubles/ViewStateSpy.swift",
        "ObservableTests.swift",
        "ViewModel.swift",
        "ViewStateTests.swift"
      ],
      "target_dependencies" : [
        "ViewState"
      ],
      "type" : "test"
    },
    {
      "c99name" : "ViewState",
      "module_type" : "SwiftTarget",
      "name" : "ViewState",
      "path" : "Sources/ViewState",
      "product_memberships" : [
        "ViewState"
      ],
      "sources" : [
        "Observable.swift",
        "ObserverProtocol.swift",
        "ViewState.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.8"
}
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
Done.