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 CircuitBreaker, reference 5.1.0 (bd4255), with Swift 6.0 for Linux on 28 Nov 2024 20:09:16 UTC.

Swift 6 data race errors: 3

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.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Kitura/CircuitBreaker.git
Reference: 5.1.0
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/Kitura/CircuitBreaker
 * tag               5.1.0      -> FETCH_HEAD
HEAD is now at bd42557 Swift 5.2 is now the minimum supported version.  Update github org to Kitura (#57)
Cloned https://github.com/Kitura/CircuitBreaker.git
Revision (git rev-parse @):
bd4255762e48cc3748a448d197f1297a4ba705f7
SUCCESS checkout https://github.com/Kitura/CircuitBreaker.git at 5.1.0
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.0
Building package at path:  $PWD
https://github.com/Kitura/CircuitBreaker.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
Fetching https://github.com/Kitura/LoggerAPI.git
[1/771] Fetching loggerapi
Fetched https://github.com/Kitura/LoggerAPI.git from cache (0.21s)
Computing version for https://github.com/Kitura/LoggerAPI.git
Computed https://github.com/Kitura/LoggerAPI.git at 1.9.200 (0.49s)
Fetching https://github.com/apple/swift-log.git
[1/3709] Fetching swift-log
Fetched https://github.com/apple/swift-log.git from cache (0.36s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.2 (0.39s)
Creating working copy for https://github.com/Kitura/LoggerAPI.git
Working copy of https://github.com/Kitura/LoggerAPI.git resolved at 1.9.200
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.2
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version-24593BA9C3E375BF.txt
[5/9] Compiling Logging Locks.swift
[6/9] Compiling Logging MetadataProvider.swift
[7/9] Compiling Logging LogHandler.swift
[8/9] Emitting module Logging
[9/9] Compiling Logging Logging.swift
[11/12] Compiling LoggerAPI Logger.swift
[12/12] Emitting module LoggerAPI
[14/23] Compiling CircuitBreaker Monitor.swift
/host/spi-builder-workspace/Sources/CircuitBreaker/Monitor.swift:34:32: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
32 |
33 | /// Protocol identifying a statistics provider.
34 | public protocol StatsProvider: class {
   |                                `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
35 |
36 |   /// Registers a monitor for a referenced CircuitBreaker.
[15/23] Compiling CircuitBreaker MonitorCollection.swift
/host/spi-builder-workspace/Sources/CircuitBreaker/MonitorCollection.swift:21:23: warning: static property 'sharedInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |   internal var values: [StatsMonitor] = []
20 |
21 |   internal static var sharedInstance = MonitorCollection()
   |                       |- warning: static property 'sharedInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'sharedInstance' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'sharedInstance' 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
22 |
23 |   private init() {}
[16/24] Compiling CircuitBreaker Invocation.swift
[17/24] Compiling CircuitBreaker Utils.swift
[18/24] Compiling CircuitBreaker Stats.swift
[19/24] Compiling CircuitBreaker Snapshot.swift
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:69:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 67 |
 68 |   /// Type of data object
 69 |   let type: String = "HystrixCommand"
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'type' case to silence this warning
    |       `- note: make the property mutable instead
 70 |
 71 |   // Untracked Stats
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:72:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 70 |
 71 |   // Untracked Stats
 72 |   let rollingCountBadRequests: Int = 0
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'rollingCountBadRequests' case to silence this warning
    |       `- note: make the property mutable instead
 73 |   let rollingCountCollapsedRequests: Int = 0
 74 |   let rollingCountExceptionsThrown: Int =  0
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:73:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 71 |   // Untracked Stats
 72 |   let rollingCountBadRequests: Int = 0
 73 |   let rollingCountCollapsedRequests: Int = 0
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'rollingCountCollapsedRequests' case to silence this warning
    |       `- note: make the property mutable instead
 74 |   let rollingCountExceptionsThrown: Int =  0
 75 |   let rollingCountFallbackFailure: Int = 0
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:74:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 72 |   let rollingCountBadRequests: Int = 0
 73 |   let rollingCountCollapsedRequests: Int = 0
 74 |   let rollingCountExceptionsThrown: Int =  0
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'rollingCountExceptionsThrown' case to silence this warning
    |       `- note: make the property mutable instead
 75 |   let rollingCountFallbackFailure: Int = 0
 76 |   let rollingCountFallbackRejection: Int = 0
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:75:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 73 |   let rollingCountCollapsedRequests: Int = 0
 74 |   let rollingCountExceptionsThrown: Int =  0
 75 |   let rollingCountFallbackFailure: Int = 0
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'rollingCountFallbackFailure' case to silence this warning
    |       `- note: make the property mutable instead
 76 |   let rollingCountFallbackRejection: Int = 0
 77 |   let rollingCountFallbackSuccess: Int = 0
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:76:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 74 |   let rollingCountExceptionsThrown: Int =  0
 75 |   let rollingCountFallbackFailure: Int = 0
 76 |   let rollingCountFallbackRejection: Int = 0
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'rollingCountFallbackRejection' case to silence this warning
    |       `- note: make the property mutable instead
 77 |   let rollingCountFallbackSuccess: Int = 0
 78 |   let rollingCountResponsesFromCache: Int = 0
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:77:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 75 |   let rollingCountFallbackFailure: Int = 0
 76 |   let rollingCountFallbackRejection: Int = 0
 77 |   let rollingCountFallbackSuccess: Int = 0
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'rollingCountFallbackSuccess' case to silence this warning
    |       `- note: make the property mutable instead
 78 |   let rollingCountResponsesFromCache: Int = 0
 79 |   let rollingCountSemaphoreRejected: Int = 0
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:78:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 76 |   let rollingCountFallbackRejection: Int = 0
 77 |   let rollingCountFallbackSuccess: Int = 0
 78 |   let rollingCountResponsesFromCache: Int = 0
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'rollingCountResponsesFromCache' case to silence this warning
    |       `- note: make the property mutable instead
 79 |   let rollingCountSemaphoreRejected: Int = 0
 80 |   let rollingCountThreadPoolRejected: Int = 0
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:79:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 77 |   let rollingCountFallbackSuccess: Int = 0
 78 |   let rollingCountResponsesFromCache: Int = 0
 79 |   let rollingCountSemaphoreRejected: Int = 0
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'rollingCountSemaphoreRejected' case to silence this warning
    |       `- note: make the property mutable instead
 80 |   let rollingCountThreadPoolRejected: Int = 0
 81 |   let currentConcurrentExecutionCount: Int = 0
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:80:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 78 |   let rollingCountResponsesFromCache: Int = 0
 79 |   let rollingCountSemaphoreRejected: Int = 0
 80 |   let rollingCountThreadPoolRejected: Int = 0
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'rollingCountThreadPoolRejected' case to silence this warning
    |       `- note: make the property mutable instead
 81 |   let currentConcurrentExecutionCount: Int = 0
 82 |   let propertyValue_circuitBreakerRequestVolumeThreshold: Int = 0 //json.waitThreshold
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:81:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 79 |   let rollingCountSemaphoreRejected: Int = 0
 80 |   let rollingCountThreadPoolRejected: Int = 0
 81 |   let currentConcurrentExecutionCount: Int = 0
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'currentConcurrentExecutionCount' case to silence this warning
    |       `- note: make the property mutable instead
 82 |   let propertyValue_circuitBreakerRequestVolumeThreshold: Int = 0 //json.waitThreshold
 83 |   let propertyValue_circuitBreakerSleepWindowInMilliseconds: Int = 0 //json.circuitDuration
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:82:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 80 |   let rollingCountThreadPoolRejected: Int = 0
 81 |   let currentConcurrentExecutionCount: Int = 0
 82 |   let propertyValue_circuitBreakerRequestVolumeThreshold: Int = 0 //json.waitThreshold
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_circuitBreakerRequestVolumeThreshold' case to silence this warning
    |       `- note: make the property mutable instead
 83 |   let propertyValue_circuitBreakerSleepWindowInMilliseconds: Int = 0 //json.circuitDuration
 84 |   let propertyValue_circuitBreakerErrorThresholdPercentage: Int = 0 //json.threshold
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:83:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 81 |   let currentConcurrentExecutionCount: Int = 0
 82 |   let propertyValue_circuitBreakerRequestVolumeThreshold: Int = 0 //json.waitThreshold
 83 |   let propertyValue_circuitBreakerSleepWindowInMilliseconds: Int = 0 //json.circuitDuration
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_circuitBreakerSleepWindowInMilliseconds' case to silence this warning
    |       `- note: make the property mutable instead
 84 |   let propertyValue_circuitBreakerErrorThresholdPercentage: Int = 0 //json.threshold
 85 |   let propertyValue_circuitBreakerForceOpen: Bool = false
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:84:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 82 |   let propertyValue_circuitBreakerRequestVolumeThreshold: Int = 0 //json.waitThreshold
 83 |   let propertyValue_circuitBreakerSleepWindowInMilliseconds: Int = 0 //json.circuitDuration
 84 |   let propertyValue_circuitBreakerErrorThresholdPercentage: Int = 0 //json.threshold
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_circuitBreakerErrorThresholdPercentage' case to silence this warning
    |       `- note: make the property mutable instead
 85 |   let propertyValue_circuitBreakerForceOpen: Bool = false
 86 |   let propertyValue_circuitBreakerForceClosed: Bool = false
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:85:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 83 |   let propertyValue_circuitBreakerSleepWindowInMilliseconds: Int = 0 //json.circuitDuration
 84 |   let propertyValue_circuitBreakerErrorThresholdPercentage: Int = 0 //json.threshold
 85 |   let propertyValue_circuitBreakerForceOpen: Bool = false
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_circuitBreakerForceOpen' case to silence this warning
    |       `- note: make the property mutable instead
 86 |   let propertyValue_circuitBreakerForceClosed: Bool = false
 87 |   let propertyValue_circuitBreakerEnabled: Bool = true
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:86:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 84 |   let propertyValue_circuitBreakerErrorThresholdPercentage: Int = 0 //json.threshold
 85 |   let propertyValue_circuitBreakerForceOpen: Bool = false
 86 |   let propertyValue_circuitBreakerForceClosed: Bool = false
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_circuitBreakerForceClosed' case to silence this warning
    |       `- note: make the property mutable instead
 87 |   let propertyValue_circuitBreakerEnabled: Bool = true
 88 |   let propertyValue_executionIsolationStrategy: String = "THREAD"
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:87:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 85 |   let propertyValue_circuitBreakerForceOpen: Bool = false
 86 |   let propertyValue_circuitBreakerForceClosed: Bool = false
 87 |   let propertyValue_circuitBreakerEnabled: Bool = true
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_circuitBreakerEnabled' case to silence this warning
    |       `- note: make the property mutable instead
 88 |   let propertyValue_executionIsolationStrategy: String = "THREAD"
 89 |   let propertyValue_executionIsolationThreadTimeoutInMilliseconds: Int = 800
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:88:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 86 |   let propertyValue_circuitBreakerForceClosed: Bool = false
 87 |   let propertyValue_circuitBreakerEnabled: Bool = true
 88 |   let propertyValue_executionIsolationStrategy: String = "THREAD"
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_executionIsolationStrategy' case to silence this warning
    |       `- note: make the property mutable instead
 89 |   let propertyValue_executionIsolationThreadTimeoutInMilliseconds: Int = 800
 90 |   let propertyValue_executionIsolationThreadInterruptOnTimeout: Bool = true
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:89:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 87 |   let propertyValue_circuitBreakerEnabled: Bool = true
 88 |   let propertyValue_executionIsolationStrategy: String = "THREAD"
 89 |   let propertyValue_executionIsolationThreadTimeoutInMilliseconds: Int = 800
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_executionIsolationThreadTimeoutInMilliseconds' case to silence this warning
    |       `- note: make the property mutable instead
 90 |   let propertyValue_executionIsolationThreadInterruptOnTimeout: Bool = true
 91 |   let propertyValue_executionIsolationThreadPoolKeyOverride: String? = nil
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:90:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 88 |   let propertyValue_executionIsolationStrategy: String = "THREAD"
 89 |   let propertyValue_executionIsolationThreadTimeoutInMilliseconds: Int = 800
 90 |   let propertyValue_executionIsolationThreadInterruptOnTimeout: Bool = true
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_executionIsolationThreadInterruptOnTimeout' case to silence this warning
    |       `- note: make the property mutable instead
 91 |   let propertyValue_executionIsolationThreadPoolKeyOverride: String? = nil
 92 |   let propertyValue_executionIsolationSemaphoreMaxConcurrentRequests: Int = 20 //
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:91:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 89 |   let propertyValue_executionIsolationThreadTimeoutInMilliseconds: Int = 800
 90 |   let propertyValue_executionIsolationThreadInterruptOnTimeout: Bool = true
 91 |   let propertyValue_executionIsolationThreadPoolKeyOverride: String? = nil
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_executionIsolationThreadPoolKeyOverride' case to silence this warning
    |       `- note: make the property mutable instead
 92 |   let propertyValue_executionIsolationSemaphoreMaxConcurrentRequests: Int = 20 //
 93 |   let propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests: Int = 10 //
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:92:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 90 |   let propertyValue_executionIsolationThreadInterruptOnTimeout: Bool = true
 91 |   let propertyValue_executionIsolationThreadPoolKeyOverride: String? = nil
 92 |   let propertyValue_executionIsolationSemaphoreMaxConcurrentRequests: Int = 20 //
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_executionIsolationSemaphoreMaxConcurrentRequests' case to silence this warning
    |       `- note: make the property mutable instead
 93 |   let propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests: Int = 10 //
 94 |   let propertyValue_metricsRollingStatisticalWindowInMilliseconds: Int = 10000 //
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:93:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 91 |   let propertyValue_executionIsolationThreadPoolKeyOverride: String? = nil
 92 |   let propertyValue_executionIsolationSemaphoreMaxConcurrentRequests: Int = 20 //
 93 |   let propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests: Int = 10 //
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests' case to silence this warning
    |       `- note: make the property mutable instead
 94 |   let propertyValue_metricsRollingStatisticalWindowInMilliseconds: Int = 10000 //
 95 |   let propertyValue_requestCacheEnabled: Bool = false
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:94:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 92 |   let propertyValue_executionIsolationSemaphoreMaxConcurrentRequests: Int = 20 //
 93 |   let propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests: Int = 10 //
 94 |   let propertyValue_metricsRollingStatisticalWindowInMilliseconds: Int = 10000 //
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_metricsRollingStatisticalWindowInMilliseconds' case to silence this warning
    |       `- note: make the property mutable instead
 95 |   let propertyValue_requestCacheEnabled: Bool = false
 96 |   let propertyValue_requestLogEnabled: Bool = false
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:95:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 93 |   let propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests: Int = 10 //
 94 |   let propertyValue_metricsRollingStatisticalWindowInMilliseconds: Int = 10000 //
 95 |   let propertyValue_requestCacheEnabled: Bool = false
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_requestCacheEnabled' case to silence this warning
    |       `- note: make the property mutable instead
 96 |   let propertyValue_requestLogEnabled: Bool = false
 97 |   let reportingHosts: Int = 1
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:96:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 94 |   let propertyValue_metricsRollingStatisticalWindowInMilliseconds: Int = 10000 //
 95 |   let propertyValue_requestCacheEnabled: Bool = false
 96 |   let propertyValue_requestLogEnabled: Bool = false
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'propertyValue_requestLogEnabled' case to silence this warning
    |       `- note: make the property mutable instead
 97 |   let reportingHosts: Int = 1
 98 |
/host/spi-builder-workspace/Sources/CircuitBreaker/Snapshot.swift:97:7: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
 95 |   let propertyValue_requestCacheEnabled: Bool = false
 96 |   let propertyValue_requestLogEnabled: Bool = false
 97 |   let reportingHosts: Int = 1
    |       |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
    |       |- note: set the initial value via the initializer or explicitly define a CodingKeys enum including a 'reportingHosts' case to silence this warning
    |       `- note: make the property mutable instead
 98 |
 99 |   /// Initialize a snapshot of the current statistics.
[20/24] Compiling CircuitBreaker CircuitBreaker.swift
/host/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:43:39: warning: generic parameter 'A' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 36 | /// For a more complete example see the
 37 | /// [CircuitBreaker README](https://github.com/Kitura/CircuitBreaker).
 38 | public class CircuitBreaker<A, B> {
    |                             `- note: 'A' previously declared here
 39 |
 40 |   // MARK: Closure Aliases
 41 |
 42 |   /// The context function that runs using the given arguments of generic type A.
 43 |   public typealias AnyContextFunction<A> = (Invocation<A, B>) -> Void
    |                                       `- warning: generic parameter 'A' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 44 |
 45 |   /// The fallback function that runs when the invocation fails.
/host/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:46:32: warning: generic parameter 'B' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 36 | /// For a more complete example see the
 37 | /// [CircuitBreaker README](https://github.com/Kitura/CircuitBreaker).
 38 | public class CircuitBreaker<A, B> {
    |                                `- note: 'B' previously declared here
 39 |
 40 |   // MARK: Closure Aliases
    :
 44 |
 45 |   /// The fallback function that runs when the invocation fails.
 46 |   public typealias AnyFallback<B> = (BreakerError, B) -> Void
    |                                `- warning: generic parameter 'B' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 47 |
 48 |   // MARK: Public Fields
/host/spi-builder-workspace/Sources/CircuitBreaker/MonitorCollection.swift:21:23: warning: static property 'sharedInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |   internal var values: [StatsMonitor] = []
20 |
21 |   internal static var sharedInstance = MonitorCollection()
   |                       |- warning: static property 'sharedInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'sharedInstance' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'sharedInstance' 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
22 |
23 |   private init() {}
/host/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:253:7: warning: capture of 'self' with non-sendable type 'CircuitBreaker<A, B>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// For a more complete example see the
 37 | /// [CircuitBreaker README](https://github.com/Kitura/CircuitBreaker).
 38 | public class CircuitBreaker<A, B> {
    |              `- note: generic class 'CircuitBreaker' does not conform to the 'Sendable' protocol
 39 |
 40 |   // MARK: Closure Aliases
    :
251 |   private func setTimeout(closure: @escaping () -> Void) {
252 |     queue.asyncAfter(deadline: .now() + .milliseconds(self.timeout)) { [weak self] in
253 |       self?.breakerStats.trackTimeouts()
    |       `- warning: capture of 'self' with non-sendable type 'CircuitBreaker<A, B>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
254 |       closure()
255 |     }
/host/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:254:7: warning: capture of 'closure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
252 |     queue.asyncAfter(deadline: .now() + .milliseconds(self.timeout)) { [weak self] in
253 |       self?.breakerStats.trackTimeouts()
254 |       closure()
    |       |- warning: capture of 'closure' 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'
255 |     }
256 |   }
[21/24] Compiling CircuitBreaker Collection.swift
/host/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:43:39: warning: generic parameter 'A' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 36 | /// For a more complete example see the
 37 | /// [CircuitBreaker README](https://github.com/Kitura/CircuitBreaker).
 38 | public class CircuitBreaker<A, B> {
    |                             `- note: 'A' previously declared here
 39 |
 40 |   // MARK: Closure Aliases
 41 |
 42 |   /// The context function that runs using the given arguments of generic type A.
 43 |   public typealias AnyContextFunction<A> = (Invocation<A, B>) -> Void
    |                                       `- warning: generic parameter 'A' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 44 |
 45 |   /// The fallback function that runs when the invocation fails.
/host/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:46:32: warning: generic parameter 'B' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 36 | /// For a more complete example see the
 37 | /// [CircuitBreaker README](https://github.com/Kitura/CircuitBreaker).
 38 | public class CircuitBreaker<A, B> {
    |                                `- note: 'B' previously declared here
 39 |
 40 |   // MARK: Closure Aliases
    :
 44 |
 45 |   /// The fallback function that runs when the invocation fails.
 46 |   public typealias AnyFallback<B> = (BreakerError, B) -> Void
    |                                `- warning: generic parameter 'B' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 47 |
 48 |   // MARK: Public Fields
/host/spi-builder-workspace/Sources/CircuitBreaker/MonitorCollection.swift:21:23: warning: static property 'sharedInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |   internal var values: [StatsMonitor] = []
20 |
21 |   internal static var sharedInstance = MonitorCollection()
   |                       |- warning: static property 'sharedInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'sharedInstance' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'sharedInstance' 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
22 |
23 |   private init() {}
/host/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:253:7: warning: capture of 'self' with non-sendable type 'CircuitBreaker<A, B>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 36 | /// For a more complete example see the
 37 | /// [CircuitBreaker README](https://github.com/Kitura/CircuitBreaker).
 38 | public class CircuitBreaker<A, B> {
    |              `- note: generic class 'CircuitBreaker' does not conform to the 'Sendable' protocol
 39 |
 40 |   // MARK: Closure Aliases
    :
251 |   private func setTimeout(closure: @escaping () -> Void) {
252 |     queue.asyncAfter(deadline: .now() + .milliseconds(self.timeout)) { [weak self] in
253 |       self?.breakerStats.trackTimeouts()
    |       `- warning: capture of 'self' with non-sendable type 'CircuitBreaker<A, B>?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
254 |       closure()
255 |     }
/host/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:254:7: warning: capture of 'closure' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
252 |     queue.asyncAfter(deadline: .now() + .milliseconds(self.timeout)) { [weak self] in
253 |       self?.breakerStats.trackTimeouts()
254 |       closure()
    |       |- warning: capture of 'closure' 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'
255 |     }
256 |   }
[22/24] Emitting module CircuitBreaker
/host/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:43:39: warning: generic parameter 'A' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 36 | /// For a more complete example see the
 37 | /// [CircuitBreaker README](https://github.com/Kitura/CircuitBreaker).
 38 | public class CircuitBreaker<A, B> {
    |                             `- note: 'A' previously declared here
 39 |
 40 |   // MARK: Closure Aliases
 41 |
 42 |   /// The context function that runs using the given arguments of generic type A.
 43 |   public typealias AnyContextFunction<A> = (Invocation<A, B>) -> Void
    |                                       `- warning: generic parameter 'A' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 44 |
 45 |   /// The fallback function that runs when the invocation fails.
/host/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:46:32: warning: generic parameter 'B' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 36 | /// For a more complete example see the
 37 | /// [CircuitBreaker README](https://github.com/Kitura/CircuitBreaker).
 38 | public class CircuitBreaker<A, B> {
    |                                `- note: 'B' previously declared here
 39 |
 40 |   // MARK: Closure Aliases
    :
 44 |
 45 |   /// The fallback function that runs when the invocation fails.
 46 |   public typealias AnyFallback<B> = (BreakerError, B) -> Void
    |                                `- warning: generic parameter 'B' shadows generic parameter from outer scope with the same name; this is an error in the Swift 6 language mode
 47 |
 48 |   // MARK: Public Fields
/host/spi-builder-workspace/Sources/CircuitBreaker/Monitor.swift:34:32: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
32 |
33 | /// Protocol identifying a statistics provider.
34 | public protocol StatsProvider: class {
   |                                `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
35 |
36 |   /// Registers a monitor for a referenced CircuitBreaker.
/host/spi-builder-workspace/Sources/CircuitBreaker/MonitorCollection.swift:21:23: warning: static property 'sharedInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 |   internal var values: [StatsMonitor] = []
20 |
21 |   internal static var sharedInstance = MonitorCollection()
   |                       |- warning: static property 'sharedInstance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: convert 'sharedInstance' to a 'let' constant to make 'Sendable' shared state immutable
   |                       |- note: annotate 'sharedInstance' 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
22 |
23 |   private init() {}
[23/24] Compiling CircuitBreaker BreakerError.swift
/host/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:34:13: warning: capture of 'self' with non-sendable type 'Bulkhead?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 |
20 | /// Bulkhead
21 | class Bulkhead {
   |       `- note: class 'Bulkhead' does not conform to the 'Sendable' protocol
22 |     private let serialQueue: DispatchQueue
23 |     private let concurrentQueue: DispatchQueue
   :
32 |     func enqueue(task: @escaping () -> Void ) {
33 |         serialQueue.async { [weak self] in
34 |             self?.semaphore.wait()
   |             `- warning: capture of 'self' with non-sendable type 'Bulkhead?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |             self?.concurrentQueue.async {
36 |                 task()
/host/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:36:17: warning: capture of 'task' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 |             self?.semaphore.wait()
35 |             self?.concurrentQueue.async {
36 |                 task()
   |                 |- warning: capture of 'task' 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'
37 |                 self?.semaphore.signal()
38 |             }
/host/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:36:17: warning: capture of 'task' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 |             self?.semaphore.wait()
35 |             self?.concurrentQueue.async {
36 |                 task()
   |                 |- warning: capture of 'task' 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'
37 |                 self?.semaphore.signal()
38 |             }
/host/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:37:17: warning: capture of 'self' with non-sendable type 'Bulkhead?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 |
20 | /// Bulkhead
21 | class Bulkhead {
   |       `- note: class 'Bulkhead' does not conform to the 'Sendable' protocol
22 |     private let serialQueue: DispatchQueue
23 |     private let concurrentQueue: DispatchQueue
   :
35 |             self?.concurrentQueue.async {
36 |                 task()
37 |                 self?.semaphore.signal()
   |                 `- warning: capture of 'self' with non-sendable type 'Bulkhead?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 |             }
39 |         }
/host/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:37:17: warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
35 |             self?.concurrentQueue.async {
36 |                 task()
37 |                 self?.semaphore.signal()
   |                 `- warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
38 |             }
39 |         }
[24/24] Compiling CircuitBreaker Bulkhead.swift
/host/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:34:13: warning: capture of 'self' with non-sendable type 'Bulkhead?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 |
20 | /// Bulkhead
21 | class Bulkhead {
   |       `- note: class 'Bulkhead' does not conform to the 'Sendable' protocol
22 |     private let serialQueue: DispatchQueue
23 |     private let concurrentQueue: DispatchQueue
   :
32 |     func enqueue(task: @escaping () -> Void ) {
33 |         serialQueue.async { [weak self] in
34 |             self?.semaphore.wait()
   |             `- warning: capture of 'self' with non-sendable type 'Bulkhead?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |             self?.concurrentQueue.async {
36 |                 task()
/host/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:36:17: warning: capture of 'task' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 |             self?.semaphore.wait()
35 |             self?.concurrentQueue.async {
36 |                 task()
   |                 |- warning: capture of 'task' 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'
37 |                 self?.semaphore.signal()
38 |             }
/host/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:36:17: warning: capture of 'task' with non-sendable type '() -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
34 |             self?.semaphore.wait()
35 |             self?.concurrentQueue.async {
36 |                 task()
   |                 |- warning: capture of 'task' 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'
37 |                 self?.semaphore.signal()
38 |             }
/host/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:37:17: warning: capture of 'self' with non-sendable type 'Bulkhead?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 |
20 | /// Bulkhead
21 | class Bulkhead {
   |       `- note: class 'Bulkhead' does not conform to the 'Sendable' protocol
22 |     private let serialQueue: DispatchQueue
23 |     private let concurrentQueue: DispatchQueue
   :
35 |             self?.concurrentQueue.async {
36 |                 task()
37 |                 self?.semaphore.signal()
   |                 `- warning: capture of 'self' with non-sendable type 'Bulkhead?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 |             }
39 |         }
/host/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:37:17: warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
35 |             self?.concurrentQueue.async {
36 |                 task()
37 |                 self?.semaphore.signal()
   |                 `- warning: reference to captured var 'self' in concurrently-executing code; this is an error in the Swift 6 language mode
38 |             }
39 |         }
Build complete! (12.87s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "loggerapi",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.9.200",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Kitura/LoggerAPI.git"
    }
  ],
  "manifest_display_name" : "CircuitBreaker",
  "name" : "CircuitBreaker",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "CircuitBreaker",
      "targets" : [
        "CircuitBreaker"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "CircuitBreakerTests",
      "module_type" : "SwiftTarget",
      "name" : "CircuitBreakerTests",
      "path" : "Tests/CircuitBreakerTests",
      "sources" : [
        "CircuitBreakerTests.swift",
        "StatsTests.swift"
      ],
      "target_dependencies" : [
        "CircuitBreaker"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CircuitBreaker",
      "module_type" : "SwiftTarget",
      "name" : "CircuitBreaker",
      "path" : "Sources/CircuitBreaker",
      "product_dependencies" : [
        "LoggerAPI"
      ],
      "product_memberships" : [
        "CircuitBreaker"
      ],
      "sources" : [
        "BreakerError.swift",
        "Bulkhead.swift",
        "CircuitBreaker.swift",
        "Collection.swift",
        "Invocation.swift",
        "Monitor.swift",
        "MonitorCollection.swift",
        "Snapshot.swift",
        "Stats.swift",
        "Utils.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.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
Done.