Build Information
Successful build of CircuitBreaker, reference 5.1.0 (bd4255
), with Swift 6.1 for macOS (SPM) on 27 Apr 2025 01:19:41 UTC.
Swift 6 data race errors: 3
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -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
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/Kitura/CircuitBreaker.git
Reference: 5.1.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
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
Fetching https://github.com/Kitura/LoggerAPI.git
[1/771] Fetching loggerapi
Fetched https://github.com/Kitura/LoggerAPI.git from cache (0.89s)
Computing version for https://github.com/Kitura/LoggerAPI.git
Computed https://github.com/Kitura/LoggerAPI.git at 1.9.200 (1.52s)
Fetching https://github.com/apple/swift-log.git from cache
Fetched https://github.com/apple/swift-log.git from cache (0.65s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (1.14s)
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.3
Creating working copy for https://github.com/Kitura/LoggerAPI.git
Working copy of https://github.com/Kitura/LoggerAPI.git resolved at 1.9.200
========================================
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": "circuitbreaker",
"name": "CircuitBreaker",
"url": "https://github.com/Kitura/CircuitBreaker.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/CircuitBreaker",
"dependencies": [
{
"identity": "loggerapi",
"name": "LoggerAPI",
"url": "https://github.com/Kitura/LoggerAPI.git",
"version": "1.9.200",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/LoggerAPI",
"dependencies": [
{
"identity": "swift-log",
"name": "swift-log",
"url": "https://github.com/apple/swift-log.git",
"version": "1.6.3",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
"dependencies": [
]
}
]
}
]
}
]
}
Fetching https://github.com/Kitura/CircuitBreaker.git
[1/1733] Fetching circuitbreaker
Fetched https://github.com/Kitura/CircuitBreaker.git from cache (1.00s)
Fetching https://github.com/Kitura/LoggerAPI.git from cache
Fetched https://github.com/Kitura/LoggerAPI.git from cache (0.43s)
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 from cache
Fetched https://github.com/apple/swift-log.git from cache (0.50s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (0.56s)
Creating working copy for https://github.com/Kitura/CircuitBreaker.git
Working copy of https://github.com/Kitura/CircuitBreaker.git resolved at 5.1.0 (bd42557)
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.3
Creating working copy for https://github.com/Kitura/LoggerAPI.git
Working copy of https://github.com/Kitura/LoggerAPI.git resolved at 1.9.200
warning: '.resolve-product-dependencies': dependency 'circuitbreaker' is not used by any target
Found 1 product dependencies
- LoggerAPI
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/Kitura/CircuitBreaker.git
https://github.com/Kitura/CircuitBreaker.git
{
"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" : "/Users/admin/builder/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"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -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
Building for debugging...
[0/4] Write sources
[3/4] Write swift-version-2F0A5646E1D333AE.txt
[5/9] Compiling Logging LogHandler.swift
[6/9] Compiling Logging MetadataProvider.swift
[7/9] Compiling Logging Locks.swift
[8/9] Emitting module Logging
[9/9] Compiling Logging Logging.swift
[10/11] Compiling LoggerAPI Logger.swift
[11/11] Emitting module LoggerAPI
[12/21] Compiling CircuitBreaker MonitorCollection.swift
/Users/admin/builder/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: add '@MainActor' to make static property 'sharedInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | private init() {}
[13/22] Compiling CircuitBreaker Invocation.swift
[14/22] Compiling CircuitBreaker Monitor.swift
/Users/admin/builder/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/22] Compiling CircuitBreaker Stats.swift
[16/22] Compiling CircuitBreaker Snapshot.swift
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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"
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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 //
/Users/admin/builder/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 //
/Users/admin/builder/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 //
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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
/Users/admin/builder/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 |
/Users/admin/builder/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.
[17/22] Compiling CircuitBreaker Bulkhead.swift
/Users/admin/builder/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:34:13: warning: capture of 'self' with non-sendable type 'Bulkhead?' in a '@Sendable' closure
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
35 | self?.concurrentQueue.async {
36 | task()
/Users/admin/builder/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:36:17: warning: capture of 'task' with non-sendable type '() -> Void' in a '@Sendable' closure
34 | self?.semaphore.wait()
35 | self?.concurrentQueue.async {
36 | task()
| |- warning: capture of 'task' with non-sendable type '() -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
37 | self?.semaphore.signal()
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:36:17: warning: capture of 'task' with non-sendable type '() -> Void' in a '@Sendable' closure
34 | self?.semaphore.wait()
35 | self?.concurrentQueue.async {
36 | task()
| |- warning: capture of 'task' with non-sendable type '() -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
37 | self?.semaphore.signal()
38 | }
/Users/admin/builder/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:37:17: warning: capture of 'self' with non-sendable type 'Bulkhead?' in a '@Sendable' closure
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
38 | }
39 | }
/Users/admin/builder/spi-builder-workspace/Sources/CircuitBreaker/Bulkhead.swift:37:17: warning: reference to captured var 'self' in concurrently-executing code
35 | self?.concurrentQueue.async {
36 | task()
37 | self?.semaphore.signal()
| `- warning: reference to captured var 'self' in concurrently-executing code
38 | }
39 | }
[18/22] Compiling CircuitBreaker Collection.swift
[19/22] Emitting module CircuitBreaker
/Users/admin/builder/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.
/Users/admin/builder/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
/Users/admin/builder/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.
/Users/admin/builder/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: add '@MainActor' to make static property 'sharedInstance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | private init() {}
[20/22] Compiling CircuitBreaker CircuitBreaker.swift
/Users/admin/builder/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.
/Users/admin/builder/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
/Users/admin/builder/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:253:7: warning: capture of 'self' with non-sendable type 'CircuitBreaker<A, B>?' in a '@Sendable' closure
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
254 | closure()
255 | }
/Users/admin/builder/spi-builder-workspace/Sources/CircuitBreaker/CircuitBreaker.swift:254:7: warning: capture of 'closure' with non-sendable type '() -> Void' in a '@Sendable' closure
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
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
255 | }
256 | }
[21/22] Compiling CircuitBreaker BreakerError.swift
[22/22] Compiling CircuitBreaker Utils.swift
Build complete! (6.42s)
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" : "/Users/admin/builder/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"
}
Done.