Build Information
Successful build of OpenFeature, reference 0.3.0 (e2be58
), with Swift 6.0 for macOS (SPM) on 31 Jan 2025 18:05:31 UTC.
Swift 6 data race errors: 1
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.2.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.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/open-feature/swift-sdk.git
Reference: 0.3.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/open-feature/swift-sdk
* tag 0.3.0 -> FETCH_HEAD
HEAD is now at e2be585 chore(main): release 0.3.0 (#53)
Cloned https://github.com/open-feature/swift-sdk.git
Revision (git rev-parse @):
e2be5852827d7d6b837b9a4e577bb52bea6322d7
SUCCESS checkout https://github.com/open-feature/swift-sdk.git at 0.3.0
========================================
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": "swift-sdk",
"name": "OpenFeature",
"url": "https://github.com/open-feature/swift-sdk.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-sdk",
"dependencies": [
]
}
]
}
Fetching https://github.com/open-feature/swift-sdk.git
[1/692] Fetching swift-sdk
Fetched https://github.com/open-feature/swift-sdk.git from cache (1.56s)
Creating working copy for https://github.com/open-feature/swift-sdk.git
Working copy of https://github.com/open-feature/swift-sdk.git resolved at 0.3.0 (e2be585)
warning: '.resolve-product-dependencies': dependency 'swift-sdk' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/open-feature/swift-sdk.git
https://github.com/open-feature/swift-sdk.git
{
"dependencies" : [
],
"manifest_display_name" : "OpenFeature",
"name" : "OpenFeature",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "OpenFeature",
"targets" : [
"OpenFeature"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "OpenFeatureTests",
"module_type" : "SwiftTarget",
"name" : "OpenFeatureTests",
"path" : "Tests/OpenFeatureTests",
"sources" : [
"DeveloperExperienceTests.swift",
"EvalContextTests.swift",
"FlagEvaluationTests.swift",
"Helpers/AlwaysBrokenProvider.swift",
"Helpers/BooleanHookMock.swift",
"Helpers/DoSomethingProvider.swift",
"Helpers/IntHookMock.swift",
"Helpers/StaggeredProvider.swift",
"Helpers/ThrowingProvider.swift",
"HookSpecTests.swift",
"HookSupportTests.swift",
"OpenFeatureClientTests.swift",
"ProviderSpecTests.swift",
"StructureTests.swift",
"ValueTests.swift"
],
"target_dependencies" : [
"OpenFeature"
],
"type" : "test"
},
{
"c99name" : "OpenFeature",
"module_type" : "SwiftTarget",
"name" : "OpenFeature",
"path" : "Sources/OpenFeature",
"product_memberships" : [
"OpenFeature"
],
"sources" : [
"BaseEvaluation.swift",
"Client.swift",
"ClientMetadata.swift",
"EvaluationContext.swift",
"EventHandler.swift",
"Features+Defaults.swift",
"Features.swift",
"FlagEvaluationDetails.swift",
"FlagEvaluationOptions.swift",
"FlagMetadataValue.swift",
"FlagValueType.swift",
"Hook.swift",
"HookContext.swift",
"HookSupport.swift",
"MutableContext.swift",
"MutableStructure.swift",
"OpenFeatureAPI.swift",
"OpenFeatureClient.swift",
"Provider/FeatureProvider.swift",
"Provider/NoOpProvider.swift",
"Provider/ProviderEvaluation.swift",
"Provider/ProviderEvents.swift",
"Provider/ProviderMetadata.swift",
"Provider/ProviderStatus.swift",
"Reason.swift",
"Structure.swift",
"Value.swift",
"exceptions/ErrorCode.swift",
"exceptions/OpenFeatureError.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.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-5BDAB9E9C0126B9D.txt
[3/30] Emitting module OpenFeature
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:16:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
14 |
15 | /// The ``OpenFeatureAPI`` singleton
16 | static public let shared = OpenFeatureAPI()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | public init() {
[4/32] Compiling OpenFeature FlagMetadataValue.swift
[5/32] Compiling OpenFeature FlagValueType.swift
[6/32] Compiling OpenFeature Hook.swift
[7/32] Compiling OpenFeature ErrorCode.swift
[8/32] Compiling OpenFeature OpenFeatureError.swift
[9/32] Compiling OpenFeature BaseEvaluation.swift
[10/32] Compiling OpenFeature Client.swift
[11/32] Compiling OpenFeature ClientMetadata.swift
[12/32] Compiling OpenFeature ProviderEvents.swift
[13/32] Compiling OpenFeature ProviderMetadata.swift
[14/32] Compiling OpenFeature ProviderStatus.swift
[15/32] Compiling OpenFeature FeatureProvider.swift
[16/32] Compiling OpenFeature NoOpProvider.swift
[17/32] Compiling OpenFeature ProviderEvaluation.swift
[18/32] Compiling OpenFeature Reason.swift
[19/32] Compiling OpenFeature Structure.swift
[20/32] Compiling OpenFeature Value.swift
[21/32] Compiling OpenFeature HookContext.swift
[22/32] Compiling OpenFeature HookSupport.swift
[23/32] Compiling OpenFeature MutableContext.swift
[24/32] Compiling OpenFeature EvaluationContext.swift
[25/32] Compiling OpenFeature EventHandler.swift
[26/32] Compiling OpenFeature Features+Defaults.swift
[27/32] Compiling OpenFeature Features.swift
[28/32] Compiling OpenFeature FlagEvaluationDetails.swift
[29/32] Compiling OpenFeature FlagEvaluationOptions.swift
[30/32] Compiling OpenFeature MutableStructure.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:16:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
14 |
15 | /// The ``OpenFeatureAPI`` singleton
16 | static public let shared = OpenFeatureAPI()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | public init() {
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:58: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:84: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:58: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:84: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:62: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:88: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:62: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:88: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:61: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:61: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:65: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:65: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
[31/32] Compiling OpenFeature OpenFeatureAPI.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:16:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
14 |
15 | /// The ``OpenFeatureAPI`` singleton
16 | static public let shared = OpenFeatureAPI()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | public init() {
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:58: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:84: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:58: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:84: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:62: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:88: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:62: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:88: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:61: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:61: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:65: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:65: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
[32/32] Compiling OpenFeature OpenFeatureClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:16:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
14 |
15 | /// The ``OpenFeatureAPI`` singleton
16 | static public let shared = OpenFeatureAPI()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'OpenFeatureAPI' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | public init() {
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:58: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:84: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:58: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:28:84: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
26 | queue.async {
27 | Task {
28 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
29 | }
30 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:62: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in a `@Sendable` closure
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:88: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in a `@Sendable` closure
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:62: warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'provider' with non-sendable type 'any FeatureProvider' in an isolated closure; this is an error in the Swift 6 language mode
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/Provider/FeatureProvider.swift:4:17: note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
2 |
3 | /// The interface implemented by upstream flag providers to resolve flags for their service.
4 | public protocol FeatureProvider: EventPublisher {
| `- note: protocol 'FeatureProvider' does not conform to the 'Sendable' protocol
5 | var hooks: [any Hook] { get }
6 | var metadata: ProviderMetadata { get }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:41:88: warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
39 | queue.async {
40 | Task {
41 | await self.setProviderInternal(provider: provider, initialContext: initialContext)
| `- warning: capture of 'initialContext' with non-sendable type '(any EvaluationContext)?' in an isolated closure; this is an error in the Swift 6 language mode
42 | continuation.resume()
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:61: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:23: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:82:61: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
80 | queue.async {
81 | Task {
82 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
83 | }
84 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in a `@Sendable` closure
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:65: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in a `@Sendable` closure
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:27: warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
4 | /// A global singleton which holds base configuration for the OpenFeature library.
5 | /// Configuration here will be shared across all ``Client``s.
6 | public class OpenFeatureAPI {
| `- note: class 'OpenFeatureAPI' does not conform to the 'Sendable' protocol
7 | private let eventHandler = EventHandler()
8 | private let queue = DispatchQueue(label: "com.openfeature.providerDescriptor.queue")
:
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'self' with non-sendable type 'OpenFeatureAPI' in an isolated closure; this is an error in the Swift 6 language mode
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/OpenFeatureAPI.swift:95:65: warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
93 | queue.async {
94 | Task {
95 | await self.updateContext(evaluationContext: evaluationContext)
| `- warning: capture of 'evaluationContext' with non-sendable type 'any EvaluationContext' in an isolated closure; this is an error in the Swift 6 language mode
96 | continuation.resume()
97 | }
/Users/admin/builder/spi-builder-workspace/Sources/OpenFeature/EvaluationContext.swift:4:17: note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
2 |
3 | /// Container for arbitrary contextual data that can be used as a basis for dynamic evaluation.
4 | public protocol EvaluationContext: Structure {
| `- note: protocol 'EvaluationContext' does not conform to the 'Sendable' protocol
5 | func getTargetingKey() -> String
6 |
Build complete! (19.41s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "OpenFeature",
"name" : "OpenFeature",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "OpenFeature",
"targets" : [
"OpenFeature"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "OpenFeatureTests",
"module_type" : "SwiftTarget",
"name" : "OpenFeatureTests",
"path" : "Tests/OpenFeatureTests",
"sources" : [
"DeveloperExperienceTests.swift",
"EvalContextTests.swift",
"FlagEvaluationTests.swift",
"Helpers/AlwaysBrokenProvider.swift",
"Helpers/BooleanHookMock.swift",
"Helpers/DoSomethingProvider.swift",
"Helpers/IntHookMock.swift",
"Helpers/StaggeredProvider.swift",
"Helpers/ThrowingProvider.swift",
"HookSpecTests.swift",
"HookSupportTests.swift",
"OpenFeatureClientTests.swift",
"ProviderSpecTests.swift",
"StructureTests.swift",
"ValueTests.swift"
],
"target_dependencies" : [
"OpenFeature"
],
"type" : "test"
},
{
"c99name" : "OpenFeature",
"module_type" : "SwiftTarget",
"name" : "OpenFeature",
"path" : "Sources/OpenFeature",
"product_memberships" : [
"OpenFeature"
],
"sources" : [
"BaseEvaluation.swift",
"Client.swift",
"ClientMetadata.swift",
"EvaluationContext.swift",
"EventHandler.swift",
"Features+Defaults.swift",
"Features.swift",
"FlagEvaluationDetails.swift",
"FlagEvaluationOptions.swift",
"FlagMetadataValue.swift",
"FlagValueType.swift",
"Hook.swift",
"HookContext.swift",
"HookSupport.swift",
"MutableContext.swift",
"MutableStructure.swift",
"OpenFeatureAPI.swift",
"OpenFeatureClient.swift",
"Provider/FeatureProvider.swift",
"Provider/NoOpProvider.swift",
"Provider/ProviderEvaluation.swift",
"Provider/ProviderEvents.swift",
"Provider/ProviderMetadata.swift",
"Provider/ProviderStatus.swift",
"Reason.swift",
"Structure.swift",
"Value.swift",
"exceptions/ErrorCode.swift",
"exceptions/OpenFeatureError.swift"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.