Build Information
Successful build of Featureflip, reference master (7bf7a3), with Swift 6.1 for macOS (SPM) on 23 Oct 2026 00:42:02 UTC.
Swift 6 data race errors: 2
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64Build Log
========================================
RunAll
========================================
Builder version: 5.1.3
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/canopy-labs/featureflip-swift.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/canopy-labs/featureflip-swift
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at 7bf7a3a Release v3.4.0
Cloned https://github.com/canopy-labs/featureflip-swift.git
Revision (git rev-parse @):
7bf7a3ab45969716da1c6c4a5f35ff3fb62e2975
SUCCESS checkout https://github.com/canopy-labs/featureflip-swift.git at master
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/canopy-labs/featureflip-swift.git
https://github.com/canopy-labs/featureflip-swift.git
{
"dependencies" : [
],
"manifest_display_name" : "Featureflip",
"name" : "Featureflip",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
}
],
"products" : [
{
"name" : "Featureflip",
"targets" : [
"Featureflip"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "FeatureflipTests",
"module_type" : "SwiftTarget",
"name" : "FeatureflipTests",
"path" : "Tests/FeatureflipTests",
"sources" : [
"AnonymousKeyTests.swift",
"ConfigTests.swift",
"ContextValueTypeTests.swift",
"EventFlushCoalescingTests.swift",
"EventFlushResilienceTests.swift",
"EventProcessorTests.swift",
"FeatureflipClientFactoryTests.swift",
"FeatureflipClientTests.swift",
"FeatureflipTests.swift",
"FlagCacheTests.swift",
"Helpers/MockHTTPLoader.swift",
"HttpClientTests.swift",
"InspectorTests.swift",
"LifecycleObserverTests.swift",
"PollingDataSourceTests.swift",
"PrerequisiteKeyTests.swift",
"ReadRecorderTests.swift",
"ReadReportingBenchmarkTests.swift",
"ReadReportingCoreTests.swift",
"SdkIdentityTests.swift",
"SharedFeatureflipCoreTests.swift",
"StreamingDataSourceTests.swift",
"SwiftUITests.swift",
"UseAfterCloseTests.swift"
],
"target_dependencies" : [
"Featureflip"
],
"type" : "test"
},
{
"c99name" : "Featureflip",
"module_type" : "SwiftTarget",
"name" : "Featureflip",
"path" : "Sources/Featureflip",
"product_memberships" : [
"Featureflip"
],
"sources" : [
"AnonymousKeyStore.swift",
"Diagnostics.swift",
"EventProcessor.swift",
"FeatureflipClient.swift",
"FeatureflipConfig.swift",
"FlagCache.swift",
"HttpClient.swift",
"LifecycleObserver.swift",
"Models.swift",
"PollingDataSource.swift",
"Protocols.swift",
"ReadRecorder.swift",
"SdkIdentity.swift",
"SharedFeatureflipCore.swift",
"StreamingDataSource.swift",
"SwiftUI/FeatureFlag.swift",
"SwiftUI/FeatureFlagProvider.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
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/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/19] Compiling Featureflip Protocols.swift
[4/19] Compiling Featureflip ReadRecorder.swift
[5/19] Compiling Featureflip SdkIdentity.swift
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/SharedFeatureflipCore.swift:102:16: warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
100 |
101 | /// Shared date formatter for event timestamps.
102 | static let isoFormatter = ISO8601DateFormatter()
| |- warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |
104 | // MARK: - HTTP / Lifecycle
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/SharedFeatureflipCore.swift:767:13: warning: var '_liveCores' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
765 | // MARK: - Module-level cache
766 |
767 | private var _liveCores: [String: SharedFeatureflipCore] = [:]
| |- warning: var '_liveCores' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_liveCores' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_liveCores' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
768 | private let _liveCoresLock = NSLock()
769 |
[6/19] Compiling Featureflip SharedFeatureflipCore.swift
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/SharedFeatureflipCore.swift:102:16: warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
100 |
101 | /// Shared date formatter for event timestamps.
102 | static let isoFormatter = ISO8601DateFormatter()
| |- warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |
104 | // MARK: - HTTP / Lifecycle
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/SharedFeatureflipCore.swift:767:13: warning: var '_liveCores' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
765 | // MARK: - Module-level cache
766 |
767 | private var _liveCores: [String: SharedFeatureflipCore] = [:]
| |- warning: var '_liveCores' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_liveCores' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_liveCores' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
768 | private let _liveCoresLock = NSLock()
769 |
[7/20] Compiling Featureflip FeatureFlagProvider.swift
[8/20] Compiling Featureflip Models.swift
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:74:14: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
72 |
73 | func pollOnce() async {
74 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
75 | let currentContext = context
76 | lock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
| `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:76:14: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
74 | lock.lock()
75 | let currentContext = context
76 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
77 | do {
78 | let result = try await httpClient.evaluate(context: currentContext)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
| `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:79:18: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
77 | do {
78 | let result = try await httpClient.evaluate(context: currentContext)
79 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
80 | let isStopped = stopped
81 | lock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
| `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:81:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
79 | lock.lock()
80 | let isStopped = stopped
81 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
82 | if isStopped { return }
83 | onChange(result.flags)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
| `- note: 'unlock()' declared here
3 |
[9/20] Compiling Featureflip PollingDataSource.swift
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:74:14: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
72 |
73 | func pollOnce() async {
74 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
75 | let currentContext = context
76 | lock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
| `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:76:14: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
74 | lock.lock()
75 | let currentContext = context
76 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
77 | do {
78 | let result = try await httpClient.evaluate(context: currentContext)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
| `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:79:18: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
77 | do {
78 | let result = try await httpClient.evaluate(context: currentContext)
79 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
80 | let isStopped = stopped
81 | lock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
| `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:81:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
79 | lock.lock()
80 | let isStopped = stopped
81 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
82 | if isStopped { return }
83 | onChange(result.flags)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
| `- note: 'unlock()' declared here
3 |
[10/20] Compiling Featureflip FeatureflipConfig.swift
[11/20] Compiling Featureflip FlagCache.swift
[12/20] Compiling Featureflip EventProcessor.swift
[13/20] Compiling Featureflip FeatureflipClient.swift
[14/20] Compiling Featureflip HttpClient.swift
[15/20] Compiling Featureflip LifecycleObserver.swift
[16/20] Emitting module Featureflip
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/SharedFeatureflipCore.swift:102:16: warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
100 |
101 | /// Shared date formatter for event timestamps.
102 | static let isoFormatter = ISO8601DateFormatter()
| |- warning: static property 'isoFormatter' is not concurrency-safe because non-'Sendable' type 'ISO8601DateFormatter' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'isoFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 |
104 | // MARK: - HTTP / Lifecycle
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSISO8601DateFormatter.h:46:12: note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
44 |
45 | API_AVAILABLE(macosx(10.12), ios(10.0), watchos(3.0), tvos(10.0))
46 | @interface NSISO8601DateFormatter : NSFormatter <NSSecureCoding> {
| `- note: class 'ISO8601DateFormatter' does not conform to the 'Sendable' protocol
47 | @private
48 | CFDateFormatterRef _formatter;
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/SharedFeatureflipCore.swift:767:13: warning: var '_liveCores' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
765 | // MARK: - Module-level cache
766 |
767 | private var _liveCores: [String: SharedFeatureflipCore] = [:]
| |- warning: var '_liveCores' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_liveCores' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_liveCores' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
768 | private let _liveCoresLock = NSLock()
769 |
[17/20] Compiling Featureflip AnonymousKeyStore.swift
[18/20] Compiling Featureflip Diagnostics.swift
[19/20] Compiling Featureflip StreamingDataSource.swift
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/StreamingDataSource.swift:206:18: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
204 | // front would make the first reconnect after it sleep the pre-outage
205 | // delay — up to the 30s cap — instead of the base.
206 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
207 | retryCount += 1
208 | let armFallback = retryCount >= Self.maxRetries && !fallbackActive
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
| `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/StreamingDataSource.swift:214:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
212 | let currentBackoff = backoff
213 | backoff = Self.nextBackoff(backoff)
214 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
215 |
216 | // The fallback is ADDITIVE, never terminal (#3075). Polling covers the
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
| `- note: 'unlock()' declared here
3 |
[20/20] Compiling Featureflip FeatureFlag.swift
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/SwiftUI/FeatureFlag.swift:31:9: warning: main actor-isolated property 'provider' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
21 | private let defaultValue: Bool
22 |
23 | @EnvironmentObject private var provider: FeatureFlagProvider
| `- note: property declared here
24 |
25 | public init(wrappedValue defaultValue: Bool, _ key: String) {
:
29 |
30 | public var wrappedValue: Bool {
31 | provider.boolVariation(key, default: defaultValue)
| `- warning: main actor-isolated property 'provider' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
32 | }
33 | }
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/SwiftUI/FeatureFlag.swift:28:5: error: return from initializer without initializing all stored properties
26 | self.key = key
27 | self.defaultValue = defaultValue
28 | }
| |- error: return from initializer without initializing all stored properties
| `- note: main actor-isolated default value of 'self.provider' cannot be used in a nonisolated initalizer
29 |
30 | public var wrappedValue: Bool {
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/18] Compiling Featureflip HttpClient.swift
[3/18] Compiling Featureflip LifecycleObserver.swift
[4/18] Compiling Featureflip FeatureFlag.swift
[5/19] Compiling Featureflip StreamingDataSource.swift
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/StreamingDataSource.swift:206:18: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
204 | // front would make the first reconnect after it sleep the pre-outage
205 | // delay — up to the 30s cap — instead of the base.
206 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
207 | retryCount += 1
208 | let armFallback = retryCount >= Self.maxRetries && !fallbackActive
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
| `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/StreamingDataSource.swift:214:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
212 | let currentBackoff = backoff
213 | backoff = Self.nextBackoff(backoff)
214 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
215 |
216 | // The fallback is ADDITIVE, never terminal (#3075). Polling covers the
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
| `- note: 'unlock()' declared here
3 |
[6/19] Compiling Featureflip FeatureFlagProvider.swift
[7/19] Compiling Featureflip Protocols.swift
[8/19] Compiling Featureflip ReadRecorder.swift
[9/19] Compiling Featureflip EventProcessor.swift
[10/19] Compiling Featureflip FeatureflipClient.swift
[11/19] Compiling Featureflip FeatureflipConfig.swift
[12/19] Compiling Featureflip FlagCache.swift
[13/19] Compiling Featureflip SdkIdentity.swift
[14/19] Compiling Featureflip SharedFeatureflipCore.swift
[15/19] Compiling Featureflip Models.swift
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:74:14: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
72 |
73 | func pollOnce() async {
74 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
75 | let currentContext = context
76 | lock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
| `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:76:14: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
74 | lock.lock()
75 | let currentContext = context
76 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
77 | do {
78 | let result = try await httpClient.evaluate(context: currentContext)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
| `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:79:18: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
77 | do {
78 | let result = try await httpClient.evaluate(context: currentContext)
79 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
80 | let isStopped = stopped
81 | lock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
| `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:81:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
79 | lock.lock()
80 | let isStopped = stopped
81 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
82 | if isStopped { return }
83 | onChange(result.flags)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
| `- note: 'unlock()' declared here
3 |
[16/19] Compiling Featureflip PollingDataSource.swift
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:74:14: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
72 |
73 | func pollOnce() async {
74 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
75 | let currentContext = context
76 | lock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
| `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:76:14: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
74 | lock.lock()
75 | let currentContext = context
76 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
77 | do {
78 | let result = try await httpClient.evaluate(context: currentContext)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
| `- note: 'unlock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:79:18: warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
77 | do {
78 | let result = try await httpClient.evaluate(context: currentContext)
79 | lock.lock()
| `- warning: instance method 'lock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
80 | let isStopped = stopped
81 | lock.unlock()
Foundation.NSLock.lock:2:11: note: 'lock()' declared here
1 | class NSLock {
2 | open func lock()}
| `- note: 'lock()' declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/Featureflip/PollingDataSource.swift:81:18: warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
79 | lock.lock()
80 | let isStopped = stopped
81 | lock.unlock()
| `- warning: instance method 'unlock' is unavailable from asynchronous contexts; Use async-safe scoped locking instead; this is an error in the Swift 6 language mode
82 | if isStopped { return }
83 | onChange(result.flags)
Foundation.NSLock.unlock:2:11: note: 'unlock()' declared here
1 | class NSLock {
2 | open func unlock()}
| `- note: 'unlock()' declared here
3 |
[17/19] Emitting module Featureflip
[18/19] Compiling Featureflip AnonymousKeyStore.swift
[19/19] Compiling Featureflip Diagnostics.swift
Build complete! (2.34s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Featureflip",
"name" : "Featureflip",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "13.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
}
],
"products" : [
{
"name" : "Featureflip",
"targets" : [
"Featureflip"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "FeatureflipTests",
"module_type" : "SwiftTarget",
"name" : "FeatureflipTests",
"path" : "Tests/FeatureflipTests",
"sources" : [
"AnonymousKeyTests.swift",
"ConfigTests.swift",
"ContextValueTypeTests.swift",
"EventFlushCoalescingTests.swift",
"EventFlushResilienceTests.swift",
"EventProcessorTests.swift",
"FeatureflipClientFactoryTests.swift",
"FeatureflipClientTests.swift",
"FeatureflipTests.swift",
"FlagCacheTests.swift",
"Helpers/MockHTTPLoader.swift",
"HttpClientTests.swift",
"InspectorTests.swift",
"LifecycleObserverTests.swift",
"PollingDataSourceTests.swift",
"PrerequisiteKeyTests.swift",
"ReadRecorderTests.swift",
"ReadReportingBenchmarkTests.swift",
"ReadReportingCoreTests.swift",
"SdkIdentityTests.swift",
"SharedFeatureflipCoreTests.swift",
"StreamingDataSourceTests.swift",
"SwiftUITests.swift",
"UseAfterCloseTests.swift"
],
"target_dependencies" : [
"Featureflip"
],
"type" : "test"
},
{
"c99name" : "Featureflip",
"module_type" : "SwiftTarget",
"name" : "Featureflip",
"path" : "Sources/Featureflip",
"product_memberships" : [
"Featureflip"
],
"sources" : [
"AnonymousKeyStore.swift",
"Diagnostics.swift",
"EventProcessor.swift",
"FeatureflipClient.swift",
"FeatureflipConfig.swift",
"FlagCache.swift",
"HttpClient.swift",
"LifecycleObserver.swift",
"Models.swift",
"PollingDataSource.swift",
"Protocols.swift",
"ReadRecorder.swift",
"SdkIdentity.swift",
"SharedFeatureflipCore.swift",
"StreamingDataSource.swift",
"SwiftUI/FeatureFlag.swift",
"SwiftUI/FeatureFlagProvider.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.