Build Information
Successful build of Store, reference master (fb5175
), with Swift 6.1 for macOS (SPM) on 26 Apr 2025 16:41:48 UTC.
Swift 6 data race errors: 2
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/alexdrone/Store.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/alexdrone/Store
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
HEAD is now at fb51754 Port diffing in preparation of CodableStore.
Cloned https://github.com/alexdrone/Store.git
Revision (git rev-parse @):
fb51754e8f88a0ab99c7994d0d26d3374155f1fc
SUCCESS checkout https://github.com/alexdrone/Store.git at master
Fetching https://github.com/apple/swift-atomics.git from cache
Fetching https://github.com/apple/swift-log.git from cache
Fetched https://github.com/apple/swift-atomics.git from cache (0.68s)
Fetched https://github.com/apple/swift-log.git from cache (0.68s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.4.2 (1.25s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 0.0.3 (0.55s)
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 0.0.3
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.4.2
========================================
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": "store",
"name": "Store",
"url": "https://github.com/alexdrone/Store.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Store",
"dependencies": [
{
"identity": "swift-atomics",
"name": "swift-atomics",
"url": "https://github.com/apple/swift-atomics.git",
"version": "0.0.3",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-atomics",
"dependencies": [
]
},
{
"identity": "swift-log",
"name": "swift-log",
"url": "https://github.com/apple/swift-log.git",
"version": "1.6.3",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-log",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/alexdrone/Store.git
[1/3485] Fetching store
Fetched https://github.com/alexdrone/Store.git from cache (1.88s)
Fetching https://github.com/apple/swift-log.git from cache
Fetching https://github.com/apple/swift-atomics.git from cache
Fetched https://github.com/apple/swift-atomics.git from cache (0.51s)
Fetched https://github.com/apple/swift-log.git from cache (0.52s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 0.0.3 (0.57s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.6.3 (0.45s)
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.6.3
Creating working copy for https://github.com/alexdrone/Store.git
Working copy of https://github.com/alexdrone/Store.git resolved at master (fb51754)
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 0.0.3
warning: '.resolve-product-dependencies': dependency 'store' is not used by any target
Found 2 product dependencies
- swift-atomics
- swift-log
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/alexdrone/Store.git
https://github.com/alexdrone/Store.git
{
"dependencies" : [
{
"identity" : "swift-atomics",
"requirement" : {
"range" : [
{
"lower_bound" : "0.0.3",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-atomics.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
}
],
"manifest_display_name" : "Store",
"name" : "Store",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "Store",
"targets" : [
"Store"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "StoreTests",
"module_type" : "SwiftTarget",
"name" : "StoreTests",
"path" : "Tests/StoreTests",
"sources" : [
"StoreTests.swift",
"SupportTypes.swift",
"UtilitiesTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Store"
],
"type" : "test"
},
{
"c99name" : "Store",
"module_type" : "SwiftTarget",
"name" : "Store",
"path" : "Sources/Store",
"product_dependencies" : [
"Atomics",
"Logging"
],
"product_memberships" : [
"Store"
],
"sources" : [
"Concurrency/Atomics.swift",
"Concurrency/Locking.swift",
"Concurrency/PropertyWrappers.swift",
"Extensions/Binding.swift",
"Extensions/KeyPath+ReadableFormat.swift",
"PushID.swift",
"Serialization/DictionaryCodable.swift",
"Serialization/Diffing.swift",
"Store/Store+Forwarding.swift",
"Store/Store.swift",
"Store/StoreOptions.swift",
"Utilities/Assign.swift",
"Utilities/Partial.swift",
"Utilities/PropertyObservable.swift",
"Utilities/ReadOnly+Forwarding.swift",
"Utilities/ReadOnly.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/5] Write sources
[3/5] Write swift-version-2F0A5646E1D333AE.txt
[4/5] Compiling _AtomicsShims.c
[6/21] Compiling Atomics AtomicValue.swift
[7/21] Compiling Atomics AtomicStrongReference.swift
[8/22] Compiling Atomics PointerConformances.swift
[9/22] Compiling Atomics AtomicInteger.swift
[10/22] Compiling Atomics AtomicMemoryOrderings.swift
[11/22] Emitting module Atomics
[12/22] Compiling Atomics AtomicLazyReference.swift
[13/22] Compiling Atomics AtomicBool.swift
[14/22] Compiling Atomics DoubleWord.swift
[15/22] Compiling Atomics IntegerConformances.swift
[16/22] Compiling Atomics AtomicOptional.swift
[17/22] Compiling Atomics AtomicRawRepresentable.swift
[18/22] Compiling Atomics HighLevelTypes.swift
[19/22] Emitting module Logging
[20/22] Compiling Logging Logging.swift
[21/22] Compiling Logging LogHandler.swift
[22/22] Compiling Logging Locks.swift
[23/38] Compiling Store PropertyObservable.swift
[24/39] Compiling Store StoreOptions.swift
[25/39] Compiling Store Assign.swift
[26/39] Compiling Store Partial.swift
[27/39] Compiling Store ReadOnly+Forwarding.swift
[28/39] Compiling Store DictionaryCodable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/DictionaryCodable.swift:34:3: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
32 |
33 | extension DictionaryEncoder {
34 | open func encode<T: Encodable>(_ value: T) throws -> [String: Any] {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
35 | do {
36 | return try castOrThrow([String: Any].self, try box(value))
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/DictionaryCodable.swift:484:3: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
482 |
483 | extension DictionaryDecoder {
484 | open func decode<T: Decodable>(_ type: T.Type, from container: Any) throws -> T {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
485 | storage.push(container: container)
486 | return try unbox(container, as: T.self)
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/Diffing.swift:4:12: warning: let 'sharedLogger' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
2 | import Logging
3 |
4 | public let sharedLogger = Logger(label: "io.store")
| `- warning: let 'sharedLogger' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
5 |
6 | @dynamicMemberLookup
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:38:15: note: struct 'Logger' does not conform to the 'Sendable' protocol
36 | /// logger.info("Hello World!")
37 | ///
38 | public struct Logger {
| `- note: struct 'Logger' does not conform to the 'Sendable' protocol
39 | @usableFromInline
40 | var handler: LogHandler
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/Diffing.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logging'
1 | import Foundation
2 | import Logging
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logging'
3 |
4 | public let sharedLogger = Logger(label: "io.store")
| |- note: add '@MainActor' to make let 'sharedLogger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 | @dynamicMemberLookup
[29/39] Compiling Store Diffing.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/DictionaryCodable.swift:34:3: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
32 |
33 | extension DictionaryEncoder {
34 | open func encode<T: Encodable>(_ value: T) throws -> [String: Any] {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
35 | do {
36 | return try castOrThrow([String: Any].self, try box(value))
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/DictionaryCodable.swift:484:3: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
482 |
483 | extension DictionaryDecoder {
484 | open func decode<T: Decodable>(_ type: T.Type, from container: Any) throws -> T {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
485 | storage.push(container: container)
486 | return try unbox(container, as: T.self)
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/Diffing.swift:4:12: warning: let 'sharedLogger' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
2 | import Logging
3 |
4 | public let sharedLogger = Logger(label: "io.store")
| `- warning: let 'sharedLogger' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
5 |
6 | @dynamicMemberLookup
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:38:15: note: struct 'Logger' does not conform to the 'Sendable' protocol
36 | /// logger.info("Hello World!")
37 | ///
38 | public struct Logger {
| `- note: struct 'Logger' does not conform to the 'Sendable' protocol
39 | @usableFromInline
40 | var handler: LogHandler
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/Diffing.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logging'
1 | import Foundation
2 | import Logging
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logging'
3 |
4 | public let sharedLogger = Logger(label: "io.store")
| |- note: add '@MainActor' to make let 'sharedLogger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 | @dynamicMemberLookup
[30/39] Compiling Store ReadOnly.swift
[31/39] Compiling Store KeyPath+ReadableFormat.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/PushID.swift:22:21: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PushID' may have shared mutable state; this is an error in the Swift 6 language mode
18 | /// the latter ones will sort after the former ones. We do this by using the previous random bits
19 | /// but "incrementing" them by 1 (only in the case of a timestamp collision).
20 | public final class PushID {
| `- note: class 'PushID' does not conform to the 'Sendable' protocol
21 |
22 | public static let `default` = PushID()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PushID' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | // MARK: Static constants
[32/39] Compiling Store PushID.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/PushID.swift:22:21: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PushID' may have shared mutable state; this is an error in the Swift 6 language mode
18 | /// the latter ones will sort after the former ones. We do this by using the previous random bits
19 | /// but "incrementing" them by 1 (only in the case of a timestamp collision).
20 | public final class PushID {
| `- note: class 'PushID' does not conform to the 'Sendable' protocol
21 |
22 | public static let `default` = PushID()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PushID' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | // MARK: Static constants
[33/39] Compiling Store Atomics.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/Concurrency/Atomics.swift:4:1: warning: extension declares a conformance of imported type 'ManagedAtomic' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Atomics' introduce this conformance in the future
2 | import Foundation
3 |
4 | extension ManagedAtomic: @unchecked Sendable {}
| |- warning: extension declares a conformance of imported type 'ManagedAtomic' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Atomics' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
5 |
[34/39] Compiling Store Locking.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/Concurrency/Atomics.swift:4:1: warning: extension declares a conformance of imported type 'ManagedAtomic' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Atomics' introduce this conformance in the future
2 | import Foundation
3 |
4 | extension ManagedAtomic: @unchecked Sendable {}
| |- warning: extension declares a conformance of imported type 'ManagedAtomic' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Atomics' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
5 |
[35/39] Compiling Store PropertyWrappers.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:62:12: warning: capture of 'lhs' with non-sendable type 'Binding<T?>' in a '@Sendable' closure
58 |
59 | /// Optional Coalescing for `Binding`.
60 | public func ?? <T>(lhs: Binding<T?>, rhs: T) -> Binding<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
61 | Binding(
62 | get: { lhs.wrappedValue ?? rhs },
| `- warning: capture of 'lhs' with non-sendable type 'Binding<T?>' in a '@Sendable' closure
63 | set: { lhs.wrappedValue = $0 }
64 | )
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:62:32: warning: capture of 'rhs' with non-sendable type 'T' in a '@Sendable' closure
58 |
59 | /// Optional Coalescing for `Binding`.
60 | public func ?? <T>(lhs: Binding<T?>, rhs: T) -> Binding<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
61 | Binding(
62 | get: { lhs.wrappedValue ?? rhs },
| `- warning: capture of 'rhs' with non-sendable type 'T' in a '@Sendable' closure
63 | set: { lhs.wrappedValue = $0 }
64 | )
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:62:32: warning: implicit capture of 'rhs' requires that 'T' conforms to 'Sendable'; this is an error in the Swift 6 language mode
58 |
59 | /// Optional Coalescing for `Binding`.
60 | public func ?? <T>(lhs: Binding<T?>, rhs: T) -> Binding<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
61 | Binding(
62 | get: { lhs.wrappedValue ?? rhs },
| `- warning: implicit capture of 'rhs' requires that 'T' conforms to 'Sendable'; this is an error in the Swift 6 language mode
63 | set: { lhs.wrappedValue = $0 }
64 | )
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:63:12: warning: capture of 'lhs' with non-sendable type 'Binding<T?>' in a '@Sendable' closure
58 |
59 | /// Optional Coalescing for `Binding`.
60 | public func ?? <T>(lhs: Binding<T?>, rhs: T) -> Binding<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
61 | Binding(
62 | get: { lhs.wrappedValue ?? rhs },
63 | set: { lhs.wrappedValue = $0 }
| `- warning: capture of 'lhs' with non-sendable type 'Binding<T?>' in a '@Sendable' closure
64 | )
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:71:14: warning: capture of 'self' with non-sendable type 'Binding<Value>' in a '@Sendable' closure
69 | public func onUpdate(_ closure: @escaping () -> Void) -> Binding<Value> {
70 | Binding(
71 | get: { wrappedValue },
| `- warning: capture of 'self' with non-sendable type 'Binding<Value>' in a '@Sendable' closure
72 | set: {
73 | wrappedValue = $0
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:73:9: warning: capture of 'self' with non-sendable type 'Binding<Value>' in a '@Sendable' closure
71 | get: { wrappedValue },
72 | set: {
73 | wrappedValue = $0
| `- warning: capture of 'self' with non-sendable type 'Binding<Value>' in a '@Sendable' closure
74 | closure()
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:74:9: warning: capture of 'closure' with non-sendable type '() -> Void' in a '@Sendable' closure
72 | set: {
73 | wrappedValue = $0
74 | closure()
| |- warning: capture of 'closure' with non-sendable type '() -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
75 | })
76 | }
[36/39] Compiling Store Binding.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:62:12: warning: capture of 'lhs' with non-sendable type 'Binding<T?>' in a '@Sendable' closure
58 |
59 | /// Optional Coalescing for `Binding`.
60 | public func ?? <T>(lhs: Binding<T?>, rhs: T) -> Binding<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
61 | Binding(
62 | get: { lhs.wrappedValue ?? rhs },
| `- warning: capture of 'lhs' with non-sendable type 'Binding<T?>' in a '@Sendable' closure
63 | set: { lhs.wrappedValue = $0 }
64 | )
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:62:32: warning: capture of 'rhs' with non-sendable type 'T' in a '@Sendable' closure
58 |
59 | /// Optional Coalescing for `Binding`.
60 | public func ?? <T>(lhs: Binding<T?>, rhs: T) -> Binding<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
61 | Binding(
62 | get: { lhs.wrappedValue ?? rhs },
| `- warning: capture of 'rhs' with non-sendable type 'T' in a '@Sendable' closure
63 | set: { lhs.wrappedValue = $0 }
64 | )
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:62:32: warning: implicit capture of 'rhs' requires that 'T' conforms to 'Sendable'; this is an error in the Swift 6 language mode
58 |
59 | /// Optional Coalescing for `Binding`.
60 | public func ?? <T>(lhs: Binding<T?>, rhs: T) -> Binding<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
61 | Binding(
62 | get: { lhs.wrappedValue ?? rhs },
| `- warning: implicit capture of 'rhs' requires that 'T' conforms to 'Sendable'; this is an error in the Swift 6 language mode
63 | set: { lhs.wrappedValue = $0 }
64 | )
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:63:12: warning: capture of 'lhs' with non-sendable type 'Binding<T?>' in a '@Sendable' closure
58 |
59 | /// Optional Coalescing for `Binding`.
60 | public func ?? <T>(lhs: Binding<T?>, rhs: T) -> Binding<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
61 | Binding(
62 | get: { lhs.wrappedValue ?? rhs },
63 | set: { lhs.wrappedValue = $0 }
| `- warning: capture of 'lhs' with non-sendable type 'Binding<T?>' in a '@Sendable' closure
64 | )
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:71:14: warning: capture of 'self' with non-sendable type 'Binding<Value>' in a '@Sendable' closure
69 | public func onUpdate(_ closure: @escaping () -> Void) -> Binding<Value> {
70 | Binding(
71 | get: { wrappedValue },
| `- warning: capture of 'self' with non-sendable type 'Binding<Value>' in a '@Sendable' closure
72 | set: {
73 | wrappedValue = $0
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:73:9: warning: capture of 'self' with non-sendable type 'Binding<Value>' in a '@Sendable' closure
71 | get: { wrappedValue },
72 | set: {
73 | wrappedValue = $0
| `- warning: capture of 'self' with non-sendable type 'Binding<Value>' in a '@Sendable' closure
74 | closure()
75 | })
/Users/admin/builder/spi-builder-workspace/Sources/Store/Extensions/Binding.swift:74:9: warning: capture of 'closure' with non-sendable type '() -> Void' in a '@Sendable' closure
72 | set: {
73 | wrappedValue = $0
74 | closure()
| |- warning: capture of 'closure' with non-sendable type '() -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
75 | })
76 | }
[37/39] Emitting module Store
/Users/admin/builder/spi-builder-workspace/Sources/Store/Concurrency/Atomics.swift:4:1: warning: extension declares a conformance of imported type 'ManagedAtomic' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Atomics' introduce this conformance in the future
2 | import Foundation
3 |
4 | extension ManagedAtomic: @unchecked Sendable {}
| |- warning: extension declares a conformance of imported type 'ManagedAtomic' to imported protocol 'Sendable'; this will not behave correctly if the owners of 'Atomics' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
5 |
/Users/admin/builder/spi-builder-workspace/Sources/Store/PushID.swift:22:21: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PushID' may have shared mutable state; this is an error in the Swift 6 language mode
18 | /// the latter ones will sort after the former ones. We do this by using the previous random bits
19 | /// but "incrementing" them by 1 (only in the case of a timestamp collision).
20 | public final class PushID {
| `- note: class 'PushID' does not conform to the 'Sendable' protocol
21 |
22 | public static let `default` = PushID()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'PushID' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | // MARK: Static constants
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/DictionaryCodable.swift:34:3: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
32 |
33 | extension DictionaryEncoder {
34 | open func encode<T: Encodable>(_ value: T) throws -> [String: Any] {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
35 | do {
36 | return try castOrThrow([String: Any].self, try box(value))
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/DictionaryCodable.swift:484:3: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
482 |
483 | extension DictionaryDecoder {
484 | open func decode<T: Decodable>(_ type: T.Type, from container: Any) throws -> T {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
485 | storage.push(container: container)
486 | return try unbox(container, as: T.self)
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/Diffing.swift:4:12: warning: let 'sharedLogger' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
2 | import Logging
3 |
4 | public let sharedLogger = Logger(label: "io.store")
| `- warning: let 'sharedLogger' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
5 |
6 | @dynamicMemberLookup
/Users/admin/builder/spi-builder-workspace/.build/checkouts/swift-log/Sources/Logging/Logging.swift:38:15: note: struct 'Logger' does not conform to the 'Sendable' protocol
36 | /// logger.info("Hello World!")
37 | ///
38 | public struct Logger {
| `- note: struct 'Logger' does not conform to the 'Sendable' protocol
39 | @usableFromInline
40 | var handler: LogHandler
/Users/admin/builder/spi-builder-workspace/Sources/Store/Serialization/Diffing.swift:2:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logging'
1 | import Foundation
2 | import Logging
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logging'
3 |
4 | public let sharedLogger = Logger(label: "io.store")
| |- note: add '@MainActor' to make let 'sharedLogger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
5 |
6 | @dynamicMemberLookup
[38/39] Compiling Store Store+Forwarding.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/Store/Store.swift:147:32: warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<T, V>' in a '@Sendable' closure
145 | public func binding<V>(keyPath: WritableKeyPath<T, V>) -> Binding<V> {
146 | .init(
147 | get: { self.get(keyPath: keyPath) },
| `- warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<T, V>' in a '@Sendable' closure
148 | set: { self.set(keyPath: keyPath, value: $0) })
149 | }
Swift.WritableKeyPath:1:14: note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
1 | public class WritableKeyPath<Root, Value> : KeyPath<Root, Value> {
| `- note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Store/Store/Store.swift:148:32: warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<T, V>' in a '@Sendable' closure
146 | .init(
147 | get: { self.get(keyPath: keyPath) },
148 | set: { self.set(keyPath: keyPath, value: $0) })
| `- warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<T, V>' in a '@Sendable' closure
149 | }
150 |
Swift.WritableKeyPath:1:14: note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
1 | public class WritableKeyPath<Root, Value> : KeyPath<Root, Value> {
| `- note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
[39/39] Compiling Store Store.swift
/Users/admin/builder/spi-builder-workspace/Sources/Store/Store/Store.swift:147:32: warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<T, V>' in a '@Sendable' closure
145 | public func binding<V>(keyPath: WritableKeyPath<T, V>) -> Binding<V> {
146 | .init(
147 | get: { self.get(keyPath: keyPath) },
| `- warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<T, V>' in a '@Sendable' closure
148 | set: { self.set(keyPath: keyPath, value: $0) })
149 | }
Swift.WritableKeyPath:1:14: note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
1 | public class WritableKeyPath<Root, Value> : KeyPath<Root, Value> {
| `- note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
/Users/admin/builder/spi-builder-workspace/Sources/Store/Store/Store.swift:148:32: warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<T, V>' in a '@Sendable' closure
146 | .init(
147 | get: { self.get(keyPath: keyPath) },
148 | set: { self.set(keyPath: keyPath, value: $0) })
| `- warning: capture of 'keyPath' with non-sendable type 'WritableKeyPath<T, V>' in a '@Sendable' closure
149 | }
150 |
Swift.WritableKeyPath:1:14: note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
1 | public class WritableKeyPath<Root, Value> : KeyPath<Root, Value> {
| `- note: generic class 'WritableKeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
Build complete! (10.80s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-atomics",
"requirement" : {
"range" : [
{
"lower_bound" : "0.0.3",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-atomics.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
}
],
"manifest_display_name" : "Store",
"name" : "Store",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
}
],
"products" : [
{
"name" : "Store",
"targets" : [
"Store"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "StoreTests",
"module_type" : "SwiftTarget",
"name" : "StoreTests",
"path" : "Tests/StoreTests",
"sources" : [
"StoreTests.swift",
"SupportTypes.swift",
"UtilitiesTests.swift",
"XCTestManifests.swift"
],
"target_dependencies" : [
"Store"
],
"type" : "test"
},
{
"c99name" : "Store",
"module_type" : "SwiftTarget",
"name" : "Store",
"path" : "Sources/Store",
"product_dependencies" : [
"Atomics",
"Logging"
],
"product_memberships" : [
"Store"
],
"sources" : [
"Concurrency/Atomics.swift",
"Concurrency/Locking.swift",
"Concurrency/PropertyWrappers.swift",
"Extensions/Binding.swift",
"Extensions/KeyPath+ReadableFormat.swift",
"PushID.swift",
"Serialization/DictionaryCodable.swift",
"Serialization/Diffing.swift",
"Store/Store+Forwarding.swift",
"Store/Store.swift",
"Store/StoreOptions.swift",
"Utilities/Assign.swift",
"Utilities/Partial.swift",
"Utilities/PropertyObservable.swift",
"Utilities/ReadOnly+Forwarding.swift",
"Utilities/ReadOnly.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Done.