Build Information
Successful build of Resolver, reference 1.5.1 (47602a
), with Swift 6.0 for macOS (SPM) on 30 Nov 2024 22:06:27 UTC.
Swift 6 data race errors: 15
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/hmlongco/Resolver.git
Reference: 1.5.1
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/hmlongco/Resolver
* tag 1.5.1 -> FETCH_HEAD
HEAD is now at 47602af Update manifest
Cloned https://github.com/hmlongco/Resolver.git
Revision (git rev-parse @):
47602af1ac8d7952299fbd0bda3cfbd12cf3a8ca
SUCCESS checkout https://github.com/hmlongco/Resolver.git at 1.5.1
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "resolver",
"name": "Resolver",
"url": "https://github.com/hmlongco/Resolver.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Resolver",
"dependencies": [
]
}
]
}
Fetching https://github.com/hmlongco/Resolver.git
[1/2074] Fetching resolver
Fetched https://github.com/hmlongco/Resolver.git from cache (1.15s)
Creating working copy for https://github.com/hmlongco/Resolver.git
Working copy of https://github.com/hmlongco/Resolver.git resolved at 1.5.1 (47602af)
warning: '.resolve-product-dependencies': dependency 'resolver' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/hmlongco/Resolver.git
{
"dependencies" : [
],
"manifest_display_name" : "Resolver",
"name" : "Resolver",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "macos",
"version" : "10.14"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "Resolver",
"targets" : [
"Resolver"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Resolver-Static",
"targets" : [
"Resolver"
],
"type" : {
"library" : [
"static"
]
}
},
{
"name" : "Resolver-Dynamic",
"targets" : [
"Resolver"
],
"type" : {
"library" : [
"dynamic"
]
}
}
],
"targets" : [
{
"c99name" : "ResolverTests",
"module_type" : "SwiftTarget",
"name" : "ResolverTests",
"path" : "Tests/ResolverTests",
"sources" : [
"ResolverArgumentTests.swift",
"ResolverBasicTests.swift",
"ResolverClassTests.swift",
"ResolverContainerTests.swift",
"ResolverCyclicDependencyTests.swift",
"ResolverInjectedTests.swift",
"ResolverNameTests.swift",
"ResolverProtocolTests.swift",
"ResolverScopeNameTests.swift",
"ResolverScopeReferenceTests.swift",
"ResolverScopeValueTests.swift",
"ResolverStoryboardTests.swift",
"TestData.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Resolver"
],
"type" : "test"
},
{
"c99name" : "Resolver",
"module_type" : "SwiftTarget",
"name" : "Resolver",
"path" : "Sources/Resolver",
"product_memberships" : [
"Resolver",
"Resolver-Static",
"Resolver-Dynamic"
],
"sources" : [
"Resolver.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
warning: 'spi-builder-workspace': Invalid Resource 'PrivacyInfo.xcprivacy': File not found.
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/6] Write sources
[1/6] Write swift-version--7754E27361AE5C74.txt
[3/8] Emitting module Resolver
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:61:23: warning: static property 'main' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
59 |
60 | /// Default registry used by the static Registration functions.
61 | public static var main: Resolver = Resolver()
| |- warning: static property 'main' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'main' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'main' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | /// Default registry used by the static Resolution functions and by the Resolving protocol.
63 | public static var root: Resolver = main
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:63:23: warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
61 | public static var main: Resolver = Resolver()
62 | /// Default registry used by the static Resolution functions and by the Resolving protocol.
63 | public static var root: Resolver = main
| |- warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'root' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'root' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | /// Default scope applied when registering new objects.
65 | public static var defaultScope: ResolverScope = .graph
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:65:23: warning: static property 'defaultScope' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
63 | public static var root: Resolver = main
64 | /// Default scope applied when registering new objects.
65 | public static var defaultScope: ResolverScope = .graph
| |- warning: static property 'defaultScope' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultScope' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultScope' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
66 | /// Internal scope cache used for .scope(.container)
67 | public lazy var cache: ResolverScope = ResolverScopeCache()
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:607:23: warning: static property 'graph' is not concurrency-safe because non-'Sendable' type 'ResolverScopeGraph' may have shared mutable state; this is an error in the Swift 6 language mode
605 | public static let cached = ResolverScopeCache()
606 | /// Graph services are initialized once and only once during a given resolution cycle. This is the default scope.
607 | public static let graph = ResolverScopeGraph()
| |- warning: static property 'graph' is not concurrency-safe because non-'Sendable' type 'ResolverScopeGraph' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'graph' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
608 | /// Shared services persist while strong references to them exist. They're then deallocated until the next resolve.
609 | public static let shared = ResolverScopeShare()
:
647 |
648 | /// Graph services are initialized once and only once during a given resolution cycle. This is the default scope.
649 | public final class ResolverScopeGraph: ResolverScope {
| `- note: class 'ResolverScopeGraph' does not conform to the 'Sendable' protocol
650 |
651 | public override init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:69:23: warning: static property 'decorate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
67 | public lazy var cache: ResolverScope = ResolverScopeCache()
68 | /// Decorator applied to all resolved objects
69 | public static var decorate: ((_ service: Any) -> Void)?
| |- warning: static property 'decorate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decorate' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'decorate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |
71 | // MARK: - Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:105:23: warning: static property 'registerServices' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
103 | /// Call function to force one-time initialization of the Resolver registries. Usually not needed as functionality
104 | /// occurs automatically the first time a resolution function is called.
105 | public static var registerServices: (() -> Void)? = {
| |- warning: static property 'registerServices' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registerServices' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'registerServices' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
106 | lock.lock()
107 | defer { lock.unlock() }
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:372:28: warning: static property 'lock' is not concurrency-safe because non-'Sendable' type 'ResolverRecursiveLock' may have shared mutable state; this is an error in the Swift 6 language mode
351 |
352 | /// Resolving an instance of a service is a recursive process (service A needs a B which needs a C).
353 | private final class ResolverRecursiveLock {
| `- note: class 'ResolverRecursiveLock' does not conform to the 'Sendable' protocol
354 | init() {
355 | pthread_mutexattr_init(&recursiveMutexAttr)
:
370 |
371 | extension Resolver {
372 | fileprivate static let lock = ResolverRecursiveLock()
| |- warning: static property 'lock' is not concurrency-safe because non-'Sendable' type 'ResolverRecursiveLock' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'lock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
373 | }
374 |
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:453:13: warning: var 'registrationNeeded' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
451 | // Registration Internals
452 |
453 | private var registrationNeeded: Bool = true
| |- warning: var 'registrationNeeded' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registrationNeeded' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'registrationNeeded' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
454 |
455 | @inline(__always)
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:601:23: warning: static property 'application' is not concurrency-safe because non-'Sendable' type 'ResolverScopeCache' may have shared mutable state; this is an error in the Swift 6 language mode
599 |
600 | /// All application scoped services exist for lifetime of the app. (e.g Singletons)
601 | public static let application = ResolverScopeCache()
| |- warning: static property 'application' is not concurrency-safe because non-'Sendable' type 'ResolverScopeCache' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'application' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
602 | /// Proxy to container's scope. Cache type depends on type supplied to container (default .cache)
603 | public static let container = ResolverScopeContainer()
:
624 |
625 | /// Cached services exist for lifetime of the app or until their cache is reset.
626 | public class ResolverScopeCache: ResolverScope {
| `- note: class 'ResolverScopeCache' does not conform to the 'Sendable' protocol
627 |
628 | public override init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:603:23: warning: static property 'container' is not concurrency-safe because non-'Sendable' type 'ResolverScopeContainer' may have shared mutable state; this is an error in the Swift 6 language mode
601 | public static let application = ResolverScopeCache()
602 | /// Proxy to container's scope. Cache type depends on type supplied to container (default .cache)
603 | public static let container = ResolverScopeContainer()
| |- warning: static property 'container' is not concurrency-safe because non-'Sendable' type 'ResolverScopeContainer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'container' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
604 | /// Cached services exist for lifetime of the app or until their cache is reset.
605 | public static let cached = ResolverScopeCache()
:
703 |
704 | /// Proxy to container's scope. Cache type depends on type supplied to container (default .cache)
705 | public final class ResolverScopeContainer: ResolverScope {
| `- note: class 'ResolverScopeContainer' does not conform to the 'Sendable' protocol
706 |
707 | public override init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:605:23: warning: static property 'cached' is not concurrency-safe because non-'Sendable' type 'ResolverScopeCache' may have shared mutable state; this is an error in the Swift 6 language mode
603 | public static let container = ResolverScopeContainer()
604 | /// Cached services exist for lifetime of the app or until their cache is reset.
605 | public static let cached = ResolverScopeCache()
| |- warning: static property 'cached' is not concurrency-safe because non-'Sendable' type 'ResolverScopeCache' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'cached' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
606 | /// Graph services are initialized once and only once during a given resolution cycle. This is the default scope.
607 | public static let graph = ResolverScopeGraph()
:
624 |
625 | /// Cached services exist for lifetime of the app or until their cache is reset.
626 | public class ResolverScopeCache: ResolverScope {
| `- note: class 'ResolverScopeCache' does not conform to the 'Sendable' protocol
627 |
628 | public override init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:609:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ResolverScopeShare' may have shared mutable state; this is an error in the Swift 6 language mode
607 | public static let graph = ResolverScopeGraph()
608 | /// Shared services persist while strong references to them exist. They're then deallocated until the next resolve.
609 | public static let shared = ResolverScopeShare()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ResolverScopeShare' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
610 | /// Unique services are created and initialized each and every time they're resolved.
611 | public static let unique = ResolverScope()
:
673 |
674 | /// Shared services persist while strong references to them exist. They're then deallocated until the next resolve.
675 | public final class ResolverScopeShare: ResolverScope {
| `- note: class 'ResolverScopeShare' does not conform to the 'Sendable' protocol
676 |
677 | public override init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:611:23: warning: static property 'unique' is not concurrency-safe because non-'Sendable' type 'ResolverScope' may have shared mutable state; this is an error in the Swift 6 language mode
594 | }
595 |
596 | public class ResolverScope: ResolverScopeType {
| `- note: class 'ResolverScope' does not conform to the 'Sendable' protocol
597 |
598 | // Moved definitions to ResolverScope to allow for dot notation access
:
609 | public static let shared = ResolverScopeShare()
610 | /// Unique services are created and initialized each and every time they're resolved.
611 | public static let unique = ResolverScope()
| |- warning: static property 'unique' is not concurrency-safe because non-'Sendable' type 'ResolverScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'unique' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
612 |
613 | public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:890:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
888 | @available(OSX 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
889 | @propertyWrapper public struct InjectedObject<Service>: DynamicProperty where Service: ObservableObject {
890 | @ObservedObject private var service: Service
| `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
891 | public init() {
892 | self.service = Resolver.resolve(Service.self)
SwiftUICore.ObservedObject:7:39: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
5 | }
6 | @MainActor @preconcurrency public init(initialValue: ObjectType)
7 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)
| `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
8 | @MainActor @preconcurrency public var wrappedValue: ObjectType
9 | @MainActor @preconcurrency public var projectedValue: ObservedObject<ObjectType>.Wrapper { get }
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:890:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
888 | @available(OSX 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
889 | @propertyWrapper public struct InjectedObject<Service>: DynamicProperty where Service: ObservableObject {
890 | @ObservedObject private var service: Service
| |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
891 | public init() {
892 | self.service = Resolver.resolve(Service.self)
[4/8] Compiling Resolver Resolver.swift
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:61:23: warning: static property 'main' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
59 |
60 | /// Default registry used by the static Registration functions.
61 | public static var main: Resolver = Resolver()
| |- warning: static property 'main' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'main' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'main' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | /// Default registry used by the static Resolution functions and by the Resolving protocol.
63 | public static var root: Resolver = main
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:63:23: warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
61 | public static var main: Resolver = Resolver()
62 | /// Default registry used by the static Resolution functions and by the Resolving protocol.
63 | public static var root: Resolver = main
| |- warning: static property 'root' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'root' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'root' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 | /// Default scope applied when registering new objects.
65 | public static var defaultScope: ResolverScope = .graph
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:65:23: warning: static property 'defaultScope' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
63 | public static var root: Resolver = main
64 | /// Default scope applied when registering new objects.
65 | public static var defaultScope: ResolverScope = .graph
| |- warning: static property 'defaultScope' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultScope' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'defaultScope' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
66 | /// Internal scope cache used for .scope(.container)
67 | public lazy var cache: ResolverScope = ResolverScopeCache()
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:607:23: warning: static property 'graph' is not concurrency-safe because non-'Sendable' type 'ResolverScopeGraph' may have shared mutable state; this is an error in the Swift 6 language mode
605 | public static let cached = ResolverScopeCache()
606 | /// Graph services are initialized once and only once during a given resolution cycle. This is the default scope.
607 | public static let graph = ResolverScopeGraph()
| |- warning: static property 'graph' is not concurrency-safe because non-'Sendable' type 'ResolverScopeGraph' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'graph' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
608 | /// Shared services persist while strong references to them exist. They're then deallocated until the next resolve.
609 | public static let shared = ResolverScopeShare()
:
647 |
648 | /// Graph services are initialized once and only once during a given resolution cycle. This is the default scope.
649 | public final class ResolverScopeGraph: ResolverScope {
| `- note: class 'ResolverScopeGraph' does not conform to the 'Sendable' protocol
650 |
651 | public override init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:69:23: warning: static property 'decorate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
67 | public lazy var cache: ResolverScope = ResolverScopeCache()
68 | /// Decorator applied to all resolved objects
69 | public static var decorate: ((_ service: Any) -> Void)?
| |- warning: static property 'decorate' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'decorate' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'decorate' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 |
71 | // MARK: - Lifecycle
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:105:23: warning: static property 'registerServices' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
103 | /// Call function to force one-time initialization of the Resolver registries. Usually not needed as functionality
104 | /// occurs automatically the first time a resolution function is called.
105 | public static var registerServices: (() -> Void)? = {
| |- warning: static property 'registerServices' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registerServices' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'registerServices' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
106 | lock.lock()
107 | defer { lock.unlock() }
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:372:28: warning: static property 'lock' is not concurrency-safe because non-'Sendable' type 'ResolverRecursiveLock' may have shared mutable state; this is an error in the Swift 6 language mode
351 |
352 | /// Resolving an instance of a service is a recursive process (service A needs a B which needs a C).
353 | private final class ResolverRecursiveLock {
| `- note: class 'ResolverRecursiveLock' does not conform to the 'Sendable' protocol
354 | init() {
355 | pthread_mutexattr_init(&recursiveMutexAttr)
:
370 |
371 | extension Resolver {
372 | fileprivate static let lock = ResolverRecursiveLock()
| |- warning: static property 'lock' is not concurrency-safe because non-'Sendable' type 'ResolverRecursiveLock' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'lock' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
373 | }
374 |
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:453:13: warning: var 'registrationNeeded' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
451 | // Registration Internals
452 |
453 | private var registrationNeeded: Bool = true
| |- warning: var 'registrationNeeded' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'registrationNeeded' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'registrationNeeded' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
454 |
455 | @inline(__always)
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:601:23: warning: static property 'application' is not concurrency-safe because non-'Sendable' type 'ResolverScopeCache' may have shared mutable state; this is an error in the Swift 6 language mode
599 |
600 | /// All application scoped services exist for lifetime of the app. (e.g Singletons)
601 | public static let application = ResolverScopeCache()
| |- warning: static property 'application' is not concurrency-safe because non-'Sendable' type 'ResolverScopeCache' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'application' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
602 | /// Proxy to container's scope. Cache type depends on type supplied to container (default .cache)
603 | public static let container = ResolverScopeContainer()
:
624 |
625 | /// Cached services exist for lifetime of the app or until their cache is reset.
626 | public class ResolverScopeCache: ResolverScope {
| `- note: class 'ResolverScopeCache' does not conform to the 'Sendable' protocol
627 |
628 | public override init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:603:23: warning: static property 'container' is not concurrency-safe because non-'Sendable' type 'ResolverScopeContainer' may have shared mutable state; this is an error in the Swift 6 language mode
601 | public static let application = ResolverScopeCache()
602 | /// Proxy to container's scope. Cache type depends on type supplied to container (default .cache)
603 | public static let container = ResolverScopeContainer()
| |- warning: static property 'container' is not concurrency-safe because non-'Sendable' type 'ResolverScopeContainer' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'container' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
604 | /// Cached services exist for lifetime of the app or until their cache is reset.
605 | public static let cached = ResolverScopeCache()
:
703 |
704 | /// Proxy to container's scope. Cache type depends on type supplied to container (default .cache)
705 | public final class ResolverScopeContainer: ResolverScope {
| `- note: class 'ResolverScopeContainer' does not conform to the 'Sendable' protocol
706 |
707 | public override init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:605:23: warning: static property 'cached' is not concurrency-safe because non-'Sendable' type 'ResolverScopeCache' may have shared mutable state; this is an error in the Swift 6 language mode
603 | public static let container = ResolverScopeContainer()
604 | /// Cached services exist for lifetime of the app or until their cache is reset.
605 | public static let cached = ResolverScopeCache()
| |- warning: static property 'cached' is not concurrency-safe because non-'Sendable' type 'ResolverScopeCache' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'cached' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
606 | /// Graph services are initialized once and only once during a given resolution cycle. This is the default scope.
607 | public static let graph = ResolverScopeGraph()
:
624 |
625 | /// Cached services exist for lifetime of the app or until their cache is reset.
626 | public class ResolverScopeCache: ResolverScope {
| `- note: class 'ResolverScopeCache' does not conform to the 'Sendable' protocol
627 |
628 | public override init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:609:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ResolverScopeShare' may have shared mutable state; this is an error in the Swift 6 language mode
607 | public static let graph = ResolverScopeGraph()
608 | /// Shared services persist while strong references to them exist. They're then deallocated until the next resolve.
609 | public static let shared = ResolverScopeShare()
| |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'ResolverScopeShare' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
610 | /// Unique services are created and initialized each and every time they're resolved.
611 | public static let unique = ResolverScope()
:
673 |
674 | /// Shared services persist while strong references to them exist. They're then deallocated until the next resolve.
675 | public final class ResolverScopeShare: ResolverScope {
| `- note: class 'ResolverScopeShare' does not conform to the 'Sendable' protocol
676 |
677 | public override init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:611:23: warning: static property 'unique' is not concurrency-safe because non-'Sendable' type 'ResolverScope' may have shared mutable state; this is an error in the Swift 6 language mode
594 | }
595 |
596 | public class ResolverScope: ResolverScopeType {
| `- note: class 'ResolverScope' does not conform to the 'Sendable' protocol
597 |
598 | // Moved definitions to ResolverScope to allow for dot notation access
:
609 | public static let shared = ResolverScopeShare()
610 | /// Unique services are created and initialized each and every time they're resolved.
611 | public static let unique = ResolverScope()
| |- warning: static property 'unique' is not concurrency-safe because non-'Sendable' type 'ResolverScope' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'unique' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
612 |
613 | public init() {}
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:890:6: warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
888 | @available(OSX 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
889 | @propertyWrapper public struct InjectedObject<Service>: DynamicProperty where Service: ObservableObject {
890 | @ObservedObject private var service: Service
| `- warning: call to main actor-isolated initializer 'init(wrappedValue:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
891 | public init() {
892 | self.service = Resolver.resolve(Service.self)
SwiftUICore.ObservedObject:7:39: note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
5 | }
6 | @MainActor @preconcurrency public init(initialValue: ObjectType)
7 | @MainActor @preconcurrency public init(wrappedValue: ObjectType)
| `- note: calls to initializer 'init(wrappedValue:)' from outside of its actor context are implicitly asynchronous
8 | @MainActor @preconcurrency public var wrappedValue: ObjectType
9 | @MainActor @preconcurrency public var projectedValue: ObservedObject<ObjectType>.Wrapper { get }
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:892:14: warning: main actor-isolated property 'service' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
888 | @available(OSX 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
889 | @propertyWrapper public struct InjectedObject<Service>: DynamicProperty where Service: ObservableObject {
890 | @ObservedObject private var service: Service
| `- note: mutation of this property is only permitted within the actor
891 | public init() {
892 | self.service = Resolver.resolve(Service.self)
| `- warning: main actor-isolated property 'service' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
893 | }
894 | public init(name: Resolver.Name? = nil, container: Resolver? = nil) {
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:895:14: warning: main actor-isolated property 'service' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
888 | @available(OSX 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
889 | @propertyWrapper public struct InjectedObject<Service>: DynamicProperty where Service: ObservableObject {
890 | @ObservedObject private var service: Service
| `- note: mutation of this property is only permitted within the actor
891 | public init() {
892 | self.service = Resolver.resolve(Service.self)
893 | }
894 | public init(name: Resolver.Name? = nil, container: Resolver? = nil) {
895 | self.service = container?.resolve(Service.self, name: name) ?? Resolver.resolve(Service.self, name: name)
| `- warning: main actor-isolated property 'service' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
896 | }
897 | public var wrappedValue: Service {
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:898:22: warning: main actor-isolated property 'service' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
888 | @available(OSX 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
889 | @propertyWrapper public struct InjectedObject<Service>: DynamicProperty where Service: ObservableObject {
890 | @ObservedObject private var service: Service
| `- note: property declared here
891 | public init() {
892 | self.service = Resolver.resolve(Service.self)
:
896 | }
897 | public var wrappedValue: Service {
898 | get { return service }
| `- warning: main actor-isolated property 'service' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
899 | mutating set { service = newValue }
900 | }
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:899:24: warning: main actor-isolated property 'service' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
888 | @available(OSX 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
889 | @propertyWrapper public struct InjectedObject<Service>: DynamicProperty where Service: ObservableObject {
890 | @ObservedObject private var service: Service
| `- note: mutation of this property is only permitted within the actor
891 | public init() {
892 | self.service = Resolver.resolve(Service.self)
:
897 | public var wrappedValue: Service {
898 | get { return service }
899 | mutating set { service = newValue }
| `- warning: main actor-isolated property 'service' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
900 | }
901 | public var projectedValue: ObservedObject<Service>.Wrapper {
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:902:21: warning: main actor-isolated property '$service' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
888 | @available(OSX 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
889 | @propertyWrapper public struct InjectedObject<Service>: DynamicProperty where Service: ObservableObject {
890 | @ObservedObject private var service: Service
| `- note: property declared here
891 | public init() {
892 | self.service = Resolver.resolve(Service.self)
:
900 | }
901 | public var projectedValue: ObservedObject<Service>.Wrapper {
902 | return self.$service
| `- warning: main actor-isolated property '$service' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
903 | }
904 | }
/Users/admin/builder/spi-builder-workspace/Sources/Resolver/Resolver.swift:890:6: warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
888 | @available(OSX 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *)
889 | @propertyWrapper public struct InjectedObject<Service>: DynamicProperty where Service: ObservableObject {
890 | @ObservedObject private var service: Service
| |- warning: sending '$input_value' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated '$input_value' to main actor-isolated callee risks causing data races between main actor-isolated and task-isolated uses
891 | public init() {
892 | self.service = Resolver.resolve(Service.self)
[4/8] Write Objects.LinkFileList
[6/8] Archiving libResolver-Static.a
[7/8] Linking libResolver-Dynamic.dylib
Build complete! (12.36s)
warning: 'spi-builder-workspace': Invalid Resource 'PrivacyInfo.xcprivacy': File not found.
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Resolver",
"name" : "Resolver",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "12.0"
},
{
"name" : "macos",
"version" : "10.14"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "visionos",
"version" : "1.0"
}
],
"products" : [
{
"name" : "Resolver",
"targets" : [
"Resolver"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "Resolver-Static",
"targets" : [
"Resolver"
],
"type" : {
"library" : [
"static"
]
}
},
{
"name" : "Resolver-Dynamic",
"targets" : [
"Resolver"
],
"type" : {
"library" : [
"dynamic"
]
}
}
],
"targets" : [
{
"c99name" : "ResolverTests",
"module_type" : "SwiftTarget",
"name" : "ResolverTests",
"path" : "Tests/ResolverTests",
"sources" : [
"ResolverArgumentTests.swift",
"ResolverBasicTests.swift",
"ResolverClassTests.swift",
"ResolverContainerTests.swift",
"ResolverCyclicDependencyTests.swift",
"ResolverInjectedTests.swift",
"ResolverNameTests.swift",
"ResolverProtocolTests.swift",
"ResolverScopeNameTests.swift",
"ResolverScopeReferenceTests.swift",
"ResolverScopeValueTests.swift",
"ResolverStoryboardTests.swift",
"TestData.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Resolver"
],
"type" : "test"
},
{
"c99name" : "Resolver",
"module_type" : "SwiftTarget",
"name" : "Resolver",
"path" : "Sources/Resolver",
"product_memberships" : [
"Resolver",
"Resolver-Static",
"Resolver-Dynamic"
],
"sources" : [
"Resolver.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
warning: 'spi-builder-workspace': Invalid Resource 'PrivacyInfo.xcprivacy': File not found.
Done.