Build Information
Successful build of SwinjectMacros, reference 1.0.2 (2931d3
), with Swift 6.1 for macOS (SPM) on 5 Aug 2025 16:28:14 UTC.
Swift 6 data race errors: 88
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
| |- note: convert 'performanceMetrics' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'performanceMetrics' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
237 | private static let metricsQueue = DispatchQueue(label: "performance.metrics", attributes: .concurrent)
238 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:328:10: warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
326 | case emptyParameter(String)
327 | case invalidFormat(String, expected: String)
328 | case outOfRange(String, min: Any?, max: Any?)
| `- warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
329 |
330 | public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:328:10: warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
326 | case emptyParameter(String)
327 | case invalidFormat(String, expected: String)
328 | case outOfRange(String, min: Any?, max: Any?)
| `- warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
329 |
330 | public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:359:24: warning: static property 'interceptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
357 | /// Registry for managing interceptor instances and dependency injection integration.
358 | public class InterceptorRegistry {
359 | private static var interceptors: [String: MethodInterceptor] = [:]
| |- warning: static property 'interceptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'interceptors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'interceptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
360 | private static let registryQueue = DispatchQueue(label: "interceptor.registry", attributes: .concurrent)
361 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:365:39: warning: capture of 'interceptor' with non-sendable type 'any MethodInterceptor' in a '@Sendable' closure
102 |
103 | /// Protocol that all method interceptors must conform to.
104 | public protocol MethodInterceptor {
| `- note: protocol 'MethodInterceptor' does not conform to the 'Sendable' protocol
105 | /// Called before the intercepted method executes.
106 | /// Can modify parameters, perform validation, setup context, etc.
:
363 | public static func register(interceptor: MethodInterceptor, name: String) {
364 | registryQueue.async(flags: .barrier) {
365 | self.interceptors[name] = interceptor
| `- warning: capture of 'interceptor' with non-sendable type 'any MethodInterceptor' in a '@Sendable' closure
366 | }
367 | }
[455/482] Compiling SwinjectMacros ModuleHotSwap.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
15 |
16 | /// Hot-swap validation result
17 | public enum HotSwapValidationResult {
| `- note: consider making enum 'HotSwapValidationResult' conform to the 'Sendable' protocol
18 | case valid
19 | case incompatible(reason: String)
:
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| `- warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// Custom object scope that maintains singletons at the module level
8 | public final class ModuleScope: ObjectScopeProtocol {
| `- note: class 'ModuleScope' does not conform to the 'Sendable' protocol
9 |
10 | // MARK: - Properties
:
17 |
18 | /// Shared instance of module scope
19 | public static let shared = ModuleScope()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | // MARK: - Initialization
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:164:24: warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
162 |
163 | /// Thread-local storage for current module context
164 | private static let threadLocal = ThreadLocal<ModuleContext>()
| |- warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'threadLocal' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
165 |
166 | /// Current module context for the thread
:
206 |
207 | /// Thread-local storage implementation
208 | final class ThreadLocal<T> {
| `- note: generic class 'ThreadLocal' does not conform to the 'Sendable' protocol
209 | private var key: pthread_key_t = 0
210 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:285:23: warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
283 | /// Test helper for ModuleScoped property wrapper
284 | public final class ModuleScopedTestHelper {
285 | public static var overrideModuleSystem: ModuleSystem?
| |- warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'overrideModuleSystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'overrideModuleSystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:356:30: warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
354 |
355 | guard let module = registeredModules[moduleId] else { return }
356 | try await module.restoreFromSnapshot(snapshot)
| |- warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'module' to nonisolated instance method 'restoreFromSnapshot' risks causing data races between nonisolated and 'self'-isolated uses
357 |
358 | logger.info("Rollback completed for \(moduleId)")
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'validateCompatibility(with:)' risks causing data races between nonisolated and 'self'-isolated uses
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:246:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
244 | // Preparation phase
245 | await notifyListeners(HotSwapEvent(context: context, phase: .preparing))
246 | try await currentModule.prepareForSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'prepareForSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
247 |
248 | // Snapshot phase
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:250:52: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
248 | // Snapshot phase
249 | await notifyListeners(HotSwapEvent(context: context, phase: .snapshotting))
250 | let snapshot = try await currentModule.createSnapshot()
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'createSnapshot()' risks causing data races between nonisolated and 'self'-isolated uses
251 | rollbackPoints[context.rollbackPoint!] = snapshot
252 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:259:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
257 | // Completion phase
258 | await notifyListeners(HotSwapEvent(context: context, phase: .completing))
259 | try await currentModule.completeSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'completeSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
260 |
261 | // Update version tracking
[456/482] Compiling SwinjectMacros ModuleLifecycleManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
15 |
16 | /// Hot-swap validation result
17 | public enum HotSwapValidationResult {
| `- note: consider making enum 'HotSwapValidationResult' conform to the 'Sendable' protocol
18 | case valid
19 | case incompatible(reason: String)
:
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| `- warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// Custom object scope that maintains singletons at the module level
8 | public final class ModuleScope: ObjectScopeProtocol {
| `- note: class 'ModuleScope' does not conform to the 'Sendable' protocol
9 |
10 | // MARK: - Properties
:
17 |
18 | /// Shared instance of module scope
19 | public static let shared = ModuleScope()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | // MARK: - Initialization
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:164:24: warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
162 |
163 | /// Thread-local storage for current module context
164 | private static let threadLocal = ThreadLocal<ModuleContext>()
| |- warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'threadLocal' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
165 |
166 | /// Current module context for the thread
:
206 |
207 | /// Thread-local storage implementation
208 | final class ThreadLocal<T> {
| `- note: generic class 'ThreadLocal' does not conform to the 'Sendable' protocol
209 | private var key: pthread_key_t = 0
210 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:285:23: warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
283 | /// Test helper for ModuleScoped property wrapper
284 | public final class ModuleScopedTestHelper {
285 | public static var overrideModuleSystem: ModuleSystem?
| |- warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'overrideModuleSystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'overrideModuleSystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:356:30: warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
354 |
355 | guard let module = registeredModules[moduleId] else { return }
356 | try await module.restoreFromSnapshot(snapshot)
| |- warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'module' to nonisolated instance method 'restoreFromSnapshot' risks causing data races between nonisolated and 'self'-isolated uses
357 |
358 | logger.info("Rollback completed for \(moduleId)")
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'validateCompatibility(with:)' risks causing data races between nonisolated and 'self'-isolated uses
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:246:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
244 | // Preparation phase
245 | await notifyListeners(HotSwapEvent(context: context, phase: .preparing))
246 | try await currentModule.prepareForSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'prepareForSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
247 |
248 | // Snapshot phase
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:250:52: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
248 | // Snapshot phase
249 | await notifyListeners(HotSwapEvent(context: context, phase: .snapshotting))
250 | let snapshot = try await currentModule.createSnapshot()
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'createSnapshot()' risks causing data races between nonisolated and 'self'-isolated uses
251 | rollbackPoints[context.rollbackPoint!] = snapshot
252 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:259:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
257 | // Completion phase
258 | await notifyListeners(HotSwapEvent(context: context, phase: .completing))
259 | try await currentModule.completeSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'completeSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
260 |
261 | // Update version tracking
[457/482] Compiling SwinjectMacros ModulePerformanceOptimizer.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
15 |
16 | /// Hot-swap validation result
17 | public enum HotSwapValidationResult {
| `- note: consider making enum 'HotSwapValidationResult' conform to the 'Sendable' protocol
18 | case valid
19 | case incompatible(reason: String)
:
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| `- warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// Custom object scope that maintains singletons at the module level
8 | public final class ModuleScope: ObjectScopeProtocol {
| `- note: class 'ModuleScope' does not conform to the 'Sendable' protocol
9 |
10 | // MARK: - Properties
:
17 |
18 | /// Shared instance of module scope
19 | public static let shared = ModuleScope()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | // MARK: - Initialization
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:164:24: warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
162 |
163 | /// Thread-local storage for current module context
164 | private static let threadLocal = ThreadLocal<ModuleContext>()
| |- warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'threadLocal' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
165 |
166 | /// Current module context for the thread
:
206 |
207 | /// Thread-local storage implementation
208 | final class ThreadLocal<T> {
| `- note: generic class 'ThreadLocal' does not conform to the 'Sendable' protocol
209 | private var key: pthread_key_t = 0
210 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:285:23: warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
283 | /// Test helper for ModuleScoped property wrapper
284 | public final class ModuleScopedTestHelper {
285 | public static var overrideModuleSystem: ModuleSystem?
| |- warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'overrideModuleSystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'overrideModuleSystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:356:30: warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
354 |
355 | guard let module = registeredModules[moduleId] else { return }
356 | try await module.restoreFromSnapshot(snapshot)
| |- warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'module' to nonisolated instance method 'restoreFromSnapshot' risks causing data races between nonisolated and 'self'-isolated uses
357 |
358 | logger.info("Rollback completed for \(moduleId)")
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'validateCompatibility(with:)' risks causing data races between nonisolated and 'self'-isolated uses
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:246:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
244 | // Preparation phase
245 | await notifyListeners(HotSwapEvent(context: context, phase: .preparing))
246 | try await currentModule.prepareForSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'prepareForSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
247 |
248 | // Snapshot phase
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:250:52: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
248 | // Snapshot phase
249 | await notifyListeners(HotSwapEvent(context: context, phase: .snapshotting))
250 | let snapshot = try await currentModule.createSnapshot()
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'createSnapshot()' risks causing data races between nonisolated and 'self'-isolated uses
251 | rollbackPoints[context.rollbackPoint!] = snapshot
252 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:259:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
257 | // Completion phase
258 | await notifyListeners(HotSwapEvent(context: context, phase: .completing))
259 | try await currentModule.completeSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'completeSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
260 |
261 | // Update version tracking
[458/482] Compiling SwinjectMacros ModuleScope.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
15 |
16 | /// Hot-swap validation result
17 | public enum HotSwapValidationResult {
| `- note: consider making enum 'HotSwapValidationResult' conform to the 'Sendable' protocol
18 | case valid
19 | case incompatible(reason: String)
:
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| `- warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// Custom object scope that maintains singletons at the module level
8 | public final class ModuleScope: ObjectScopeProtocol {
| `- note: class 'ModuleScope' does not conform to the 'Sendable' protocol
9 |
10 | // MARK: - Properties
:
17 |
18 | /// Shared instance of module scope
19 | public static let shared = ModuleScope()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | // MARK: - Initialization
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:164:24: warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
162 |
163 | /// Thread-local storage for current module context
164 | private static let threadLocal = ThreadLocal<ModuleContext>()
| |- warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'threadLocal' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
165 |
166 | /// Current module context for the thread
:
206 |
207 | /// Thread-local storage implementation
208 | final class ThreadLocal<T> {
| `- note: generic class 'ThreadLocal' does not conform to the 'Sendable' protocol
209 | private var key: pthread_key_t = 0
210 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:285:23: warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
283 | /// Test helper for ModuleScoped property wrapper
284 | public final class ModuleScopedTestHelper {
285 | public static var overrideModuleSystem: ModuleSystem?
| |- warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'overrideModuleSystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'overrideModuleSystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:356:30: warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
354 |
355 | guard let module = registeredModules[moduleId] else { return }
356 | try await module.restoreFromSnapshot(snapshot)
| |- warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'module' to nonisolated instance method 'restoreFromSnapshot' risks causing data races between nonisolated and 'self'-isolated uses
357 |
358 | logger.info("Rollback completed for \(moduleId)")
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'validateCompatibility(with:)' risks causing data races between nonisolated and 'self'-isolated uses
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:246:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
244 | // Preparation phase
245 | await notifyListeners(HotSwapEvent(context: context, phase: .preparing))
246 | try await currentModule.prepareForSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'prepareForSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
247 |
248 | // Snapshot phase
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:250:52: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
248 | // Snapshot phase
249 | await notifyListeners(HotSwapEvent(context: context, phase: .snapshotting))
250 | let snapshot = try await currentModule.createSnapshot()
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'createSnapshot()' risks causing data races between nonisolated and 'self'-isolated uses
251 | rollbackPoints[context.rollbackPoint!] = snapshot
252 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:259:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
257 | // Completion phase
258 | await notifyListeners(HotSwapEvent(context: context, phase: .completing))
259 | try await currentModule.completeSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'completeSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
260 |
261 | // Update version tracking
[459/482] Compiling SwinjectMacros AsyncInject.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:444:24: warning: static property 'propertyRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
442 | /// Thread-safe async injection metrics tracking and reporting
443 | public class AsyncInjectionMetrics {
444 | private static var propertyRegistry: [String: AsyncPropertyInfo] = [:]
| |- warning: static property 'propertyRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'propertyRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'propertyRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
445 | private static var resolutionHistory: [String: [AsyncPropertyInfo]] = [:]
446 | private static let metricsQueue = DispatchQueue(label: "async.injection.metrics", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:445:24: warning: static property 'resolutionHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
443 | public class AsyncInjectionMetrics {
444 | private static var propertyRegistry: [String: AsyncPropertyInfo] = [:]
445 | private static var resolutionHistory: [String: [AsyncPropertyInfo]] = [:]
| |- warning: static property 'resolutionHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'resolutionHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'resolutionHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
446 | private static let metricsQueue = DispatchQueue(label: "async.injection.metrics", attributes: .concurrent)
447 | private static let maxHistoryPerProperty = 100 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:452:26: warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
267 |
268 | /// Individual async property resolution information
269 | public struct AsyncPropertyInfo {
| `- note: consider making struct 'AsyncPropertyInfo' conform to the 'Sendable' protocol
270 | /// Property name
271 | public let propertyName: String
:
450 | public static func registerProperty(_ info: AsyncPropertyInfo) {
451 | metricsQueue.async(flags: .barrier) {
452 | let key = "\(info.propertyName):\(info.propertyType)"
| `- warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
453 | self.propertyRegistry[key] = info
454 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:460:26: warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
267 |
268 | /// Individual async property resolution information
269 | public struct AsyncPropertyInfo {
| `- note: consider making struct 'AsyncPropertyInfo' conform to the 'Sendable' protocol
270 | /// Property name
271 | public let propertyName: String
:
458 | public static func recordResolution(_ info: AsyncPropertyInfo) {
459 | metricsQueue.async(flags: .barrier) {
460 | let key = "\(info.propertyName):\(info.propertyType)"
| `- warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
461 | self.propertyRegistry[key] = info
462 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:379:24: warning: static property 'caches' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
377 | /// Thread-safe cache management and metrics collection
378 | public class CacheRegistry {
379 | private static var caches: [String: CacheInstance] = [:]
| |- warning: static property 'caches' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'caches' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'caches' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
380 | private static var operationHistory: [String: [CacheOperation]] = [:]
381 | private static let registryQueue = DispatchQueue(label: "cache.registry", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:380:24: warning: static property 'operationHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
378 | public class CacheRegistry {
379 | private static var caches: [String: CacheInstance] = [:]
380 | private static var operationHistory: [String: [CacheOperation]] = [:]
| |- warning: static property 'operationHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'operationHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'operationHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
381 | private static let registryQueue = DispatchQueue(label: "cache.registry", attributes: .concurrent)
382 | private static let maxHistoryPerCache = 1000 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:411:60: warning: capture of 'operation' with non-sendable type 'CacheOperation' in a '@Sendable' closure
337 |
338 | /// Individual cache operation record
339 | public struct CacheOperation {
| `- note: consider making struct 'CacheOperation' conform to the 'Sendable' protocol
340 | /// Timestamp of the operation
341 | public let timestamp: Date
:
409 | public static func recordOperation(_ operation: CacheOperation, for key: String) {
410 | registryQueue.async(flags: .barrier) {
411 | self.operationHistory[key, default: []].append(operation)
| `- warning: capture of 'operation' with non-sendable type 'CacheOperation' in a '@Sendable' closure
412 |
413 | // Maintain circular buffer
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:287:24: warning: static property 'circuitBreakers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
285 | /// Thread-safe circuit breaker state management and metrics collection
286 | public class CircuitBreakerRegistry {
287 | private static var circuitBreakers: [String: CircuitBreakerInstance] = [:]
| |- warning: static property 'circuitBreakers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'circuitBreakers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'circuitBreakers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | private static var callHistory: [String: [CircuitBreakerCall]] = [:]
289 | private static let registryQueue = DispatchQueue(label: "circuit.breaker.registry", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:288:24: warning: static property 'callHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
286 | public class CircuitBreakerRegistry {
287 | private static var circuitBreakers: [String: CircuitBreakerInstance] = [:]
288 | private static var callHistory: [String: [CircuitBreakerCall]] = [:]
| |- warning: static property 'callHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'callHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'callHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | private static let registryQueue = DispatchQueue(label: "circuit.breaker.registry", attributes: .concurrent)
290 | private static let maxHistoryPerCircuit = 1000 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:321:55: warning: capture of 'call' with non-sendable type 'CircuitBreakerCall' in a '@Sendable' closure
240 |
241 | /// Individual circuit breaker call record
242 | public struct CircuitBreakerCall {
| `- note: consider making struct 'CircuitBreakerCall' conform to the 'Sendable' protocol
243 | /// Timestamp of the call
244 | public let timestamp: Date
:
319 | public static func recordCall(_ call: CircuitBreakerCall, for key: String) {
320 | registryQueue.async(flags: .barrier) {
321 | self.callHistory[key, default: []].append(call)
| `- warning: capture of 'call' with non-sendable type 'CircuitBreakerCall' in a '@Sendable' closure
322 |
323 | // Maintain circular buffer
[460/482] Compiling SwinjectMacros AutoFactory.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:444:24: warning: static property 'propertyRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
442 | /// Thread-safe async injection metrics tracking and reporting
443 | public class AsyncInjectionMetrics {
444 | private static var propertyRegistry: [String: AsyncPropertyInfo] = [:]
| |- warning: static property 'propertyRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'propertyRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'propertyRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
445 | private static var resolutionHistory: [String: [AsyncPropertyInfo]] = [:]
446 | private static let metricsQueue = DispatchQueue(label: "async.injection.metrics", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:445:24: warning: static property 'resolutionHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
443 | public class AsyncInjectionMetrics {
444 | private static var propertyRegistry: [String: AsyncPropertyInfo] = [:]
445 | private static var resolutionHistory: [String: [AsyncPropertyInfo]] = [:]
| |- warning: static property 'resolutionHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'resolutionHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'resolutionHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
446 | private static let metricsQueue = DispatchQueue(label: "async.injection.metrics", attributes: .concurrent)
447 | private static let maxHistoryPerProperty = 100 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:452:26: warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
267 |
268 | /// Individual async property resolution information
269 | public struct AsyncPropertyInfo {
| `- note: consider making struct 'AsyncPropertyInfo' conform to the 'Sendable' protocol
270 | /// Property name
271 | public let propertyName: String
:
450 | public static func registerProperty(_ info: AsyncPropertyInfo) {
451 | metricsQueue.async(flags: .barrier) {
452 | let key = "\(info.propertyName):\(info.propertyType)"
| `- warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
453 | self.propertyRegistry[key] = info
454 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:460:26: warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
267 |
268 | /// Individual async property resolution information
269 | public struct AsyncPropertyInfo {
| `- note: consider making struct 'AsyncPropertyInfo' conform to the 'Sendable' protocol
270 | /// Property name
271 | public let propertyName: String
:
458 | public static func recordResolution(_ info: AsyncPropertyInfo) {
459 | metricsQueue.async(flags: .barrier) {
460 | let key = "\(info.propertyName):\(info.propertyType)"
| `- warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
461 | self.propertyRegistry[key] = info
462 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:379:24: warning: static property 'caches' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
377 | /// Thread-safe cache management and metrics collection
378 | public class CacheRegistry {
379 | private static var caches: [String: CacheInstance] = [:]
| |- warning: static property 'caches' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'caches' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'caches' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
380 | private static var operationHistory: [String: [CacheOperation]] = [:]
381 | private static let registryQueue = DispatchQueue(label: "cache.registry", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:380:24: warning: static property 'operationHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
378 | public class CacheRegistry {
379 | private static var caches: [String: CacheInstance] = [:]
380 | private static var operationHistory: [String: [CacheOperation]] = [:]
| |- warning: static property 'operationHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'operationHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'operationHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
381 | private static let registryQueue = DispatchQueue(label: "cache.registry", attributes: .concurrent)
382 | private static let maxHistoryPerCache = 1000 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:411:60: warning: capture of 'operation' with non-sendable type 'CacheOperation' in a '@Sendable' closure
337 |
338 | /// Individual cache operation record
339 | public struct CacheOperation {
| `- note: consider making struct 'CacheOperation' conform to the 'Sendable' protocol
340 | /// Timestamp of the operation
341 | public let timestamp: Date
:
409 | public static func recordOperation(_ operation: CacheOperation, for key: String) {
410 | registryQueue.async(flags: .barrier) {
411 | self.operationHistory[key, default: []].append(operation)
| `- warning: capture of 'operation' with non-sendable type 'CacheOperation' in a '@Sendable' closure
412 |
413 | // Maintain circular buffer
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:287:24: warning: static property 'circuitBreakers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
285 | /// Thread-safe circuit breaker state management and metrics collection
286 | public class CircuitBreakerRegistry {
287 | private static var circuitBreakers: [String: CircuitBreakerInstance] = [:]
| |- warning: static property 'circuitBreakers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'circuitBreakers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'circuitBreakers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | private static var callHistory: [String: [CircuitBreakerCall]] = [:]
289 | private static let registryQueue = DispatchQueue(label: "circuit.breaker.registry", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:288:24: warning: static property 'callHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
286 | public class CircuitBreakerRegistry {
287 | private static var circuitBreakers: [String: CircuitBreakerInstance] = [:]
288 | private static var callHistory: [String: [CircuitBreakerCall]] = [:]
| |- warning: static property 'callHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'callHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'callHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | private static let registryQueue = DispatchQueue(label: "circuit.breaker.registry", attributes: .concurrent)
290 | private static let maxHistoryPerCircuit = 1000 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:321:55: warning: capture of 'call' with non-sendable type 'CircuitBreakerCall' in a '@Sendable' closure
240 |
241 | /// Individual circuit breaker call record
242 | public struct CircuitBreakerCall {
| `- note: consider making struct 'CircuitBreakerCall' conform to the 'Sendable' protocol
243 | /// Timestamp of the call
244 | public let timestamp: Date
:
319 | public static func recordCall(_ call: CircuitBreakerCall, for key: String) {
320 | registryQueue.async(flags: .barrier) {
321 | self.callHistory[key, default: []].append(call)
| `- warning: capture of 'call' with non-sendable type 'CircuitBreakerCall' in a '@Sendable' closure
322 |
323 | // Maintain circular buffer
[461/482] Compiling SwinjectMacros Cache.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:444:24: warning: static property 'propertyRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
442 | /// Thread-safe async injection metrics tracking and reporting
443 | public class AsyncInjectionMetrics {
444 | private static var propertyRegistry: [String: AsyncPropertyInfo] = [:]
| |- warning: static property 'propertyRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'propertyRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'propertyRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
445 | private static var resolutionHistory: [String: [AsyncPropertyInfo]] = [:]
446 | private static let metricsQueue = DispatchQueue(label: "async.injection.metrics", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:445:24: warning: static property 'resolutionHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
443 | public class AsyncInjectionMetrics {
444 | private static var propertyRegistry: [String: AsyncPropertyInfo] = [:]
445 | private static var resolutionHistory: [String: [AsyncPropertyInfo]] = [:]
| |- warning: static property 'resolutionHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'resolutionHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'resolutionHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
446 | private static let metricsQueue = DispatchQueue(label: "async.injection.metrics", attributes: .concurrent)
447 | private static let maxHistoryPerProperty = 100 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:452:26: warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
267 |
268 | /// Individual async property resolution information
269 | public struct AsyncPropertyInfo {
| `- note: consider making struct 'AsyncPropertyInfo' conform to the 'Sendable' protocol
270 | /// Property name
271 | public let propertyName: String
:
450 | public static func registerProperty(_ info: AsyncPropertyInfo) {
451 | metricsQueue.async(flags: .barrier) {
452 | let key = "\(info.propertyName):\(info.propertyType)"
| `- warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
453 | self.propertyRegistry[key] = info
454 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:460:26: warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
267 |
268 | /// Individual async property resolution information
269 | public struct AsyncPropertyInfo {
| `- note: consider making struct 'AsyncPropertyInfo' conform to the 'Sendable' protocol
270 | /// Property name
271 | public let propertyName: String
:
458 | public static func recordResolution(_ info: AsyncPropertyInfo) {
459 | metricsQueue.async(flags: .barrier) {
460 | let key = "\(info.propertyName):\(info.propertyType)"
| `- warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
461 | self.propertyRegistry[key] = info
462 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:379:24: warning: static property 'caches' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
377 | /// Thread-safe cache management and metrics collection
378 | public class CacheRegistry {
379 | private static var caches: [String: CacheInstance] = [:]
| |- warning: static property 'caches' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'caches' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'caches' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
380 | private static var operationHistory: [String: [CacheOperation]] = [:]
381 | private static let registryQueue = DispatchQueue(label: "cache.registry", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:380:24: warning: static property 'operationHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
378 | public class CacheRegistry {
379 | private static var caches: [String: CacheInstance] = [:]
380 | private static var operationHistory: [String: [CacheOperation]] = [:]
| |- warning: static property 'operationHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'operationHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'operationHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
381 | private static let registryQueue = DispatchQueue(label: "cache.registry", attributes: .concurrent)
382 | private static let maxHistoryPerCache = 1000 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:411:60: warning: capture of 'operation' with non-sendable type 'CacheOperation' in a '@Sendable' closure
337 |
338 | /// Individual cache operation record
339 | public struct CacheOperation {
| `- note: consider making struct 'CacheOperation' conform to the 'Sendable' protocol
340 | /// Timestamp of the operation
341 | public let timestamp: Date
:
409 | public static func recordOperation(_ operation: CacheOperation, for key: String) {
410 | registryQueue.async(flags: .barrier) {
411 | self.operationHistory[key, default: []].append(operation)
| `- warning: capture of 'operation' with non-sendable type 'CacheOperation' in a '@Sendable' closure
412 |
413 | // Maintain circular buffer
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:287:24: warning: static property 'circuitBreakers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
285 | /// Thread-safe circuit breaker state management and metrics collection
286 | public class CircuitBreakerRegistry {
287 | private static var circuitBreakers: [String: CircuitBreakerInstance] = [:]
| |- warning: static property 'circuitBreakers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'circuitBreakers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'circuitBreakers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | private static var callHistory: [String: [CircuitBreakerCall]] = [:]
289 | private static let registryQueue = DispatchQueue(label: "circuit.breaker.registry", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:288:24: warning: static property 'callHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
286 | public class CircuitBreakerRegistry {
287 | private static var circuitBreakers: [String: CircuitBreakerInstance] = [:]
288 | private static var callHistory: [String: [CircuitBreakerCall]] = [:]
| |- warning: static property 'callHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'callHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'callHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | private static let registryQueue = DispatchQueue(label: "circuit.breaker.registry", attributes: .concurrent)
290 | private static let maxHistoryPerCircuit = 1000 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:321:55: warning: capture of 'call' with non-sendable type 'CircuitBreakerCall' in a '@Sendable' closure
240 |
241 | /// Individual circuit breaker call record
242 | public struct CircuitBreakerCall {
| `- note: consider making struct 'CircuitBreakerCall' conform to the 'Sendable' protocol
243 | /// Timestamp of the call
244 | public let timestamp: Date
:
319 | public static func recordCall(_ call: CircuitBreakerCall, for key: String) {
320 | registryQueue.async(flags: .barrier) {
321 | self.callHistory[key, default: []].append(call)
| `- warning: capture of 'call' with non-sendable type 'CircuitBreakerCall' in a '@Sendable' closure
322 |
323 | // Maintain circular buffer
[462/482] Compiling SwinjectMacros CircuitBreaker.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:444:24: warning: static property 'propertyRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
442 | /// Thread-safe async injection metrics tracking and reporting
443 | public class AsyncInjectionMetrics {
444 | private static var propertyRegistry: [String: AsyncPropertyInfo] = [:]
| |- warning: static property 'propertyRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'propertyRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'propertyRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
445 | private static var resolutionHistory: [String: [AsyncPropertyInfo]] = [:]
446 | private static let metricsQueue = DispatchQueue(label: "async.injection.metrics", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:445:24: warning: static property 'resolutionHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
443 | public class AsyncInjectionMetrics {
444 | private static var propertyRegistry: [String: AsyncPropertyInfo] = [:]
445 | private static var resolutionHistory: [String: [AsyncPropertyInfo]] = [:]
| |- warning: static property 'resolutionHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'resolutionHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'resolutionHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
446 | private static let metricsQueue = DispatchQueue(label: "async.injection.metrics", attributes: .concurrent)
447 | private static let maxHistoryPerProperty = 100 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:452:26: warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
267 |
268 | /// Individual async property resolution information
269 | public struct AsyncPropertyInfo {
| `- note: consider making struct 'AsyncPropertyInfo' conform to the 'Sendable' protocol
270 | /// Property name
271 | public let propertyName: String
:
450 | public static func registerProperty(_ info: AsyncPropertyInfo) {
451 | metricsQueue.async(flags: .barrier) {
452 | let key = "\(info.propertyName):\(info.propertyType)"
| `- warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
453 | self.propertyRegistry[key] = info
454 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/AsyncInject.swift:460:26: warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
267 |
268 | /// Individual async property resolution information
269 | public struct AsyncPropertyInfo {
| `- note: consider making struct 'AsyncPropertyInfo' conform to the 'Sendable' protocol
270 | /// Property name
271 | public let propertyName: String
:
458 | public static func recordResolution(_ info: AsyncPropertyInfo) {
459 | metricsQueue.async(flags: .barrier) {
460 | let key = "\(info.propertyName):\(info.propertyType)"
| `- warning: capture of 'info' with non-sendable type 'AsyncPropertyInfo' in a '@Sendable' closure
461 | self.propertyRegistry[key] = info
462 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:379:24: warning: static property 'caches' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
377 | /// Thread-safe cache management and metrics collection
378 | public class CacheRegistry {
379 | private static var caches: [String: CacheInstance] = [:]
| |- warning: static property 'caches' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'caches' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'caches' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
380 | private static var operationHistory: [String: [CacheOperation]] = [:]
381 | private static let registryQueue = DispatchQueue(label: "cache.registry", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:380:24: warning: static property 'operationHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
378 | public class CacheRegistry {
379 | private static var caches: [String: CacheInstance] = [:]
380 | private static var operationHistory: [String: [CacheOperation]] = [:]
| |- warning: static property 'operationHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'operationHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'operationHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
381 | private static let registryQueue = DispatchQueue(label: "cache.registry", attributes: .concurrent)
382 | private static let maxHistoryPerCache = 1000 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Cache.swift:411:60: warning: capture of 'operation' with non-sendable type 'CacheOperation' in a '@Sendable' closure
337 |
338 | /// Individual cache operation record
339 | public struct CacheOperation {
| `- note: consider making struct 'CacheOperation' conform to the 'Sendable' protocol
340 | /// Timestamp of the operation
341 | public let timestamp: Date
:
409 | public static func recordOperation(_ operation: CacheOperation, for key: String) {
410 | registryQueue.async(flags: .barrier) {
411 | self.operationHistory[key, default: []].append(operation)
| `- warning: capture of 'operation' with non-sendable type 'CacheOperation' in a '@Sendable' closure
412 |
413 | // Maintain circular buffer
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:287:24: warning: static property 'circuitBreakers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
285 | /// Thread-safe circuit breaker state management and metrics collection
286 | public class CircuitBreakerRegistry {
287 | private static var circuitBreakers: [String: CircuitBreakerInstance] = [:]
| |- warning: static property 'circuitBreakers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'circuitBreakers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'circuitBreakers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
288 | private static var callHistory: [String: [CircuitBreakerCall]] = [:]
289 | private static let registryQueue = DispatchQueue(label: "circuit.breaker.registry", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:288:24: warning: static property 'callHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
286 | public class CircuitBreakerRegistry {
287 | private static var circuitBreakers: [String: CircuitBreakerInstance] = [:]
288 | private static var callHistory: [String: [CircuitBreakerCall]] = [:]
| |- warning: static property 'callHistory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'callHistory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'callHistory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
289 | private static let registryQueue = DispatchQueue(label: "circuit.breaker.registry", attributes: .concurrent)
290 | private static let maxHistoryPerCircuit = 1000 // Circular buffer size
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/CircuitBreaker.swift:321:55: warning: capture of 'call' with non-sendable type 'CircuitBreakerCall' in a '@Sendable' closure
240 |
241 | /// Individual circuit breaker call record
242 | public struct CircuitBreakerCall {
| `- note: consider making struct 'CircuitBreakerCall' conform to the 'Sendable' protocol
243 | /// Timestamp of the call
244 | public let timestamp: Date
:
319 | public static func recordCall(_ call: CircuitBreakerCall, for key: String) {
320 | registryQueue.async(flags: .barrier) {
321 | self.callHistory[key, default: []].append(call)
| `- warning: capture of 'call' with non-sendable type 'CircuitBreakerCall' in a '@Sendable' closure
322 |
323 | // Maintain circular buffer
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:517:23: warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
515 | extension ObjectScope {
516 | /// Default scope for ViewModel objects
517 | public static let viewModel: ObjectScope = .transient
| |- warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'viewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
518 |
519 | /// Singleton scope for shared ViewModels
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:520:23: warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
518 |
519 | /// Singleton scope for shared ViewModels
520 | public static let sharedViewModel: ObjectScope = .container
| |- warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedViewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
521 | }
522 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:517:23: warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
515 | extension ObjectScope {
516 | /// Default scope for ViewModel objects
517 | public static let viewModel: ObjectScope = .transient
| |- warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'viewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
518 |
519 | /// Singleton scope for shared ViewModels
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:520:23: warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
518 |
519 | /// Singleton scope for shared ViewModels
520 | public static let sharedViewModel: ObjectScope = .container
| |- warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedViewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
521 | }
522 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:517:23: warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
515 | extension ObjectScope {
516 | /// Default scope for ViewModel objects
517 | public static let viewModel: ObjectScope = .transient
| |- warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'viewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
518 |
519 | /// Singleton scope for shared ViewModels
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:520:23: warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
518 |
519 | /// Singleton scope for shared ViewModels
520 | public static let sharedViewModel: ObjectScope = .container
| |- warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedViewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
521 | }
522 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:517:23: warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
515 | extension ObjectScope {
516 | /// Default scope for ViewModel objects
517 | public static let viewModel: ObjectScope = .transient
| |- warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'viewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
518 |
519 | /// Singleton scope for shared ViewModels
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:520:23: warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
518 |
519 | /// Singleton scope for shared ViewModels
520 | public static let sharedViewModel: ObjectScope = .container
| |- warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedViewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
521 | }
522 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/DebugLogger.swift:14:24: warning: static property 'fileNameCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | /// Cache for file names to avoid repeated URL operations
14 | private static var fileNameCache: [String: String] = [:]
| |- warning: static property 'fileNameCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fileNameCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'fileNameCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | private static let cachelock = NSLock()
16 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/DebugLogger.swift:50:24: warning: static property '_minimumLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
48 |
49 | /// Current minimum log level
50 | private static var _minimumLevel: Level = .info
| |- warning: static property '_minimumLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_minimumLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_minimumLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 | private static let levelLock = NSLock()
52 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/NamedServiceRegistry.swift:59:24: warning: static property 'registrations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
57 |
58 | /// Shared registry instance - allows multiple configurations per type
59 | private static var registrations: [String: [NamedServiceConfiguration]] = [:]
| |- warning: static property 'registrations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registrations' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'registrations' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 |
61 | /// Thread safety lock
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/DebugLogger.swift:14:24: warning: static property 'fileNameCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | /// Cache for file names to avoid repeated URL operations
14 | private static var fileNameCache: [String: String] = [:]
| |- warning: static property 'fileNameCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fileNameCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'fileNameCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | private static let cachelock = NSLock()
16 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/DebugLogger.swift:50:24: warning: static property '_minimumLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
48 |
49 | /// Current minimum log level
50 | private static var _minimumLevel: Level = .info
| |- warning: static property '_minimumLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_minimumLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_minimumLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 | private static let levelLock = NSLock()
52 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/NamedServiceRegistry.swift:59:24: warning: static property 'registrations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
57 |
58 | /// Shared registry instance - allows multiple configurations per type
59 | private static var registrations: [String: [NamedServiceConfiguration]] = [:]
| |- warning: static property 'registrations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registrations' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'registrations' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 |
61 | /// Thread safety lock
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/DebugLogger.swift:14:24: warning: static property 'fileNameCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | /// Cache for file names to avoid repeated URL operations
14 | private static var fileNameCache: [String: String] = [:]
| |- warning: static property 'fileNameCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fileNameCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'fileNameCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | private static let cachelock = NSLock()
16 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/DebugLogger.swift:50:24: warning: static property '_minimumLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
48 |
49 | /// Current minimum log level
50 | private static var _minimumLevel: Level = .info
| |- warning: static property '_minimumLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_minimumLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_minimumLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 | private static let levelLock = NSLock()
52 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/NamedServiceRegistry.swift:59:24: warning: static property 'registrations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
57 |
58 | /// Shared registry instance - allows multiple configurations per type
59 | private static var registrations: [String: [NamedServiceConfiguration]] = [:]
| |- warning: static property 'registrations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registrations' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'registrations' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 |
61 | /// Thread safety lock
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/DebugLogger.swift:14:24: warning: static property 'fileNameCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |
13 | /// Cache for file names to avoid repeated URL operations
14 | private static var fileNameCache: [String: String] = [:]
| |- warning: static property 'fileNameCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'fileNameCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'fileNameCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | private static let cachelock = NSLock()
16 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/DebugLogger.swift:50:24: warning: static property '_minimumLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
48 |
49 | /// Current minimum log level
50 | private static var _minimumLevel: Level = .info
| |- warning: static property '_minimumLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_minimumLevel' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_minimumLevel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 | private static let levelLock = NSLock()
52 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Utilities/NamedServiceRegistry.swift:59:24: warning: static property 'registrations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
57 |
58 | /// Shared registry instance - allows multiple configurations per type
59 | private static var registrations: [String: [NamedServiceConfiguration]] = [:]
| |- warning: static property 'registrations' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registrations' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'registrations' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 |
61 | /// Thread safety lock
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
15 |
16 | /// Hot-swap validation result
17 | public enum HotSwapValidationResult {
| `- note: consider making enum 'HotSwapValidationResult' conform to the 'Sendable' protocol
18 | case valid
19 | case incompatible(reason: String)
:
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| `- warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// Custom object scope that maintains singletons at the module level
8 | public final class ModuleScope: ObjectScopeProtocol {
| `- note: class 'ModuleScope' does not conform to the 'Sendable' protocol
9 |
10 | // MARK: - Properties
:
17 |
18 | /// Shared instance of module scope
19 | public static let shared = ModuleScope()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | // MARK: - Initialization
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:164:24: warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
162 |
163 | /// Thread-local storage for current module context
164 | private static let threadLocal = ThreadLocal<ModuleContext>()
| |- warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'threadLocal' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
165 |
166 | /// Current module context for the thread
:
206 |
207 | /// Thread-local storage implementation
208 | final class ThreadLocal<T> {
| `- note: generic class 'ThreadLocal' does not conform to the 'Sendable' protocol
209 | private var key: pthread_key_t = 0
210 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:285:23: warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
283 | /// Test helper for ModuleScoped property wrapper
284 | public final class ModuleScopedTestHelper {
285 | public static var overrideModuleSystem: ModuleSystem?
| |- warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'overrideModuleSystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'overrideModuleSystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:356:30: warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
354 |
355 | guard let module = registeredModules[moduleId] else { return }
356 | try await module.restoreFromSnapshot(snapshot)
| |- warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'module' to nonisolated instance method 'restoreFromSnapshot' risks causing data races between nonisolated and 'self'-isolated uses
357 |
358 | logger.info("Rollback completed for \(moduleId)")
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'validateCompatibility(with:)' risks causing data races between nonisolated and 'self'-isolated uses
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:246:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
244 | // Preparation phase
245 | await notifyListeners(HotSwapEvent(context: context, phase: .preparing))
246 | try await currentModule.prepareForSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'prepareForSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
247 |
248 | // Snapshot phase
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:250:52: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
248 | // Snapshot phase
249 | await notifyListeners(HotSwapEvent(context: context, phase: .snapshotting))
250 | let snapshot = try await currentModule.createSnapshot()
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'createSnapshot()' risks causing data races between nonisolated and 'self'-isolated uses
251 | rollbackPoints[context.rollbackPoint!] = snapshot
252 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:259:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
257 | // Completion phase
258 | await notifyListeners(HotSwapEvent(context: context, phase: .completing))
259 | try await currentModule.completeSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'completeSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
260 |
261 | // Update version tracking
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
15 |
16 | /// Hot-swap validation result
17 | public enum HotSwapValidationResult {
| `- note: consider making enum 'HotSwapValidationResult' conform to the 'Sendable' protocol
18 | case valid
19 | case incompatible(reason: String)
:
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| `- warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// Custom object scope that maintains singletons at the module level
8 | public final class ModuleScope: ObjectScopeProtocol {
| `- note: class 'ModuleScope' does not conform to the 'Sendable' protocol
9 |
10 | // MARK: - Properties
:
17 |
18 | /// Shared instance of module scope
19 | public static let shared = ModuleScope()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | // MARK: - Initialization
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:164:24: warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
162 |
163 | /// Thread-local storage for current module context
164 | private static let threadLocal = ThreadLocal<ModuleContext>()
| |- warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'threadLocal' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
165 |
166 | /// Current module context for the thread
:
206 |
207 | /// Thread-local storage implementation
208 | final class ThreadLocal<T> {
| `- note: generic class 'ThreadLocal' does not conform to the 'Sendable' protocol
209 | private var key: pthread_key_t = 0
210 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:285:23: warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
283 | /// Test helper for ModuleScoped property wrapper
284 | public final class ModuleScopedTestHelper {
285 | public static var overrideModuleSystem: ModuleSystem?
| |- warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'overrideModuleSystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'overrideModuleSystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:356:30: warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
354 |
355 | guard let module = registeredModules[moduleId] else { return }
356 | try await module.restoreFromSnapshot(snapshot)
| |- warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'module' to nonisolated instance method 'restoreFromSnapshot' risks causing data races between nonisolated and 'self'-isolated uses
357 |
358 | logger.info("Rollback completed for \(moduleId)")
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'validateCompatibility(with:)' risks causing data races between nonisolated and 'self'-isolated uses
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:246:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
244 | // Preparation phase
245 | await notifyListeners(HotSwapEvent(context: context, phase: .preparing))
246 | try await currentModule.prepareForSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'prepareForSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
247 |
248 | // Snapshot phase
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:250:52: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
248 | // Snapshot phase
249 | await notifyListeners(HotSwapEvent(context: context, phase: .snapshotting))
250 | let snapshot = try await currentModule.createSnapshot()
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'createSnapshot()' risks causing data races between nonisolated and 'self'-isolated uses
251 | rollbackPoints[context.rollbackPoint!] = snapshot
252 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:259:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
257 | // Completion phase
258 | await notifyListeners(HotSwapEvent(context: context, phase: .completing))
259 | try await currentModule.completeSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'completeSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
260 |
261 | // Update version tracking
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
15 |
16 | /// Hot-swap validation result
17 | public enum HotSwapValidationResult {
| `- note: consider making enum 'HotSwapValidationResult' conform to the 'Sendable' protocol
18 | case valid
19 | case incompatible(reason: String)
:
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| `- warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// Custom object scope that maintains singletons at the module level
8 | public final class ModuleScope: ObjectScopeProtocol {
| `- note: class 'ModuleScope' does not conform to the 'Sendable' protocol
9 |
10 | // MARK: - Properties
:
17 |
18 | /// Shared instance of module scope
19 | public static let shared = ModuleScope()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | // MARK: - Initialization
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:164:24: warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
162 |
163 | /// Thread-local storage for current module context
164 | private static let threadLocal = ThreadLocal<ModuleContext>()
| |- warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'threadLocal' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
165 |
166 | /// Current module context for the thread
:
206 |
207 | /// Thread-local storage implementation
208 | final class ThreadLocal<T> {
| `- note: generic class 'ThreadLocal' does not conform to the 'Sendable' protocol
209 | private var key: pthread_key_t = 0
210 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:285:23: warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
283 | /// Test helper for ModuleScoped property wrapper
284 | public final class ModuleScopedTestHelper {
285 | public static var overrideModuleSystem: ModuleSystem?
| |- warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'overrideModuleSystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'overrideModuleSystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:356:30: warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
354 |
355 | guard let module = registeredModules[moduleId] else { return }
356 | try await module.restoreFromSnapshot(snapshot)
| |- warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'module' to nonisolated instance method 'restoreFromSnapshot' risks causing data races between nonisolated and 'self'-isolated uses
357 |
358 | logger.info("Rollback completed for \(moduleId)")
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'validateCompatibility(with:)' risks causing data races between nonisolated and 'self'-isolated uses
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:246:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
244 | // Preparation phase
245 | await notifyListeners(HotSwapEvent(context: context, phase: .preparing))
246 | try await currentModule.prepareForSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'prepareForSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
247 |
248 | // Snapshot phase
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:250:52: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
248 | // Snapshot phase
249 | await notifyListeners(HotSwapEvent(context: context, phase: .snapshotting))
250 | let snapshot = try await currentModule.createSnapshot()
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'createSnapshot()' risks causing data races between nonisolated and 'self'-isolated uses
251 | rollbackPoints[context.rollbackPoint!] = snapshot
252 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:259:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
257 | // Completion phase
258 | await notifyListeners(HotSwapEvent(context: context, phase: .completing))
259 | try await currentModule.completeSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'completeSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
260 |
261 | // Update version tracking
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
15 |
16 | /// Hot-swap validation result
17 | public enum HotSwapValidationResult {
| `- note: consider making enum 'HotSwapValidationResult' conform to the 'Sendable' protocol
18 | case valid
19 | case incompatible(reason: String)
:
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| `- warning: non-sendable result type 'HotSwapValidationResult' cannot be sent from nonisolated context in call to instance method 'validateCompatibility(with:)'; this is an error in the Swift 6 language mode
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:19:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
6 |
7 | /// Custom object scope that maintains singletons at the module level
8 | public final class ModuleScope: ObjectScopeProtocol {
| `- note: class 'ModuleScope' does not conform to the 'Sendable' protocol
9 |
10 | // MARK: - Properties
:
17 |
18 | /// Shared instance of module scope
19 | public static let shared = ModuleScope()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ModuleScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 |
21 | // MARK: - Initialization
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:164:24: warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
162 |
163 | /// Thread-local storage for current module context
164 | private static let threadLocal = ThreadLocal<ModuleContext>()
| |- warning: static property 'threadLocal' is not concurrency-safe because non-'Sendable' type 'ThreadLocal<ModuleContext>' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'threadLocal' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
165 |
166 | /// Current module context for the thread
:
206 |
207 | /// Thread-local storage implementation
208 | final class ThreadLocal<T> {
| `- note: generic class 'ThreadLocal' does not conform to the 'Sendable' protocol
209 | private var key: pthread_key_t = 0
210 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleScope.swift:285:23: warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
283 | /// Test helper for ModuleScoped property wrapper
284 | public final class ModuleScopedTestHelper {
285 | public static var overrideModuleSystem: ModuleSystem?
| |- warning: static property 'overrideModuleSystem' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'overrideModuleSystem' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'overrideModuleSystem' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
286 | }
287 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:356:30: warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
354 |
355 | guard let module = registeredModules[moduleId] else { return }
356 | try await module.restoreFromSnapshot(snapshot)
| |- warning: sending 'module' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'module' to nonisolated instance method 'restoreFromSnapshot' risks causing data races between nonisolated and 'self'-isolated uses
357 |
358 | logger.info("Rollback completed for \(moduleId)")
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:226:56: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
224 | // Validation phase
225 | await notifyListeners(HotSwapEvent(context: context, phase: .validating))
226 | let validationResult = await currentModule.validateCompatibility(with: targetVersion)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'validateCompatibility(with:)' risks causing data races between nonisolated and 'self'-isolated uses
227 |
228 | switch validationResult {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:246:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
244 | // Preparation phase
245 | await notifyListeners(HotSwapEvent(context: context, phase: .preparing))
246 | try await currentModule.prepareForSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'prepareForSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
247 |
248 | // Snapshot phase
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:250:52: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
248 | // Snapshot phase
249 | await notifyListeners(HotSwapEvent(context: context, phase: .snapshotting))
250 | let snapshot = try await currentModule.createSnapshot()
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'createSnapshot()' risks causing data races between nonisolated and 'self'-isolated uses
251 | rollbackPoints[context.rollbackPoint!] = snapshot
252 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Module/ModuleHotSwap.swift:259:37: warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
257 | // Completion phase
258 | await notifyListeners(HotSwapEvent(context: context, phase: .completing))
259 | try await currentModule.completeSwap(context: context)
| |- warning: sending 'currentModule' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'currentModule' to nonisolated instance method 'completeSwap(context:)' risks causing data races between nonisolated and 'self'-isolated uses
260 |
261 | // Update version tracking
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:172:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DefaultPreviewContainer' may have shared mutable state; this is an error in the Swift 6 language mode
169 |
170 | /// Default preview container implementation
171 | public class DefaultPreviewContainer: SwiftUIPreviewContainer {
| `- note: class 'DefaultPreviewContainer' does not conform to the 'Sendable' protocol
172 | public static let shared = DefaultPreviewContainer()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DefaultPreviewContainer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
173 | private let container = Container()
174 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:223:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Container?' may have shared mutable state; this is an error in the Swift 6 language mode
221 | /// Environment key for dependency injection container (StateObject specific)
222 | private struct StateObjectContainerKey: EnvironmentKey {
223 | static let defaultValue: Container? = nil
| `- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Container?' may have shared mutable state; this is an error in the Swift 6 language mode
224 | }
225 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Swinject/Sources/Container.swift:22:20: note: class 'Container' does not conform to the 'Sendable' protocol
20 | /// where `A` and `X` are protocols, `B` is a type conforming `A`, and `Y` is a type conforming `X`
21 | /// and depending on `A`.
22 | public final class Container {
| `- note: class 'Container' does not conform to the 'Sendable' protocol
23 | internal var services = [ServiceKey: ServiceEntryProtocol]()
24 | private let parent: Container? // Used by HierarchyObjectScope
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:5:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Swinject'
3 | import Foundation
4 | import SwiftUI
5 | import Swinject
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Swinject'
6 |
7 | // MARK: - @InjectedStateObject Macro
:
221 | /// Environment key for dependency injection container (StateObject specific)
222 | private struct StateObjectContainerKey: EnvironmentKey {
223 | static let defaultValue: Container? = nil
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
224 | }
225 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:264:14: warning: call to main actor-isolated instance method 'stateObjectContainer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
234 | extension View {
235 | /// Provide a dependency injection container for StateObject injection
236 | public func stateObjectContainer(_ container: Container) -> some View {
| `- note: calls to instance method 'stateObjectContainer' from outside of its actor context are implicitly asynchronous
237 | environment(\.stateObjectContainer, container)
238 | }
:
255 |
256 | /// Create a preview-configured view with dependencies
257 | public static func previewView(
| `- note: add '@MainActor' to make static method 'previewView(content:dependencies:)' part of global actor 'MainActor'
258 | @ViewBuilder content: @escaping () -> some View,
259 | dependencies: (Container) -> Void
:
262 | dependencies(container)
263 | return content()
264 | .stateObjectContainer(container)
| `- warning: call to main actor-isolated instance method 'stateObjectContainer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
265 | }
266 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:236:24: warning: static property 'performanceMetrics' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
234 | /// Performance tracking interceptor that measures and reports execution times.
235 | public class PerformanceInterceptor: BaseInterceptor {
236 | private static var performanceMetrics: [String: [Double]] = [:]
| |- warning: static property 'performanceMetrics' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'performanceMetrics' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'performanceMetrics' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
237 | private static let metricsQueue = DispatchQueue(label: "performance.metrics", attributes: .concurrent)
238 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:328:10: warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
326 | case emptyParameter(String)
327 | case invalidFormat(String, expected: String)
328 | case outOfRange(String, min: Any?, max: Any?)
| `- warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
329 |
330 | public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:328:10: warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
326 | case emptyParameter(String)
327 | case invalidFormat(String, expected: String)
328 | case outOfRange(String, min: Any?, max: Any?)
| `- warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
329 |
330 | public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:359:24: warning: static property 'interceptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
357 | /// Registry for managing interceptor instances and dependency injection integration.
358 | public class InterceptorRegistry {
359 | private static var interceptors: [String: MethodInterceptor] = [:]
| |- warning: static property 'interceptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'interceptors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'interceptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
360 | private static let registryQueue = DispatchQueue(label: "interceptor.registry", attributes: .concurrent)
361 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:365:39: warning: capture of 'interceptor' with non-sendable type 'any MethodInterceptor' in a '@Sendable' closure
102 |
103 | /// Protocol that all method interceptors must conform to.
104 | public protocol MethodInterceptor {
| `- note: protocol 'MethodInterceptor' does not conform to the 'Sendable' protocol
105 | /// Called before the intercepted method executes.
106 | /// Can modify parameters, perform validation, setup context, etc.
:
363 | public static func register(interceptor: MethodInterceptor, name: String) {
364 | registryQueue.async(flags: .barrier) {
365 | self.interceptors[name] = interceptor
| `- warning: capture of 'interceptor' with non-sendable type 'any MethodInterceptor' in a '@Sendable' closure
366 | }
367 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:172:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DefaultPreviewContainer' may have shared mutable state; this is an error in the Swift 6 language mode
169 |
170 | /// Default preview container implementation
171 | public class DefaultPreviewContainer: SwiftUIPreviewContainer {
| `- note: class 'DefaultPreviewContainer' does not conform to the 'Sendable' protocol
172 | public static let shared = DefaultPreviewContainer()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DefaultPreviewContainer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
173 | private let container = Container()
174 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:223:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Container?' may have shared mutable state; this is an error in the Swift 6 language mode
221 | /// Environment key for dependency injection container (StateObject specific)
222 | private struct StateObjectContainerKey: EnvironmentKey {
223 | static let defaultValue: Container? = nil
| `- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Container?' may have shared mutable state; this is an error in the Swift 6 language mode
224 | }
225 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Swinject/Sources/Container.swift:22:20: note: class 'Container' does not conform to the 'Sendable' protocol
20 | /// where `A` and `X` are protocols, `B` is a type conforming `A`, and `Y` is a type conforming `X`
21 | /// and depending on `A`.
22 | public final class Container {
| `- note: class 'Container' does not conform to the 'Sendable' protocol
23 | internal var services = [ServiceKey: ServiceEntryProtocol]()
24 | private let parent: Container? // Used by HierarchyObjectScope
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:5:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Swinject'
3 | import Foundation
4 | import SwiftUI
5 | import Swinject
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Swinject'
6 |
7 | // MARK: - @InjectedStateObject Macro
:
221 | /// Environment key for dependency injection container (StateObject specific)
222 | private struct StateObjectContainerKey: EnvironmentKey {
223 | static let defaultValue: Container? = nil
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
224 | }
225 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:264:14: warning: call to main actor-isolated instance method 'stateObjectContainer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
234 | extension View {
235 | /// Provide a dependency injection container for StateObject injection
236 | public func stateObjectContainer(_ container: Container) -> some View {
| `- note: calls to instance method 'stateObjectContainer' from outside of its actor context are implicitly asynchronous
237 | environment(\.stateObjectContainer, container)
238 | }
:
255 |
256 | /// Create a preview-configured view with dependencies
257 | public static func previewView(
| `- note: add '@MainActor' to make static method 'previewView(content:dependencies:)' part of global actor 'MainActor'
258 | @ViewBuilder content: @escaping () -> some View,
259 | dependencies: (Container) -> Void
:
262 | dependencies(container)
263 | return content()
264 | .stateObjectContainer(container)
| `- warning: call to main actor-isolated instance method 'stateObjectContainer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
265 | }
266 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:236:24: warning: static property 'performanceMetrics' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
234 | /// Performance tracking interceptor that measures and reports execution times.
235 | public class PerformanceInterceptor: BaseInterceptor {
236 | private static var performanceMetrics: [String: [Double]] = [:]
| |- warning: static property 'performanceMetrics' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'performanceMetrics' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'performanceMetrics' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
237 | private static let metricsQueue = DispatchQueue(label: "performance.metrics", attributes: .concurrent)
238 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:328:10: warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
326 | case emptyParameter(String)
327 | case invalidFormat(String, expected: String)
328 | case outOfRange(String, min: Any?, max: Any?)
| `- warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
329 |
330 | public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:328:10: warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
326 | case emptyParameter(String)
327 | case invalidFormat(String, expected: String)
328 | case outOfRange(String, min: Any?, max: Any?)
| `- warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
329 |
330 | public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:359:24: warning: static property 'interceptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
357 | /// Registry for managing interceptor instances and dependency injection integration.
358 | public class InterceptorRegistry {
359 | private static var interceptors: [String: MethodInterceptor] = [:]
| |- warning: static property 'interceptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'interceptors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'interceptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
360 | private static let registryQueue = DispatchQueue(label: "interceptor.registry", attributes: .concurrent)
361 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:365:39: warning: capture of 'interceptor' with non-sendable type 'any MethodInterceptor' in a '@Sendable' closure
102 |
103 | /// Protocol that all method interceptors must conform to.
104 | public protocol MethodInterceptor {
| `- note: protocol 'MethodInterceptor' does not conform to the 'Sendable' protocol
105 | /// Called before the intercepted method executes.
106 | /// Can modify parameters, perform validation, setup context, etc.
:
363 | public static func register(interceptor: MethodInterceptor, name: String) {
364 | registryQueue.async(flags: .barrier) {
365 | self.interceptors[name] = interceptor
| `- warning: capture of 'interceptor' with non-sendable type 'any MethodInterceptor' in a '@Sendable' closure
366 | }
367 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:172:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DefaultPreviewContainer' may have shared mutable state; this is an error in the Swift 6 language mode
169 |
170 | /// Default preview container implementation
171 | public class DefaultPreviewContainer: SwiftUIPreviewContainer {
| `- note: class 'DefaultPreviewContainer' does not conform to the 'Sendable' protocol
172 | public static let shared = DefaultPreviewContainer()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DefaultPreviewContainer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
173 | private let container = Container()
174 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:223:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Container?' may have shared mutable state; this is an error in the Swift 6 language mode
221 | /// Environment key for dependency injection container (StateObject specific)
222 | private struct StateObjectContainerKey: EnvironmentKey {
223 | static let defaultValue: Container? = nil
| `- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Container?' may have shared mutable state; this is an error in the Swift 6 language mode
224 | }
225 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Swinject/Sources/Container.swift:22:20: note: class 'Container' does not conform to the 'Sendable' protocol
20 | /// where `A` and `X` are protocols, `B` is a type conforming `A`, and `Y` is a type conforming `X`
21 | /// and depending on `A`.
22 | public final class Container {
| `- note: class 'Container' does not conform to the 'Sendable' protocol
23 | internal var services = [ServiceKey: ServiceEntryProtocol]()
24 | private let parent: Container? // Used by HierarchyObjectScope
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:5:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Swinject'
3 | import Foundation
4 | import SwiftUI
5 | import Swinject
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Swinject'
6 |
7 | // MARK: - @InjectedStateObject Macro
:
221 | /// Environment key for dependency injection container (StateObject specific)
222 | private struct StateObjectContainerKey: EnvironmentKey {
223 | static let defaultValue: Container? = nil
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
224 | }
225 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:264:14: warning: call to main actor-isolated instance method 'stateObjectContainer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
234 | extension View {
235 | /// Provide a dependency injection container for StateObject injection
236 | public func stateObjectContainer(_ container: Container) -> some View {
| `- note: calls to instance method 'stateObjectContainer' from outside of its actor context are implicitly asynchronous
237 | environment(\.stateObjectContainer, container)
238 | }
:
255 |
256 | /// Create a preview-configured view with dependencies
257 | public static func previewView(
| `- note: add '@MainActor' to make static method 'previewView(content:dependencies:)' part of global actor 'MainActor'
258 | @ViewBuilder content: @escaping () -> some View,
259 | dependencies: (Container) -> Void
:
262 | dependencies(container)
263 | return content()
264 | .stateObjectContainer(container)
| `- warning: call to main actor-isolated instance method 'stateObjectContainer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
265 | }
266 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:236:24: warning: static property 'performanceMetrics' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
234 | /// Performance tracking interceptor that measures and reports execution times.
235 | public class PerformanceInterceptor: BaseInterceptor {
236 | private static var performanceMetrics: [String: [Double]] = [:]
| |- warning: static property 'performanceMetrics' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'performanceMetrics' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'performanceMetrics' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
237 | private static let metricsQueue = DispatchQueue(label: "performance.metrics", attributes: .concurrent)
238 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:328:10: warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
326 | case emptyParameter(String)
327 | case invalidFormat(String, expected: String)
328 | case outOfRange(String, min: Any?, max: Any?)
| `- warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
329 |
330 | public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:328:10: warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
326 | case emptyParameter(String)
327 | case invalidFormat(String, expected: String)
328 | case outOfRange(String, min: Any?, max: Any?)
| `- warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
329 |
330 | public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:359:24: warning: static property 'interceptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
357 | /// Registry for managing interceptor instances and dependency injection integration.
358 | public class InterceptorRegistry {
359 | private static var interceptors: [String: MethodInterceptor] = [:]
| |- warning: static property 'interceptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'interceptors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'interceptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
360 | private static let registryQueue = DispatchQueue(label: "interceptor.registry", attributes: .concurrent)
361 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:365:39: warning: capture of 'interceptor' with non-sendable type 'any MethodInterceptor' in a '@Sendable' closure
102 |
103 | /// Protocol that all method interceptors must conform to.
104 | public protocol MethodInterceptor {
| `- note: protocol 'MethodInterceptor' does not conform to the 'Sendable' protocol
105 | /// Called before the intercepted method executes.
106 | /// Can modify parameters, perform validation, setup context, etc.
:
363 | public static func register(interceptor: MethodInterceptor, name: String) {
364 | registryQueue.async(flags: .barrier) {
365 | self.interceptors[name] = interceptor
| `- warning: capture of 'interceptor' with non-sendable type 'any MethodInterceptor' in a '@Sendable' closure
366 | }
367 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:172:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DefaultPreviewContainer' may have shared mutable state; this is an error in the Swift 6 language mode
169 |
170 | /// Default preview container implementation
171 | public class DefaultPreviewContainer: SwiftUIPreviewContainer {
| `- note: class 'DefaultPreviewContainer' does not conform to the 'Sendable' protocol
172 | public static let shared = DefaultPreviewContainer()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'DefaultPreviewContainer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
173 | private let container = Container()
174 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:223:16: warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Container?' may have shared mutable state; this is an error in the Swift 6 language mode
221 | /// Environment key for dependency injection container (StateObject specific)
222 | private struct StateObjectContainerKey: EnvironmentKey {
223 | static let defaultValue: Container? = nil
| `- warning: static property 'defaultValue' is not concurrency-safe because non-'Sendable' type 'Container?' may have shared mutable state; this is an error in the Swift 6 language mode
224 | }
225 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Swinject/Sources/Container.swift:22:20: note: class 'Container' does not conform to the 'Sendable' protocol
20 | /// where `A` and `X` are protocols, `B` is a type conforming `A`, and `Y` is a type conforming `X`
21 | /// and depending on `A`.
22 | public final class Container {
| `- note: class 'Container' does not conform to the 'Sendable' protocol
23 | internal var services = [ServiceKey: ServiceEntryProtocol]()
24 | private let parent: Container? // Used by HierarchyObjectScope
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:5:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Swinject'
3 | import Foundation
4 | import SwiftUI
5 | import Swinject
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Swinject'
6 |
7 | // MARK: - @InjectedStateObject Macro
:
221 | /// Environment key for dependency injection container (StateObject specific)
222 | private struct StateObjectContainerKey: EnvironmentKey {
223 | static let defaultValue: Container? = nil
| |- note: add '@MainActor' to make static property 'defaultValue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
224 | }
225 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/InjectedStateObject.swift:264:14: warning: call to main actor-isolated instance method 'stateObjectContainer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
234 | extension View {
235 | /// Provide a dependency injection container for StateObject injection
236 | public func stateObjectContainer(_ container: Container) -> some View {
| `- note: calls to instance method 'stateObjectContainer' from outside of its actor context are implicitly asynchronous
237 | environment(\.stateObjectContainer, container)
238 | }
:
255 |
256 | /// Create a preview-configured view with dependencies
257 | public static func previewView(
| `- note: add '@MainActor' to make static method 'previewView(content:dependencies:)' part of global actor 'MainActor'
258 | @ViewBuilder content: @escaping () -> some View,
259 | dependencies: (Container) -> Void
:
262 | dependencies(container)
263 | return content()
264 | .stateObjectContainer(container)
| `- warning: call to main actor-isolated instance method 'stateObjectContainer' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
265 | }
266 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:236:24: warning: static property 'performanceMetrics' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
234 | /// Performance tracking interceptor that measures and reports execution times.
235 | public class PerformanceInterceptor: BaseInterceptor {
236 | private static var performanceMetrics: [String: [Double]] = [:]
| |- warning: static property 'performanceMetrics' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'performanceMetrics' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'performanceMetrics' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
237 | private static let metricsQueue = DispatchQueue(label: "performance.metrics", attributes: .concurrent)
238 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:328:10: warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
326 | case emptyParameter(String)
327 | case invalidFormat(String, expected: String)
328 | case outOfRange(String, min: Any?, max: Any?)
| `- warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
329 |
330 | public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:328:10: warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
326 | case emptyParameter(String)
327 | case invalidFormat(String, expected: String)
328 | case outOfRange(String, min: Any?, max: Any?)
| `- warning: associated value 'outOfRange(_:min:max:)' of 'Sendable'-conforming enum 'ValidationError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
329 |
330 | public var errorDescription: String? {
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:359:24: warning: static property 'interceptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
357 | /// Registry for managing interceptor instances and dependency injection integration.
358 | public class InterceptorRegistry {
359 | private static var interceptors: [String: MethodInterceptor] = [:]
| |- warning: static property 'interceptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'interceptors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'interceptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
360 | private static let registryQueue = DispatchQueue(label: "interceptor.registry", attributes: .concurrent)
361 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Interceptor.swift:365:39: warning: capture of 'interceptor' with non-sendable type 'any MethodInterceptor' in a '@Sendable' closure
102 |
103 | /// Protocol that all method interceptors must conform to.
104 | public protocol MethodInterceptor {
| `- note: protocol 'MethodInterceptor' does not conform to the 'Sendable' protocol
105 | /// Called before the intercepted method executes.
106 | /// Can modify parameters, perform validation, setup context, etc.
:
363 | public static func register(interceptor: MethodInterceptor, name: String) {
364 | registryQueue.async(flags: .barrier) {
365 | self.interceptors[name] = interceptor
| `- warning: capture of 'interceptor' with non-sendable type 'any MethodInterceptor' in a '@Sendable' closure
366 | }
367 | }
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:517:23: warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
515 | extension ObjectScope {
516 | /// Default scope for ViewModel objects
517 | public static let viewModel: ObjectScope = .transient
| |- warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'viewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
518 |
519 | /// Singleton scope for shared ViewModels
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:520:23: warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
518 |
519 | /// Singleton scope for shared ViewModels
520 | public static let sharedViewModel: ObjectScope = .container
| |- warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedViewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
521 | }
522 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:517:23: warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
515 | extension ObjectScope {
516 | /// Default scope for ViewModel objects
517 | public static let viewModel: ObjectScope = .transient
| |- warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'viewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
518 |
519 | /// Singleton scope for shared ViewModels
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:520:23: warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
518 |
519 | /// Singleton scope for shared ViewModels
520 | public static let sharedViewModel: ObjectScope = .container
| |- warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedViewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
521 | }
522 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:517:23: warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
515 | extension ObjectScope {
516 | /// Default scope for ViewModel objects
517 | public static let viewModel: ObjectScope = .transient
| |- warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'viewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
518 |
519 | /// Singleton scope for shared ViewModels
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:520:23: warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
518 |
519 | /// Singleton scope for shared ViewModels
520 | public static let sharedViewModel: ObjectScope = .container
| |- warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedViewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
521 | }
522 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:517:23: warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
515 | extension ObjectScope {
516 | /// Default scope for ViewModel objects
517 | public static let viewModel: ObjectScope = .transient
| |- warning: static property 'viewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'viewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
518 |
519 | /// Singleton scope for shared ViewModels
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/SwiftUI/ViewModelInject.swift:520:23: warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
518 |
519 | /// Singleton scope for shared ViewModels
520 | public static let sharedViewModel: ObjectScope = .container
| |- warning: static property 'sharedViewModel' is not concurrency-safe because non-'Sendable' type 'ObjectScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'sharedViewModel' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
521 | }
522 |
/Users/admin/builder/spi-builder-workspace/Sources/SwinjectMacros/Injectable.swift:108:13: note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
106 |
107 | /// Object scope configuration for dependency injection
108 | public enum ObjectScope {
| `- note: consider making enum 'ObjectScope' conform to the 'Sendable' protocol
109 | /// Object graph scope - shared during object graph construction (default)
110 | case graph
Build complete! (45.90s)
warning: 'swinject': found 5 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Swinject/Sources/Info.plist
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Swinject/Sources/ServiceEntry.TypeForwarding.erb
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Swinject/Sources/PrivacyInfo.xcprivacy
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Swinject/Sources/Container.Arguments.erb
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Swinject/Sources/Resolver.erb
Build complete.
{
"dependencies" : [
{
"identity" : "swift-syntax",
"requirement" : {
"exact" : [
"509.0.0"
]
},
"type" : "sourceControl",
"url" : "https://github.com/swiftlang/swift-syntax.git"
},
{
"identity" : "swinject",
"requirement" : {
"exact" : [
"2.9.1"
]
},
"type" : "sourceControl",
"url" : "https://github.com/Swinject/Swinject.git"
}
],
"manifest_display_name" : "SwinjectMacros",
"name" : "SwinjectMacros",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "tvos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "SwinjectMacros",
"targets" : [
"SwinjectMacros"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "SwinjectBuildPlugin",
"targets" : [
"SwinjectBuildPlugin"
],
"type" : {
"plugin" : null
}
},
{
"name" : "ServiceDiscoveryTool",
"targets" : [
"ServiceDiscoveryTool"
],
"type" : {
"executable" : null
}
},
{
"name" : "SwinjectMacrosImplementation",
"targets" : [
"SwinjectMacrosImplementation"
],
"type" : {
"macro" : null
}
}
],
"targets" : [
{
"c99name" : "SwinjectMacrosTests",
"module_type" : "SwiftTarget",
"name" : "SwinjectMacrosTests",
"path" : "Tests/SwinjectMacrosTests",
"product_dependencies" : [
"SwiftSyntaxMacrosTestSupport",
"Swinject"
],
"sources" : [
"APIDesignValidationTests.swift",
"APIValidationTests.swift",
"AsyncActorIntegrationTests.swift",
"AsyncEdgeCaseTests.swift",
"AutoFactoryTests.swift",
"CacheMacroTests.swift",
"CircuitBreakerMacroTests.swift",
"ComplexGenericEdgeCaseTests.swift",
"ComplexGenericTests.swift",
"EdgeCaseTests.swift",
"ErrorRecoveryTests.swift",
"InjectableTests.swift",
"InterceptorMacroTests.swift",
"InvalidUsageTests.swift",
"LazyInjectMacroTests.swift",
"MacroCompositionTests.swift",
"MemoryManagementTests.swift",
"ModuleDebugToolsMonitoringTests.swift",
"ModuleDebugToolsTests.swift",
"ModuleHotSwapTests.swift",
"ModuleLifecycleManagerTests.swift",
"ModulePerformanceOptimizerTests.swift",
"ModuleScopeTests.swift",
"ModuleSystemTests.swift",
"NameManglingTests.swift",
"PerformanceBenchmarkTests.swift",
"PerformanceRegressionTests.swift",
"PerformanceTrackedMacroTests.swift",
"PublicAPITests.swift",
"ResolverExtensionTests.swift",
"RetryMacroTests.swift",
"RuntimeIntegrationTests.swift",
"StressTests.swift",
"SwiftUIIntegrationEdgeCaseTests.swift",
"SwiftUIIntegrationTests.swift",
"TestContainerTests.swift",
"TestUtilities.swift",
"TestingMacroTests.swift"
],
"target_dependencies" : [
"SwinjectMacros",
"SwinjectMacrosImplementation"
],
"type" : "test"
},
{
"c99name" : "SwinjectMacrosImplementation",
"module_type" : "SwiftTarget",
"name" : "SwinjectMacrosImplementation",
"path" : "Sources/SwinjectMacrosImplementation",
"product_dependencies" : [
"SwiftSyntaxMacros",
"SwiftCompilerPlugin",
"SwiftSyntax",
"SwiftParser"
],
"product_memberships" : [
"SwinjectMacros",
"SwinjectMacrosImplementation"
],
"sources" : [
"AOP/DecoratorMacro.swift",
"Configuration/DebugContainerMacro.swift",
"Configuration/DependencyGraphMacro.swift",
"Configuration/DependencyGroupMacro.swift",
"Configuration/ServiceGroupMacro.swift",
"Configuration/ValidatedContainerMacro.swift",
"Core/AsyncInjectMacro.swift",
"Core/AutoFactory1Macro.swift",
"Core/AutoFactory2Macro.swift",
"Core/AutoFactoryMacro.swift",
"Core/AutoFactoryMultiMacro.swift",
"Core/AutoRegisterMacro.swift",
"Core/CacheMacro.swift",
"Core/CircuitBreakerMacro.swift",
"Core/InjectableMacro.swift",
"Core/InterceptorMacro.swift",
"Core/LazyInjectMacro.swift",
"Core/ModuleMacro.swift",
"Core/NamedMacro.swift",
"Core/OptionalInjectMacro.swift",
"Core/PerformanceTrackedMacro.swift",
"Core/RetryMacro.swift",
"Core/ScopedServiceMacro.swift",
"Core/TestContainerMacro.swift",
"Core/ThreadSafeMacro.swift",
"Core/WeakInjectMacro.swift",
"Plugin.swift",
"SwiftUI/EnvironmentInjectMacro.swift",
"SwiftUI/InjectedStateObjectMacro.swift",
"SwiftUI/PublisherInjectMacro.swift",
"SwiftUI/ViewModelInjectMacro.swift",
"Testing/MockResponseMacro.swift",
"Testing/SpyMacro.swift",
"Testing/StubServiceMacro.swift",
"Utilities/CodeGenerator.swift",
"Utilities/MacroUtilities.swift",
"Utilities/SyntaxExtensions.swift",
"Utilities/TypeAnalyzer.swift"
],
"type" : "macro"
},
{
"c99name" : "SwinjectMacros",
"module_type" : "SwiftTarget",
"name" : "SwinjectMacros",
"path" : "Sources/SwinjectMacros",
"product_dependencies" : [
"Swinject"
],
"product_memberships" : [
"SwinjectMacros"
],
"sources" : [
"AsyncInject.swift",
"AutoFactory.swift",
"Cache.swift",
"CircuitBreaker.swift",
"Configuration/ValidatedContainer.swift",
"DebugContainer.swift",
"Decorator.swift",
"DependencyGraph.swift",
"DependencyGraphTypes.swift",
"Injectable.swift",
"InjectedStateObject.swift",
"Interceptor.swift",
"LazyInject.swift",
"Module/Module.swift",
"Module/ModuleDebugTools.swift",
"Module/ModuleDependencyGraph.swift",
"Module/ModuleHotSwap.swift",
"Module/ModuleLifecycleManager.swift",
"Module/ModulePerformanceOptimizer.swift",
"Module/ModuleScope.swift",
"Module/ModuleSystem.swift",
"Named.swift",
"OptionalInject.swift",
"PerformanceTracked.swift",
"PublisherInject.swift",
"Retry.swift",
"ScopedService.swift",
"StubService.swift",
"SwiftUI/EnvironmentInject.swift",
"SwiftUI/ViewModelInject.swift",
"SwinJectMacros.swift",
"Testing/MockResponse.swift",
"Testing/Spy.swift",
"ThreadSafe.swift",
"Utilities/DebugLogger.swift",
"Utilities/NamedServiceRegistry.swift",
"Utilities/Resolver+Extensions.swift",
"Utilities/StringExtensions.swift",
"WeakInject.swift"
],
"target_dependencies" : [
"SwinjectMacrosImplementation"
],
"type" : "library"
},
{
"c99name" : "SwinjectBuildPlugin",
"module_type" : "PluginTarget",
"name" : "SwinjectBuildPlugin",
"path" : "Plugins/SwinjectBuildPlugin",
"plugin_capability" : {
"type" : "buildTool"
},
"product_memberships" : [
"SwinjectBuildPlugin"
],
"sources" : [
"plugin.swift"
],
"target_dependencies" : [
"ServiceDiscoveryTool"
],
"type" : "plugin"
},
{
"c99name" : "ServiceDiscoveryTool",
"module_type" : "SwiftTarget",
"name" : "ServiceDiscoveryTool",
"path" : "Sources/ServiceDiscoveryTool",
"product_dependencies" : [
"SwiftSyntax",
"SwiftParser"
],
"product_memberships" : [
"SwinjectBuildPlugin",
"ServiceDiscoveryTool"
],
"sources" : [
"main.swift"
],
"type" : "executable"
},
{
"c99name" : "IntegrationTests",
"module_type" : "SwiftTarget",
"name" : "IntegrationTests",
"path" : "Tests/IntegrationTests",
"product_dependencies" : [
"Swinject"
],
"sources" : [
"SwinjectIntegrationTests.swift"
],
"target_dependencies" : [
"SwinjectMacros"
],
"type" : "test"
}
],
"tools_version" : "5.9"
}
Done.