Build Information
Successful build of ReactiveKit, reference v3.22.0 (5c61e0), with Swift 6.1 for macOS (SPM) on 6 Nov 2025 14:50:18 UTC.
Swift 6 data race errors: 3
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 InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/DeclarativeHub/ReactiveKit.git
Reference: v3.22.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/DeclarativeHub/ReactiveKit
* tag v3.22.0 -> FETCH_HEAD
HEAD is now at 5c61e08 Merge pull request #286 from someyura/prepend-for-void-signals
Cloned https://github.com/DeclarativeHub/ReactiveKit.git
Revision (git rev-parse @):
5c61e0869cfaf8f9fcd17afecb8e6c721d153186
SUCCESS checkout https://github.com/DeclarativeHub/ReactiveKit.git at v3.22.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/DeclarativeHub/ReactiveKit.git
https://github.com/DeclarativeHub/ReactiveKit.git
{
"dependencies" : [
],
"manifest_display_name" : "ReactiveKit",
"name" : "ReactiveKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.10"
},
{
"name" : "ios",
"version" : "9.0"
},
{
"name" : "tvos",
"version" : "9.0"
},
{
"name" : "watchos",
"version" : "2.0"
}
],
"products" : [
{
"name" : "ReactiveKit",
"targets" : [
"ReactiveKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ReactiveKitTests",
"module_type" : "SwiftTarget",
"name" : "ReactiveKitTests",
"path" : "Tests/ReactiveKitTests",
"sources" : [
"CombineTests.swift",
"PropertyTests.swift",
"PublishedTests.swift",
"Scheduler.swift",
"SignalTests.swift",
"Stress.swift",
"SubjectTests.swift"
],
"target_dependencies" : [
"ReactiveKit"
],
"type" : "test"
},
{
"c99name" : "ReactiveKit",
"module_type" : "SwiftTarget",
"name" : "ReactiveKit",
"path" : "Sources",
"product_memberships" : [
"ReactiveKit"
],
"sources" : [
"Atomic.swift",
"Bindable.swift",
"Cancellable.swift",
"Combine.swift",
"Connectable.swift",
"Deallocatable.swift",
"Deprecations.swift",
"Disposable.swift",
"ExecutionContext.swift",
"LoadingProperty.swift",
"LoadingSignal.swift",
"Lock.swift",
"ObservableObject.swift",
"Observer.swift",
"Property.swift",
"Published.swift",
"Publishers/Deferred.swift",
"Publishers/Empty.swift",
"Reactive.swift",
"Scheduler.swift",
"Signal.Event.swift",
"Signal.swift",
"SignalProtocol+Arities.swift",
"SignalProtocol+Async.swift",
"SignalProtocol+Combining.swift",
"SignalProtocol+ErrorHandling.swift",
"SignalProtocol+Event.swift",
"SignalProtocol+Filtering.swift",
"SignalProtocol+Monad.swift",
"SignalProtocol+Optional.swift",
"SignalProtocol+Result.swift",
"SignalProtocol+Sequence.swift",
"SignalProtocol+Threading.swift",
"SignalProtocol+Transforming.swift",
"SignalProtocol+Utilities.swift",
"SignalProtocol.swift",
"Subjects.swift",
"Subscriber.swift",
"Subscribers/Accumulator.swift",
"Subscribers/Completion.swift",
"Subscribers/Demand.swift",
"Subscribers/Sink.swift",
"Subscription.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-2F0A5646E1D333AE.txt
[3/42] Emitting module ReactiveKit
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:22:32: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
20 | /// view.display(number)
21 | /// }
22 | public protocol Deallocatable: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
23 |
24 | /// A signal that fires `completed` event when the receiver is deallocated.
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:51:20: warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | private struct AssociatedKeys {
51 | static var DisposeBagKey = "DisposeBagKey"
| |- warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'DisposeBagKey' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'DisposeBagKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/Deprecations.swift:216:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
214 |
215 | @available(*, deprecated, renamed: "receive(event:)")
216 | open func send(_ event: Event<Element, Error>) {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
217 | on(event)
218 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:57:23: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// A disposable that cannot be disposed.
55 | public struct NonDisposable: Disposable {
| `- note: consider making struct 'NonDisposable' conform to the 'Sendable' protocol
56 |
57 | public static let instance = NonDisposable()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 |
59 | private init() {}
/Users/admin/builder/spi-builder-workspace/Sources/LoadingSignal.swift:356:39: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
354 |
355 | /// A consumer of ObservedLoadingState. For example, a view what updates its appearance based on loading state.
356 | public protocol LoadingStateListener: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
357 |
358 | /// Consume observed loading state.
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:49:45: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
47 | }
48 |
49 | public protocol ReactiveExtensionsProvider: class {}
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
50 |
51 | extension ReactiveExtensionsProvider {
/Users/admin/builder/spi-builder-workspace/Sources/Scheduler.swift:47:24: warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
44 |
45 | @inlinable
46 | public func schedule(_ action: @escaping () -> Void) {
| `- note: parameter 'action' is implicitly non-sendable
47 | async(execute: action)
| `- warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Subscribers/Demand.swift:37:27: warning: static property 'unlimited' is not concurrency-safe because non-'Sendable' type 'Subscribers.Demand' may have shared mutable state; this is an error in the Swift 6 language mode
27 | extension Subscribers {
28 |
29 | public struct Demand: Equatable, Hashable {
| `- note: consider making struct 'Demand' conform to the 'Sendable' protocol
30 |
31 | public let value: Int
:
35 | }
36 |
37 | public static let unlimited: Subscribers.Demand = .init(value: Int.max)
| |- warning: static property 'unlimited' is not concurrency-safe because non-'Sendable' type 'Subscribers.Demand' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'unlimited' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | @available(*, unavailable, message: "Not supported yet.")
[4/46] Compiling ReactiveKit Completion.swift
/Users/admin/builder/spi-builder-workspace/Sources/Subscribers/Demand.swift:37:27: warning: static property 'unlimited' is not concurrency-safe because non-'Sendable' type 'Subscribers.Demand' may have shared mutable state; this is an error in the Swift 6 language mode
27 | extension Subscribers {
28 |
29 | public struct Demand: Equatable, Hashable {
| `- note: consider making struct 'Demand' conform to the 'Sendable' protocol
30 |
31 | public let value: Int
:
35 | }
36 |
37 | public static let unlimited: Subscribers.Demand = .init(value: Int.max)
| |- warning: static property 'unlimited' is not concurrency-safe because non-'Sendable' type 'Subscribers.Demand' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'unlimited' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | @available(*, unavailable, message: "Not supported yet.")
[5/46] Compiling ReactiveKit Demand.swift
/Users/admin/builder/spi-builder-workspace/Sources/Subscribers/Demand.swift:37:27: warning: static property 'unlimited' is not concurrency-safe because non-'Sendable' type 'Subscribers.Demand' may have shared mutable state; this is an error in the Swift 6 language mode
27 | extension Subscribers {
28 |
29 | public struct Demand: Equatable, Hashable {
| `- note: consider making struct 'Demand' conform to the 'Sendable' protocol
30 |
31 | public let value: Int
:
35 | }
36 |
37 | public static let unlimited: Subscribers.Demand = .init(value: Int.max)
| |- warning: static property 'unlimited' is not concurrency-safe because non-'Sendable' type 'Subscribers.Demand' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'unlimited' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | @available(*, unavailable, message: "Not supported yet.")
[6/46] Compiling ReactiveKit Sink.swift
/Users/admin/builder/spi-builder-workspace/Sources/Subscribers/Demand.swift:37:27: warning: static property 'unlimited' is not concurrency-safe because non-'Sendable' type 'Subscribers.Demand' may have shared mutable state; this is an error in the Swift 6 language mode
27 | extension Subscribers {
28 |
29 | public struct Demand: Equatable, Hashable {
| `- note: consider making struct 'Demand' conform to the 'Sendable' protocol
30 |
31 | public let value: Int
:
35 | }
36 |
37 | public static let unlimited: Subscribers.Demand = .init(value: Int.max)
| |- warning: static property 'unlimited' is not concurrency-safe because non-'Sendable' type 'Subscribers.Demand' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'unlimited' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | @available(*, unavailable, message: "Not supported yet.")
[7/46] Compiling ReactiveKit Subscription.swift
/Users/admin/builder/spi-builder-workspace/Sources/Subscribers/Demand.swift:37:27: warning: static property 'unlimited' is not concurrency-safe because non-'Sendable' type 'Subscribers.Demand' may have shared mutable state; this is an error in the Swift 6 language mode
27 | extension Subscribers {
28 |
29 | public struct Demand: Equatable, Hashable {
| `- note: consider making struct 'Demand' conform to the 'Sendable' protocol
30 |
31 | public let value: Int
:
35 | }
36 |
37 | public static let unlimited: Subscribers.Demand = .init(value: Int.max)
| |- warning: static property 'unlimited' is not concurrency-safe because non-'Sendable' type 'Subscribers.Demand' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'unlimited' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 |
39 | @available(*, unavailable, message: "Not supported yet.")
[8/46] Compiling ReactiveKit SignalProtocol+Sequence.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Utilities.swift:107:21: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
105 | return self.observe { event in
106 | queue.asyncAfter(deadline: .now() + interval) {
107 | observer.on(event)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
108 | }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Utilities.swift:107:33: warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
105 | return self.observe { event in
106 | queue.asyncAfter(deadline: .now() + interval) {
107 | observer.on(event)
| `- warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
108 | }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.Event.swift:28:17: note: consider making enum 'Event' conform to the 'Sendable' protocol
26 |
27 | /// An event of a sequence.
28 | public enum Event {
| `- note: consider making enum 'Event' conform to the 'Sendable' protocol
29 |
30 | /// An event that carries next element.
[9/46] Compiling ReactiveKit SignalProtocol+Threading.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Utilities.swift:107:21: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
105 | return self.observe { event in
106 | queue.asyncAfter(deadline: .now() + interval) {
107 | observer.on(event)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
108 | }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Utilities.swift:107:33: warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
105 | return self.observe { event in
106 | queue.asyncAfter(deadline: .now() + interval) {
107 | observer.on(event)
| `- warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
108 | }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.Event.swift:28:17: note: consider making enum 'Event' conform to the 'Sendable' protocol
26 |
27 | /// An event of a sequence.
28 | public enum Event {
| `- note: consider making enum 'Event' conform to the 'Sendable' protocol
29 |
30 | /// An event that carries next element.
[10/46] Compiling ReactiveKit SignalProtocol+Transforming.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Utilities.swift:107:21: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
105 | return self.observe { event in
106 | queue.asyncAfter(deadline: .now() + interval) {
107 | observer.on(event)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
108 | }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Utilities.swift:107:33: warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
105 | return self.observe { event in
106 | queue.asyncAfter(deadline: .now() + interval) {
107 | observer.on(event)
| `- warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
108 | }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.Event.swift:28:17: note: consider making enum 'Event' conform to the 'Sendable' protocol
26 |
27 | /// An event of a sequence.
28 | public enum Event {
| `- note: consider making enum 'Event' conform to the 'Sendable' protocol
29 |
30 | /// An event that carries next element.
[11/46] Compiling ReactiveKit SignalProtocol+Utilities.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Utilities.swift:107:21: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
105 | return self.observe { event in
106 | queue.asyncAfter(deadline: .now() + interval) {
107 | observer.on(event)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
108 | }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Utilities.swift:107:33: warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
105 | return self.observe { event in
106 | queue.asyncAfter(deadline: .now() + interval) {
107 | observer.on(event)
| `- warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
108 | }
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.Event.swift:28:17: note: consider making enum 'Event' conform to the 'Sendable' protocol
26 |
27 | /// An event of a sequence.
28 | public enum Event {
| `- note: consider making enum 'Event' conform to the 'Sendable' protocol
29 |
30 | /// An event that carries next element.
[12/46] Compiling ReactiveKit SignalProtocol.swift
[13/46] Compiling ReactiveKit Subjects.swift
[14/46] Compiling ReactiveKit Subscriber.swift
[15/46] Compiling ReactiveKit Accumulator.swift
[16/46] Compiling ReactiveKit LoadingSignal.swift
/Users/admin/builder/spi-builder-workspace/Sources/LoadingSignal.swift:356:39: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
354 |
355 | /// A consumer of ObservedLoadingState. For example, a view what updates its appearance based on loading state.
356 | public protocol LoadingStateListener: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
357 |
358 | /// Consume observed loading state.
[17/46] Compiling ReactiveKit Lock.swift
/Users/admin/builder/spi-builder-workspace/Sources/LoadingSignal.swift:356:39: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
354 |
355 | /// A consumer of ObservedLoadingState. For example, a view what updates its appearance based on loading state.
356 | public protocol LoadingStateListener: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
357 |
358 | /// Consume observed loading state.
[18/46] Compiling ReactiveKit ObservableObject.swift
/Users/admin/builder/spi-builder-workspace/Sources/LoadingSignal.swift:356:39: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
354 |
355 | /// A consumer of ObservedLoadingState. For example, a view what updates its appearance based on loading state.
356 | public protocol LoadingStateListener: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
357 |
358 | /// Consume observed loading state.
[19/46] Compiling ReactiveKit Observer.swift
/Users/admin/builder/spi-builder-workspace/Sources/LoadingSignal.swift:356:39: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
354 |
355 | /// A consumer of ObservedLoadingState. For example, a view what updates its appearance based on loading state.
356 | public protocol LoadingStateListener: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
357 |
358 | /// Consume observed loading state.
[20/46] Compiling ReactiveKit Property.swift
/Users/admin/builder/spi-builder-workspace/Sources/LoadingSignal.swift:356:39: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
354 |
355 | /// A consumer of ObservedLoadingState. For example, a view what updates its appearance based on loading state.
356 | public protocol LoadingStateListener: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
357 |
358 | /// Consume observed loading state.
[21/46] Compiling ReactiveKit Deallocatable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:22:32: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
20 | /// view.display(number)
21 | /// }
22 | public protocol Deallocatable: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
23 |
24 | /// A signal that fires `completed` event when the receiver is deallocated.
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:51:20: warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | private struct AssociatedKeys {
51 | static var DisposeBagKey = "DisposeBagKey"
| |- warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'DisposeBagKey' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'DisposeBagKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/Deprecations.swift:216:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
214 |
215 | @available(*, deprecated, renamed: "receive(event:)")
216 | open func send(_ event: Event<Element, Error>) {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
217 | on(event)
218 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:57:23: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// A disposable that cannot be disposed.
55 | public struct NonDisposable: Disposable {
| `- note: consider making struct 'NonDisposable' conform to the 'Sendable' protocol
56 |
57 | public static let instance = NonDisposable()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 |
59 | private init() {}
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:63:51: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
57 | /// asynchronously on main dispatch queue (main thread).
58 | public static var immediateOnMain: ExecutionContext {
59 | return ExecutionContext { block in
| `- note: parameter 'block' is implicitly non-sendable
60 | if Thread.isMainThread {
61 | block()
62 | } else {
63 | DispatchQueue.main.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:96:33: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
93 | /// Creates ExecutionContext from the queue.
94 | public var context: ExecutionContext {
95 | return ExecutionContext { block in
| `- note: parameter 'block' is implicitly non-sendable
96 | self.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
97 | }
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:103:58: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
100 | /// Schedule given block for execution after given interval passes.
101 | @available(*, deprecated, message: "Please use asyncAfter(deadline:execute:)")
102 | public func after(when interval: Double, block: @escaping () -> Void) {
| `- note: parameter 'block' is implicitly non-sendable
103 | asyncAfter(deadline: .now() + interval, execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
104 | }
105 |
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:56:60: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
54 | /// A `DisposeBag` that can be used to dispose observations and bindings.
55 | public var bag: DisposeBag {
56 | if let disposeBag = objc_getAssociatedObject(self, &NSObject.AssociatedKeys.DisposeBagKey) {
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
57 | return disposeBag as! DisposeBag
58 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:60:44: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
58 | } else {
59 | let disposeBag = DisposeBag()
60 | objc_setAssociatedObject(self, &NSObject.AssociatedKeys.DisposeBagKey, disposeBag, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
61 | return disposeBag
62 | }
[22/46] Compiling ReactiveKit Deprecations.swift
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:22:32: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
20 | /// view.display(number)
21 | /// }
22 | public protocol Deallocatable: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
23 |
24 | /// A signal that fires `completed` event when the receiver is deallocated.
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:51:20: warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | private struct AssociatedKeys {
51 | static var DisposeBagKey = "DisposeBagKey"
| |- warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'DisposeBagKey' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'DisposeBagKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/Deprecations.swift:216:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
214 |
215 | @available(*, deprecated, renamed: "receive(event:)")
216 | open func send(_ event: Event<Element, Error>) {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
217 | on(event)
218 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:57:23: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// A disposable that cannot be disposed.
55 | public struct NonDisposable: Disposable {
| `- note: consider making struct 'NonDisposable' conform to the 'Sendable' protocol
56 |
57 | public static let instance = NonDisposable()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 |
59 | private init() {}
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:63:51: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
57 | /// asynchronously on main dispatch queue (main thread).
58 | public static var immediateOnMain: ExecutionContext {
59 | return ExecutionContext { block in
| `- note: parameter 'block' is implicitly non-sendable
60 | if Thread.isMainThread {
61 | block()
62 | } else {
63 | DispatchQueue.main.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:96:33: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
93 | /// Creates ExecutionContext from the queue.
94 | public var context: ExecutionContext {
95 | return ExecutionContext { block in
| `- note: parameter 'block' is implicitly non-sendable
96 | self.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
97 | }
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:103:58: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
100 | /// Schedule given block for execution after given interval passes.
101 | @available(*, deprecated, message: "Please use asyncAfter(deadline:execute:)")
102 | public func after(when interval: Double, block: @escaping () -> Void) {
| `- note: parameter 'block' is implicitly non-sendable
103 | asyncAfter(deadline: .now() + interval, execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
104 | }
105 |
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:56:60: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
54 | /// A `DisposeBag` that can be used to dispose observations and bindings.
55 | public var bag: DisposeBag {
56 | if let disposeBag = objc_getAssociatedObject(self, &NSObject.AssociatedKeys.DisposeBagKey) {
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
57 | return disposeBag as! DisposeBag
58 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:60:44: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
58 | } else {
59 | let disposeBag = DisposeBag()
60 | objc_setAssociatedObject(self, &NSObject.AssociatedKeys.DisposeBagKey, disposeBag, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
61 | return disposeBag
62 | }
[23/46] Compiling ReactiveKit Disposable.swift
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:22:32: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
20 | /// view.display(number)
21 | /// }
22 | public protocol Deallocatable: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
23 |
24 | /// A signal that fires `completed` event when the receiver is deallocated.
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:51:20: warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | private struct AssociatedKeys {
51 | static var DisposeBagKey = "DisposeBagKey"
| |- warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'DisposeBagKey' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'DisposeBagKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/Deprecations.swift:216:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
214 |
215 | @available(*, deprecated, renamed: "receive(event:)")
216 | open func send(_ event: Event<Element, Error>) {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
217 | on(event)
218 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:57:23: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// A disposable that cannot be disposed.
55 | public struct NonDisposable: Disposable {
| `- note: consider making struct 'NonDisposable' conform to the 'Sendable' protocol
56 |
57 | public static let instance = NonDisposable()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 |
59 | private init() {}
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:63:51: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
57 | /// asynchronously on main dispatch queue (main thread).
58 | public static var immediateOnMain: ExecutionContext {
59 | return ExecutionContext { block in
| `- note: parameter 'block' is implicitly non-sendable
60 | if Thread.isMainThread {
61 | block()
62 | } else {
63 | DispatchQueue.main.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:96:33: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
93 | /// Creates ExecutionContext from the queue.
94 | public var context: ExecutionContext {
95 | return ExecutionContext { block in
| `- note: parameter 'block' is implicitly non-sendable
96 | self.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
97 | }
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:103:58: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
100 | /// Schedule given block for execution after given interval passes.
101 | @available(*, deprecated, message: "Please use asyncAfter(deadline:execute:)")
102 | public func after(when interval: Double, block: @escaping () -> Void) {
| `- note: parameter 'block' is implicitly non-sendable
103 | asyncAfter(deadline: .now() + interval, execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
104 | }
105 |
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:56:60: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
54 | /// A `DisposeBag` that can be used to dispose observations and bindings.
55 | public var bag: DisposeBag {
56 | if let disposeBag = objc_getAssociatedObject(self, &NSObject.AssociatedKeys.DisposeBagKey) {
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
57 | return disposeBag as! DisposeBag
58 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:60:44: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
58 | } else {
59 | let disposeBag = DisposeBag()
60 | objc_setAssociatedObject(self, &NSObject.AssociatedKeys.DisposeBagKey, disposeBag, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
61 | return disposeBag
62 | }
[24/46] Compiling ReactiveKit ExecutionContext.swift
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:22:32: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
20 | /// view.display(number)
21 | /// }
22 | public protocol Deallocatable: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
23 |
24 | /// A signal that fires `completed` event when the receiver is deallocated.
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:51:20: warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | private struct AssociatedKeys {
51 | static var DisposeBagKey = "DisposeBagKey"
| |- warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'DisposeBagKey' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'DisposeBagKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/Deprecations.swift:216:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
214 |
215 | @available(*, deprecated, renamed: "receive(event:)")
216 | open func send(_ event: Event<Element, Error>) {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
217 | on(event)
218 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:57:23: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// A disposable that cannot be disposed.
55 | public struct NonDisposable: Disposable {
| `- note: consider making struct 'NonDisposable' conform to the 'Sendable' protocol
56 |
57 | public static let instance = NonDisposable()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 |
59 | private init() {}
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:63:51: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
57 | /// asynchronously on main dispatch queue (main thread).
58 | public static var immediateOnMain: ExecutionContext {
59 | return ExecutionContext { block in
| `- note: parameter 'block' is implicitly non-sendable
60 | if Thread.isMainThread {
61 | block()
62 | } else {
63 | DispatchQueue.main.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:96:33: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
93 | /// Creates ExecutionContext from the queue.
94 | public var context: ExecutionContext {
95 | return ExecutionContext { block in
| `- note: parameter 'block' is implicitly non-sendable
96 | self.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
97 | }
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:103:58: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
100 | /// Schedule given block for execution after given interval passes.
101 | @available(*, deprecated, message: "Please use asyncAfter(deadline:execute:)")
102 | public func after(when interval: Double, block: @escaping () -> Void) {
| `- note: parameter 'block' is implicitly non-sendable
103 | asyncAfter(deadline: .now() + interval, execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
104 | }
105 |
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:56:60: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
54 | /// A `DisposeBag` that can be used to dispose observations and bindings.
55 | public var bag: DisposeBag {
56 | if let disposeBag = objc_getAssociatedObject(self, &NSObject.AssociatedKeys.DisposeBagKey) {
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
57 | return disposeBag as! DisposeBag
58 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:60:44: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
58 | } else {
59 | let disposeBag = DisposeBag()
60 | objc_setAssociatedObject(self, &NSObject.AssociatedKeys.DisposeBagKey, disposeBag, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
61 | return disposeBag
62 | }
[25/46] Compiling ReactiveKit LoadingProperty.swift
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:22:32: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
20 | /// view.display(number)
21 | /// }
22 | public protocol Deallocatable: class {
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
23 |
24 | /// A signal that fires `completed` event when the receiver is deallocated.
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:51:20: warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
49 |
50 | private struct AssociatedKeys {
51 | static var DisposeBagKey = "DisposeBagKey"
| |- warning: static property 'DisposeBagKey' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'DisposeBagKey' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'DisposeBagKey' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
52 | }
53 |
/Users/admin/builder/spi-builder-workspace/Sources/Deprecations.swift:216:5: warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
214 |
215 | @available(*, deprecated, renamed: "receive(event:)")
216 | open func send(_ event: Event<Element, Error>) {
| `- warning: non-'@objc' instance method in extensions cannot be overridden; use 'public' instead
217 | on(event)
218 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:57:23: warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// A disposable that cannot be disposed.
55 | public struct NonDisposable: Disposable {
| `- note: consider making struct 'NonDisposable' conform to the 'Sendable' protocol
56 |
57 | public static let instance = NonDisposable()
| |- warning: static property 'instance' is not concurrency-safe because non-'Sendable' type 'NonDisposable' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 |
59 | private init() {}
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:63:51: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
57 | /// asynchronously on main dispatch queue (main thread).
58 | public static var immediateOnMain: ExecutionContext {
59 | return ExecutionContext { block in
| `- note: parameter 'block' is implicitly non-sendable
60 | if Thread.isMainThread {
61 | block()
62 | } else {
63 | DispatchQueue.main.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:96:33: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
93 | /// Creates ExecutionContext from the queue.
94 | public var context: ExecutionContext {
95 | return ExecutionContext { block in
| `- note: parameter 'block' is implicitly non-sendable
96 | self.async(execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
97 | }
98 | }
/Users/admin/builder/spi-builder-workspace/Sources/ExecutionContext.swift:103:58: warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
100 | /// Schedule given block for execution after given interval passes.
101 | @available(*, deprecated, message: "Please use asyncAfter(deadline:execute:)")
102 | public func after(when interval: Double, block: @escaping () -> Void) {
| `- note: parameter 'block' is implicitly non-sendable
103 | asyncAfter(deadline: .now() + interval, execute: block)
| `- warning: passing non-sendable parameter 'block' to function expecting a @Sendable closure
104 | }
105 |
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:56:60: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
54 | /// A `DisposeBag` that can be used to dispose observations and bindings.
55 | public var bag: DisposeBag {
56 | if let disposeBag = objc_getAssociatedObject(self, &NSObject.AssociatedKeys.DisposeBagKey) {
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
57 | return disposeBag as! DisposeBag
58 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/Deallocatable.swift:60:44: warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
58 | } else {
59 | let disposeBag = DisposeBag()
60 | objc_setAssociatedObject(self, &NSObject.AssociatedKeys.DisposeBagKey, disposeBag, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
| `- warning: forming 'UnsafeRawPointer' to an inout variable of type String exposes the internal representation rather than the string contents.
61 | return disposeBag
62 | }
[26/46] Compiling ReactiveKit Atomic.swift
[27/46] Compiling ReactiveKit Bindable.swift
[28/46] Compiling ReactiveKit Cancellable.swift
[29/46] Compiling ReactiveKit Combine.swift
[30/46] Compiling ReactiveKit Connectable.swift
[31/46] Compiling ReactiveKit Published.swift
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:49:45: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
47 | }
48 |
49 | public protocol ReactiveExtensionsProvider: class {}
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
50 |
51 | extension ReactiveExtensionsProvider {
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:94:17: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Value, Never>' in a '@Sendable' closure
92 | }
93 | let observation = base.observe(keyPath, options: options) { (base, change) in
94 | observer.receive(base[keyPath: keyPath])
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Value, Never>' in a '@Sendable' closure
95 | }
96 | return BlockDisposable {
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:94:48: warning: capture of 'keyPath' with non-sendable type 'KeyPath<Self.Base, Value>' in a '@Sendable' closure
92 | }
93 | let observation = base.observe(keyPath, options: options) { (base, change) in
94 | observer.receive(base[keyPath: keyPath])
| `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<Self.Base, Value>' in a '@Sendable' closure
95 | }
96 | return BlockDisposable {
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
| `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
[32/46] Compiling ReactiveKit Deferred.swift
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:49:45: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
47 | }
48 |
49 | public protocol ReactiveExtensionsProvider: class {}
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
50 |
51 | extension ReactiveExtensionsProvider {
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:94:17: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Value, Never>' in a '@Sendable' closure
92 | }
93 | let observation = base.observe(keyPath, options: options) { (base, change) in
94 | observer.receive(base[keyPath: keyPath])
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Value, Never>' in a '@Sendable' closure
95 | }
96 | return BlockDisposable {
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:94:48: warning: capture of 'keyPath' with non-sendable type 'KeyPath<Self.Base, Value>' in a '@Sendable' closure
92 | }
93 | let observation = base.observe(keyPath, options: options) { (base, change) in
94 | observer.receive(base[keyPath: keyPath])
| `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<Self.Base, Value>' in a '@Sendable' closure
95 | }
96 | return BlockDisposable {
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
| `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
[33/46] Compiling ReactiveKit Empty.swift
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:49:45: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
47 | }
48 |
49 | public protocol ReactiveExtensionsProvider: class {}
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
50 |
51 | extension ReactiveExtensionsProvider {
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:94:17: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Value, Never>' in a '@Sendable' closure
92 | }
93 | let observation = base.observe(keyPath, options: options) { (base, change) in
94 | observer.receive(base[keyPath: keyPath])
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Value, Never>' in a '@Sendable' closure
95 | }
96 | return BlockDisposable {
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:94:48: warning: capture of 'keyPath' with non-sendable type 'KeyPath<Self.Base, Value>' in a '@Sendable' closure
92 | }
93 | let observation = base.observe(keyPath, options: options) { (base, change) in
94 | observer.receive(base[keyPath: keyPath])
| `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<Self.Base, Value>' in a '@Sendable' closure
95 | }
96 | return BlockDisposable {
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
| `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
[34/46] Compiling ReactiveKit Reactive.swift
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:49:45: warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
47 | }
48 |
49 | public protocol ReactiveExtensionsProvider: class {}
| `- warning: using 'class' keyword to define a class-constrained protocol is deprecated; use 'AnyObject' instead
50 |
51 | extension ReactiveExtensionsProvider {
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:94:17: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Value, Never>' in a '@Sendable' closure
92 | }
93 | let observation = base.observe(keyPath, options: options) { (base, change) in
94 | observer.receive(base[keyPath: keyPath])
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Value, Never>' in a '@Sendable' closure
95 | }
96 | return BlockDisposable {
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/Reactive.swift:94:48: warning: capture of 'keyPath' with non-sendable type 'KeyPath<Self.Base, Value>' in a '@Sendable' closure
92 | }
93 | let observation = base.observe(keyPath, options: options) { (base, change) in
94 | observer.receive(base[keyPath: keyPath])
| `- warning: capture of 'keyPath' with non-sendable type 'KeyPath<Self.Base, Value>' in a '@Sendable' closure
95 | }
96 | return BlockDisposable {
Swift.KeyPath:1:14: note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
1 | public class KeyPath<Root, Value> : PartialKeyPath<Root> {
| `- note: generic class 'KeyPath' does not conform to the 'Sendable' protocol
2 | @objc deinit
3 | }
[35/46] Compiling ReactiveKit SignalProtocol+Filtering.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:182:28: warning: capture of 'serialDisposable' with non-sendable type 'SerialDisposable' in a '@Sendable' closure
180 | queue.asyncAfter(deadline: .now() + interval) {
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
| `- warning: capture of 'serialDisposable' with non-sendable type 'SerialDisposable' in a '@Sendable' closure
183 | _dispatch = nil;
184 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:209:20: note: class 'SerialDisposable' does not conform to the 'Sendable' protocol
207 |
208 | /// A disposable that disposes other disposable upon its own disposing.
209 | public final class SerialDisposable: Disposable {
| `- note: class 'SerialDisposable' does not conform to the 'Sendable' protocol
210 |
211 | private let lock = NSRecursiveLock(name: "com.reactive_kit.serial_disposable")
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:183:25: warning: capture of '_dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
183 | _dispatch = nil;
| |- warning: capture of '_dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
184 | return
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:186:38: warning: capture of '_latestElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
184 | return
185 | }
186 | if let element = _latestElement {
| `- warning: capture of '_latestElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
187 | observer.receive(element)
188 | _latestElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:187:25: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
185 | }
186 | if let element = _latestElement {
187 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
188 | _latestElement = nil
189 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:183:25: warning: mutation of captured var '_dispatch' in concurrently-executing code
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
183 | _dispatch = nil;
| `- warning: mutation of captured var '_dispatch' in concurrently-executing code
184 | return
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:186:38: warning: reference to captured var '_latestElement' in concurrently-executing code
184 | return
185 | }
186 | if let element = _latestElement {
| `- warning: reference to captured var '_latestElement' in concurrently-executing code
187 | observer.receive(element)
188 | _latestElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:188:25: warning: mutation of captured var '_latestElement' in concurrently-executing code
186 | if let element = _latestElement {
187 | observer.receive(element)
188 | _latestElement = nil
| `- warning: mutation of captured var '_latestElement' in concurrently-executing code
189 | }
190 | _dispatch?()
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:190:21: warning: reference to captured var '_dispatch' in concurrently-executing code
188 | _latestElement = nil
189 | }
190 | _dispatch?()
| `- warning: reference to captured var '_dispatch' in concurrently-executing code
191 | }
192 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:396:32: warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
394 | return self.observe { event in
395 | queue.async {
396 | switch event {
| `- warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
397 | case .next(let element):
398 | if isInitialElement {
/Users/admin/builder/spi-builder-workspace/Sources/Signal.Event.swift:28:17: note: consider making enum 'Event' conform to the 'Sendable' protocol
26 |
27 | /// An event of a sequence.
28 | public enum Event {
| `- note: consider making enum 'Event' conform to the 'Sendable' protocol
29 |
30 | /// An event that carries next element.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:400:33: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
398 | if isInitialElement {
399 | isInitialElement = false
400 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
401 | } else {
402 | lastElement = element
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:402:33: warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
400 | observer.receive(element)
401 | } else {
402 | lastElement = element
| `- warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
403 | }
404 | guard throttledDisposable == nil else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:404:35: warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in a '@Sendable' closure
402 | lastElement = element
403 | }
404 | guard throttledDisposable == nil else { return }
| `- warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in a '@Sendable' closure
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:398:32: warning: reference to captured var 'isInitialElement' in concurrently-executing code
396 | switch event {
397 | case .next(let element):
398 | if isInitialElement {
| `- warning: reference to captured var 'isInitialElement' in concurrently-executing code
399 | isInitialElement = false
400 | observer.receive(element)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:399:33: warning: mutation of captured var 'isInitialElement' in concurrently-executing code
397 | case .next(let element):
398 | if isInitialElement {
399 | isInitialElement = false
| `- warning: mutation of captured var 'isInitialElement' in concurrently-executing code
400 | observer.receive(element)
401 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:402:33: warning: mutation of captured var 'lastElement' in concurrently-executing code
400 | observer.receive(element)
401 | } else {
402 | lastElement = element
| `- warning: mutation of captured var 'lastElement' in concurrently-executing code
403 | }
404 | guard throttledDisposable == nil else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:404:35: warning: reference to captured var 'throttledDisposable' in concurrently-executing code
402 | lastElement = element
403 | }
404 | guard throttledDisposable == nil else { return }
| `- warning: reference to captured var 'throttledDisposable' in concurrently-executing code
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:405:29: warning: mutation of captured var 'throttledDisposable' in concurrently-executing code
403 | }
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
| `- warning: mutation of captured var 'throttledDisposable' in concurrently-executing code
406 | if let element = lastElement {
407 | observer.receive(element)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:406:50: warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in an isolated closure; this is an error in the Swift 6 language mode
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
| `- warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in an isolated closure; this is an error in the Swift 6 language mode
407 | observer.receive(element)
408 | lastElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:407:37: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in an isolated closure; this is an error in the Swift 6 language mode
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
407 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in an isolated closure; this is an error in the Swift 6 language mode
408 | lastElement = nil
409 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:413:33: warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in an isolated closure; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
413 | throttledDisposable = nil
| `- warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in an isolated closure; this is an error in the Swift 6 language mode
414 | }
415 | case .failed(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:406:50: warning: reference to captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
| `- warning: reference to captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
407 | observer.receive(element)
408 | lastElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:408:37: warning: mutation of captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
406 | if let element = lastElement {
407 | observer.receive(element)
408 | lastElement = nil
| `- warning: mutation of captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
409 | }
410 | if isFinished {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:410:36: warning: reference to captured var 'isFinished' in concurrently-executing code; this is an error in the Swift 6 language mode
408 | lastElement = nil
409 | }
410 | if isFinished {
| `- warning: reference to captured var 'isFinished' in concurrently-executing code; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:413:33: warning: mutation of captured var 'throttledDisposable' in concurrently-executing code; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
413 | throttledDisposable = nil
| `- warning: mutation of captured var 'throttledDisposable' in concurrently-executing code; this is an error in the Swift 6 language mode
414 | }
415 | case .failed(let error):
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:418:35: warning: reference to captured var 'throttledDisposable' in concurrently-executing code
416 | observer.receive(completion: .failure(error))
417 | case .completed:
418 | guard throttledDisposable == nil else {
| `- warning: reference to captured var 'throttledDisposable' in concurrently-executing code
419 | isFinished = true
420 | return
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:419:33: warning: mutation of captured var 'isFinished' in concurrently-executing code
417 | case .completed:
418 | guard throttledDisposable == nil else {
419 | isFinished = true
| `- warning: mutation of captured var 'isFinished' in concurrently-executing code
420 | return
421 | }
[36/46] Compiling ReactiveKit SignalProtocol+Monad.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:182:28: warning: capture of 'serialDisposable' with non-sendable type 'SerialDisposable' in a '@Sendable' closure
180 | queue.asyncAfter(deadline: .now() + interval) {
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
| `- warning: capture of 'serialDisposable' with non-sendable type 'SerialDisposable' in a '@Sendable' closure
183 | _dispatch = nil;
184 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:209:20: note: class 'SerialDisposable' does not conform to the 'Sendable' protocol
207 |
208 | /// A disposable that disposes other disposable upon its own disposing.
209 | public final class SerialDisposable: Disposable {
| `- note: class 'SerialDisposable' does not conform to the 'Sendable' protocol
210 |
211 | private let lock = NSRecursiveLock(name: "com.reactive_kit.serial_disposable")
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:183:25: warning: capture of '_dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
183 | _dispatch = nil;
| |- warning: capture of '_dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
184 | return
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:186:38: warning: capture of '_latestElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
184 | return
185 | }
186 | if let element = _latestElement {
| `- warning: capture of '_latestElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
187 | observer.receive(element)
188 | _latestElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:187:25: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
185 | }
186 | if let element = _latestElement {
187 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
188 | _latestElement = nil
189 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:183:25: warning: mutation of captured var '_dispatch' in concurrently-executing code
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
183 | _dispatch = nil;
| `- warning: mutation of captured var '_dispatch' in concurrently-executing code
184 | return
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:186:38: warning: reference to captured var '_latestElement' in concurrently-executing code
184 | return
185 | }
186 | if let element = _latestElement {
| `- warning: reference to captured var '_latestElement' in concurrently-executing code
187 | observer.receive(element)
188 | _latestElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:188:25: warning: mutation of captured var '_latestElement' in concurrently-executing code
186 | if let element = _latestElement {
187 | observer.receive(element)
188 | _latestElement = nil
| `- warning: mutation of captured var '_latestElement' in concurrently-executing code
189 | }
190 | _dispatch?()
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:190:21: warning: reference to captured var '_dispatch' in concurrently-executing code
188 | _latestElement = nil
189 | }
190 | _dispatch?()
| `- warning: reference to captured var '_dispatch' in concurrently-executing code
191 | }
192 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:396:32: warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
394 | return self.observe { event in
395 | queue.async {
396 | switch event {
| `- warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
397 | case .next(let element):
398 | if isInitialElement {
/Users/admin/builder/spi-builder-workspace/Sources/Signal.Event.swift:28:17: note: consider making enum 'Event' conform to the 'Sendable' protocol
26 |
27 | /// An event of a sequence.
28 | public enum Event {
| `- note: consider making enum 'Event' conform to the 'Sendable' protocol
29 |
30 | /// An event that carries next element.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:400:33: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
398 | if isInitialElement {
399 | isInitialElement = false
400 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
401 | } else {
402 | lastElement = element
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:402:33: warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
400 | observer.receive(element)
401 | } else {
402 | lastElement = element
| `- warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
403 | }
404 | guard throttledDisposable == nil else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:404:35: warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in a '@Sendable' closure
402 | lastElement = element
403 | }
404 | guard throttledDisposable == nil else { return }
| `- warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in a '@Sendable' closure
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:398:32: warning: reference to captured var 'isInitialElement' in concurrently-executing code
396 | switch event {
397 | case .next(let element):
398 | if isInitialElement {
| `- warning: reference to captured var 'isInitialElement' in concurrently-executing code
399 | isInitialElement = false
400 | observer.receive(element)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:399:33: warning: mutation of captured var 'isInitialElement' in concurrently-executing code
397 | case .next(let element):
398 | if isInitialElement {
399 | isInitialElement = false
| `- warning: mutation of captured var 'isInitialElement' in concurrently-executing code
400 | observer.receive(element)
401 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:402:33: warning: mutation of captured var 'lastElement' in concurrently-executing code
400 | observer.receive(element)
401 | } else {
402 | lastElement = element
| `- warning: mutation of captured var 'lastElement' in concurrently-executing code
403 | }
404 | guard throttledDisposable == nil else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:404:35: warning: reference to captured var 'throttledDisposable' in concurrently-executing code
402 | lastElement = element
403 | }
404 | guard throttledDisposable == nil else { return }
| `- warning: reference to captured var 'throttledDisposable' in concurrently-executing code
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:405:29: warning: mutation of captured var 'throttledDisposable' in concurrently-executing code
403 | }
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
| `- warning: mutation of captured var 'throttledDisposable' in concurrently-executing code
406 | if let element = lastElement {
407 | observer.receive(element)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:406:50: warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in an isolated closure; this is an error in the Swift 6 language mode
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
| `- warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in an isolated closure; this is an error in the Swift 6 language mode
407 | observer.receive(element)
408 | lastElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:407:37: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in an isolated closure; this is an error in the Swift 6 language mode
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
407 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in an isolated closure; this is an error in the Swift 6 language mode
408 | lastElement = nil
409 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:413:33: warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in an isolated closure; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
413 | throttledDisposable = nil
| `- warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in an isolated closure; this is an error in the Swift 6 language mode
414 | }
415 | case .failed(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:406:50: warning: reference to captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
| `- warning: reference to captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
407 | observer.receive(element)
408 | lastElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:408:37: warning: mutation of captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
406 | if let element = lastElement {
407 | observer.receive(element)
408 | lastElement = nil
| `- warning: mutation of captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
409 | }
410 | if isFinished {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:410:36: warning: reference to captured var 'isFinished' in concurrently-executing code; this is an error in the Swift 6 language mode
408 | lastElement = nil
409 | }
410 | if isFinished {
| `- warning: reference to captured var 'isFinished' in concurrently-executing code; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:413:33: warning: mutation of captured var 'throttledDisposable' in concurrently-executing code; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
413 | throttledDisposable = nil
| `- warning: mutation of captured var 'throttledDisposable' in concurrently-executing code; this is an error in the Swift 6 language mode
414 | }
415 | case .failed(let error):
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:418:35: warning: reference to captured var 'throttledDisposable' in concurrently-executing code
416 | observer.receive(completion: .failure(error))
417 | case .completed:
418 | guard throttledDisposable == nil else {
| `- warning: reference to captured var 'throttledDisposable' in concurrently-executing code
419 | isFinished = true
420 | return
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:419:33: warning: mutation of captured var 'isFinished' in concurrently-executing code
417 | case .completed:
418 | guard throttledDisposable == nil else {
419 | isFinished = true
| `- warning: mutation of captured var 'isFinished' in concurrently-executing code
420 | return
421 | }
[37/46] Compiling ReactiveKit SignalProtocol+Optional.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:182:28: warning: capture of 'serialDisposable' with non-sendable type 'SerialDisposable' in a '@Sendable' closure
180 | queue.asyncAfter(deadline: .now() + interval) {
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
| `- warning: capture of 'serialDisposable' with non-sendable type 'SerialDisposable' in a '@Sendable' closure
183 | _dispatch = nil;
184 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:209:20: note: class 'SerialDisposable' does not conform to the 'Sendable' protocol
207 |
208 | /// A disposable that disposes other disposable upon its own disposing.
209 | public final class SerialDisposable: Disposable {
| `- note: class 'SerialDisposable' does not conform to the 'Sendable' protocol
210 |
211 | private let lock = NSRecursiveLock(name: "com.reactive_kit.serial_disposable")
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:183:25: warning: capture of '_dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
183 | _dispatch = nil;
| |- warning: capture of '_dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
184 | return
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:186:38: warning: capture of '_latestElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
184 | return
185 | }
186 | if let element = _latestElement {
| `- warning: capture of '_latestElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
187 | observer.receive(element)
188 | _latestElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:187:25: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
185 | }
186 | if let element = _latestElement {
187 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
188 | _latestElement = nil
189 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:183:25: warning: mutation of captured var '_dispatch' in concurrently-executing code
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
183 | _dispatch = nil;
| `- warning: mutation of captured var '_dispatch' in concurrently-executing code
184 | return
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:186:38: warning: reference to captured var '_latestElement' in concurrently-executing code
184 | return
185 | }
186 | if let element = _latestElement {
| `- warning: reference to captured var '_latestElement' in concurrently-executing code
187 | observer.receive(element)
188 | _latestElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:188:25: warning: mutation of captured var '_latestElement' in concurrently-executing code
186 | if let element = _latestElement {
187 | observer.receive(element)
188 | _latestElement = nil
| `- warning: mutation of captured var '_latestElement' in concurrently-executing code
189 | }
190 | _dispatch?()
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:190:21: warning: reference to captured var '_dispatch' in concurrently-executing code
188 | _latestElement = nil
189 | }
190 | _dispatch?()
| `- warning: reference to captured var '_dispatch' in concurrently-executing code
191 | }
192 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:396:32: warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
394 | return self.observe { event in
395 | queue.async {
396 | switch event {
| `- warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
397 | case .next(let element):
398 | if isInitialElement {
/Users/admin/builder/spi-builder-workspace/Sources/Signal.Event.swift:28:17: note: consider making enum 'Event' conform to the 'Sendable' protocol
26 |
27 | /// An event of a sequence.
28 | public enum Event {
| `- note: consider making enum 'Event' conform to the 'Sendable' protocol
29 |
30 | /// An event that carries next element.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:400:33: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
398 | if isInitialElement {
399 | isInitialElement = false
400 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
401 | } else {
402 | lastElement = element
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:402:33: warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
400 | observer.receive(element)
401 | } else {
402 | lastElement = element
| `- warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
403 | }
404 | guard throttledDisposable == nil else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:404:35: warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in a '@Sendable' closure
402 | lastElement = element
403 | }
404 | guard throttledDisposable == nil else { return }
| `- warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in a '@Sendable' closure
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:398:32: warning: reference to captured var 'isInitialElement' in concurrently-executing code
396 | switch event {
397 | case .next(let element):
398 | if isInitialElement {
| `- warning: reference to captured var 'isInitialElement' in concurrently-executing code
399 | isInitialElement = false
400 | observer.receive(element)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:399:33: warning: mutation of captured var 'isInitialElement' in concurrently-executing code
397 | case .next(let element):
398 | if isInitialElement {
399 | isInitialElement = false
| `- warning: mutation of captured var 'isInitialElement' in concurrently-executing code
400 | observer.receive(element)
401 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:402:33: warning: mutation of captured var 'lastElement' in concurrently-executing code
400 | observer.receive(element)
401 | } else {
402 | lastElement = element
| `- warning: mutation of captured var 'lastElement' in concurrently-executing code
403 | }
404 | guard throttledDisposable == nil else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:404:35: warning: reference to captured var 'throttledDisposable' in concurrently-executing code
402 | lastElement = element
403 | }
404 | guard throttledDisposable == nil else { return }
| `- warning: reference to captured var 'throttledDisposable' in concurrently-executing code
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:405:29: warning: mutation of captured var 'throttledDisposable' in concurrently-executing code
403 | }
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
| `- warning: mutation of captured var 'throttledDisposable' in concurrently-executing code
406 | if let element = lastElement {
407 | observer.receive(element)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:406:50: warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in an isolated closure; this is an error in the Swift 6 language mode
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
| `- warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in an isolated closure; this is an error in the Swift 6 language mode
407 | observer.receive(element)
408 | lastElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:407:37: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in an isolated closure; this is an error in the Swift 6 language mode
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
407 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in an isolated closure; this is an error in the Swift 6 language mode
408 | lastElement = nil
409 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:413:33: warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in an isolated closure; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
413 | throttledDisposable = nil
| `- warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in an isolated closure; this is an error in the Swift 6 language mode
414 | }
415 | case .failed(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:406:50: warning: reference to captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
| `- warning: reference to captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
407 | observer.receive(element)
408 | lastElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:408:37: warning: mutation of captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
406 | if let element = lastElement {
407 | observer.receive(element)
408 | lastElement = nil
| `- warning: mutation of captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
409 | }
410 | if isFinished {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:410:36: warning: reference to captured var 'isFinished' in concurrently-executing code; this is an error in the Swift 6 language mode
408 | lastElement = nil
409 | }
410 | if isFinished {
| `- warning: reference to captured var 'isFinished' in concurrently-executing code; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:413:33: warning: mutation of captured var 'throttledDisposable' in concurrently-executing code; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
413 | throttledDisposable = nil
| `- warning: mutation of captured var 'throttledDisposable' in concurrently-executing code; this is an error in the Swift 6 language mode
414 | }
415 | case .failed(let error):
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:418:35: warning: reference to captured var 'throttledDisposable' in concurrently-executing code
416 | observer.receive(completion: .failure(error))
417 | case .completed:
418 | guard throttledDisposable == nil else {
| `- warning: reference to captured var 'throttledDisposable' in concurrently-executing code
419 | isFinished = true
420 | return
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:419:33: warning: mutation of captured var 'isFinished' in concurrently-executing code
417 | case .completed:
418 | guard throttledDisposable == nil else {
419 | isFinished = true
| `- warning: mutation of captured var 'isFinished' in concurrently-executing code
420 | return
421 | }
[38/46] Compiling ReactiveKit SignalProtocol+Result.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:182:28: warning: capture of 'serialDisposable' with non-sendable type 'SerialDisposable' in a '@Sendable' closure
180 | queue.asyncAfter(deadline: .now() + interval) {
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
| `- warning: capture of 'serialDisposable' with non-sendable type 'SerialDisposable' in a '@Sendable' closure
183 | _dispatch = nil;
184 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:209:20: note: class 'SerialDisposable' does not conform to the 'Sendable' protocol
207 |
208 | /// A disposable that disposes other disposable upon its own disposing.
209 | public final class SerialDisposable: Disposable {
| `- note: class 'SerialDisposable' does not conform to the 'Sendable' protocol
210 |
211 | private let lock = NSRecursiveLock(name: "com.reactive_kit.serial_disposable")
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:183:25: warning: capture of '_dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
183 | _dispatch = nil;
| |- warning: capture of '_dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
184 | return
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:186:38: warning: capture of '_latestElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
184 | return
185 | }
186 | if let element = _latestElement {
| `- warning: capture of '_latestElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
187 | observer.receive(element)
188 | _latestElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:187:25: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
185 | }
186 | if let element = _latestElement {
187 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
188 | _latestElement = nil
189 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:183:25: warning: mutation of captured var '_dispatch' in concurrently-executing code
181 | lock.lock(); defer { lock.unlock() }
182 | guard !serialDisposable.isDisposed else {
183 | _dispatch = nil;
| `- warning: mutation of captured var '_dispatch' in concurrently-executing code
184 | return
185 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:186:38: warning: reference to captured var '_latestElement' in concurrently-executing code
184 | return
185 | }
186 | if let element = _latestElement {
| `- warning: reference to captured var '_latestElement' in concurrently-executing code
187 | observer.receive(element)
188 | _latestElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:188:25: warning: mutation of captured var '_latestElement' in concurrently-executing code
186 | if let element = _latestElement {
187 | observer.receive(element)
188 | _latestElement = nil
| `- warning: mutation of captured var '_latestElement' in concurrently-executing code
189 | }
190 | _dispatch?()
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:190:21: warning: reference to captured var '_dispatch' in concurrently-executing code
188 | _latestElement = nil
189 | }
190 | _dispatch?()
| `- warning: reference to captured var '_dispatch' in concurrently-executing code
191 | }
192 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:396:32: warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
394 | return self.observe { event in
395 | queue.async {
396 | switch event {
| `- warning: capture of 'event' with non-sendable type 'Signal<Self.Element, Self.Error>.Event' in a '@Sendable' closure
397 | case .next(let element):
398 | if isInitialElement {
/Users/admin/builder/spi-builder-workspace/Sources/Signal.Event.swift:28:17: note: consider making enum 'Event' conform to the 'Sendable' protocol
26 |
27 | /// An event of a sequence.
28 | public enum Event {
| `- note: consider making enum 'Event' conform to the 'Sendable' protocol
29 |
30 | /// An event that carries next element.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:400:33: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
398 | if isInitialElement {
399 | isInitialElement = false
400 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in a '@Sendable' closure
401 | } else {
402 | lastElement = element
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:402:33: warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
400 | observer.receive(element)
401 | } else {
402 | lastElement = element
| `- warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in a '@Sendable' closure
403 | }
404 | guard throttledDisposable == nil else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:404:35: warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in a '@Sendable' closure
402 | lastElement = element
403 | }
404 | guard throttledDisposable == nil else { return }
| `- warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in a '@Sendable' closure
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:398:32: warning: reference to captured var 'isInitialElement' in concurrently-executing code
396 | switch event {
397 | case .next(let element):
398 | if isInitialElement {
| `- warning: reference to captured var 'isInitialElement' in concurrently-executing code
399 | isInitialElement = false
400 | observer.receive(element)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:399:33: warning: mutation of captured var 'isInitialElement' in concurrently-executing code
397 | case .next(let element):
398 | if isInitialElement {
399 | isInitialElement = false
| `- warning: mutation of captured var 'isInitialElement' in concurrently-executing code
400 | observer.receive(element)
401 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:402:33: warning: mutation of captured var 'lastElement' in concurrently-executing code
400 | observer.receive(element)
401 | } else {
402 | lastElement = element
| `- warning: mutation of captured var 'lastElement' in concurrently-executing code
403 | }
404 | guard throttledDisposable == nil else { return }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:404:35: warning: reference to captured var 'throttledDisposable' in concurrently-executing code
402 | lastElement = element
403 | }
404 | guard throttledDisposable == nil else { return }
| `- warning: reference to captured var 'throttledDisposable' in concurrently-executing code
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:405:29: warning: mutation of captured var 'throttledDisposable' in concurrently-executing code
403 | }
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
| `- warning: mutation of captured var 'throttledDisposable' in concurrently-executing code
406 | if let element = lastElement {
407 | observer.receive(element)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:406:50: warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in an isolated closure; this is an error in the Swift 6 language mode
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
| `- warning: capture of 'lastElement' with non-sendable type 'Self.Element?' in an isolated closure; this is an error in the Swift 6 language mode
407 | observer.receive(element)
408 | lastElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:407:37: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in an isolated closure; this is an error in the Swift 6 language mode
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
407 | observer.receive(element)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Self.Element, Self.Error>' in an isolated closure; this is an error in the Swift 6 language mode
408 | lastElement = nil
409 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:413:33: warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in an isolated closure; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
413 | throttledDisposable = nil
| `- warning: capture of 'throttledDisposable' with non-sendable type '(any Disposable)?' in an isolated closure; this is an error in the Swift 6 language mode
414 | }
415 | case .failed(let error):
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:406:50: warning: reference to captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
404 | guard throttledDisposable == nil else { return }
405 | throttledDisposable = queue.disposableAfter(when: seconds) {
406 | if let element = lastElement {
| `- warning: reference to captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
407 | observer.receive(element)
408 | lastElement = nil
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:408:37: warning: mutation of captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
406 | if let element = lastElement {
407 | observer.receive(element)
408 | lastElement = nil
| `- warning: mutation of captured var 'lastElement' in concurrently-executing code; this is an error in the Swift 6 language mode
409 | }
410 | if isFinished {
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:410:36: warning: reference to captured var 'isFinished' in concurrently-executing code; this is an error in the Swift 6 language mode
408 | lastElement = nil
409 | }
410 | if isFinished {
| `- warning: reference to captured var 'isFinished' in concurrently-executing code; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:413:33: warning: mutation of captured var 'throttledDisposable' in concurrently-executing code; this is an error in the Swift 6 language mode
411 | observer.receive(completion: .finished)
412 | }
413 | throttledDisposable = nil
| `- warning: mutation of captured var 'throttledDisposable' in concurrently-executing code; this is an error in the Swift 6 language mode
414 | }
415 | case .failed(let error):
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:418:35: warning: reference to captured var 'throttledDisposable' in concurrently-executing code
416 | observer.receive(completion: .failure(error))
417 | case .completed:
418 | guard throttledDisposable == nil else {
| `- warning: reference to captured var 'throttledDisposable' in concurrently-executing code
419 | isFinished = true
420 | return
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Filtering.swift:419:33: warning: mutation of captured var 'isFinished' in concurrently-executing code
417 | case .completed:
418 | guard throttledDisposable == nil else {
419 | isFinished = true
| `- warning: mutation of captured var 'isFinished' in concurrently-executing code
420 | return
421 | }
[39/46] Compiling ReactiveKit SignalProtocol+Async.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:41:17: warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
39 | }
40 | continuation.onTermination = { @Sendable _ in
41 | disposable.dispose()
| `- warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | }
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:63:17: warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 | }
62 | continuation.onTermination = { @Sendable _ in
63 | disposable.dispose()
| `- warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:35:34: warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
33 | switch event {
34 | case .next(let element):
35 | continuation.yield(element)
| |- warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'element' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
36 | case .completed:
37 | continuation.finish()
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:55:34: warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
53 | switch event {
54 | case .next(let element):
55 | continuation.yield(element)
| |- warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'element' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
56 | case .failed(let error):
57 | continuation.finish(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:74:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
72 | public func toSignal() -> Signal<Element, Swift.Error> {
73 | Signal<Element, Swift.Error> { observer in
74 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
75 | do {
76 | for try await element in self {
| `- note: closure captures non-Sendable 'self'
77 | observer.receive(element)
| `- note: closure captures non-Sendable 'observer'
78 | }
79 | observer.receive(completion: .finished)
[40/46] Compiling ReactiveKit SignalProtocol+Combining.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:41:17: warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
39 | }
40 | continuation.onTermination = { @Sendable _ in
41 | disposable.dispose()
| `- warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | }
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:63:17: warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 | }
62 | continuation.onTermination = { @Sendable _ in
63 | disposable.dispose()
| `- warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:35:34: warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
33 | switch event {
34 | case .next(let element):
35 | continuation.yield(element)
| |- warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'element' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
36 | case .completed:
37 | continuation.finish()
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:55:34: warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
53 | switch event {
54 | case .next(let element):
55 | continuation.yield(element)
| |- warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'element' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
56 | case .failed(let error):
57 | continuation.finish(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:74:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
72 | public func toSignal() -> Signal<Element, Swift.Error> {
73 | Signal<Element, Swift.Error> { observer in
74 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
75 | do {
76 | for try await element in self {
| `- note: closure captures non-Sendable 'self'
77 | observer.receive(element)
| `- note: closure captures non-Sendable 'observer'
78 | }
79 | observer.receive(completion: .finished)
[41/46] Compiling ReactiveKit SignalProtocol+ErrorHandling.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:41:17: warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
39 | }
40 | continuation.onTermination = { @Sendable _ in
41 | disposable.dispose()
| `- warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | }
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:63:17: warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 | }
62 | continuation.onTermination = { @Sendable _ in
63 | disposable.dispose()
| `- warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:35:34: warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
33 | switch event {
34 | case .next(let element):
35 | continuation.yield(element)
| |- warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'element' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
36 | case .completed:
37 | continuation.finish()
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:55:34: warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
53 | switch event {
54 | case .next(let element):
55 | continuation.yield(element)
| |- warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'element' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
56 | case .failed(let error):
57 | continuation.finish(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:74:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
72 | public func toSignal() -> Signal<Element, Swift.Error> {
73 | Signal<Element, Swift.Error> { observer in
74 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
75 | do {
76 | for try await element in self {
| `- note: closure captures non-Sendable 'self'
77 | observer.receive(element)
| `- note: closure captures non-Sendable 'observer'
78 | }
79 | observer.receive(completion: .finished)
[42/46] Compiling ReactiveKit SignalProtocol+Event.swift
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:41:17: warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
39 | }
40 | continuation.onTermination = { @Sendable _ in
41 | disposable.dispose()
| `- warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 | }
43 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:63:17: warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 | }
62 | continuation.onTermination = { @Sendable _ in
63 | disposable.dispose()
| `- warning: capture of 'disposable' with non-sendable type 'any Disposable' in a '@Sendable' closure; this is an error in the Swift 6 language mode
64 | }
65 | }
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:37:17: note: protocol 'Disposable' does not conform to the 'Sendable' protocol
35 | ///
36 | /// disposable.dispose()
37 | public protocol Disposable: Cancellable {
| `- note: protocol 'Disposable' does not conform to the 'Sendable' protocol
38 |
39 | /// Dispose the signal observation or binding.
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:35:34: warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
33 | switch event {
34 | case .next(let element):
35 | continuation.yield(element)
| |- warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'element' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
36 | case .completed:
37 | continuation.finish()
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:55:34: warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
53 | switch event {
54 | case .next(let element):
55 | continuation.yield(element)
| |- warning: sending 'element' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'element' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
56 | case .failed(let error):
57 | continuation.finish(throwing: error)
/Users/admin/builder/spi-builder-workspace/Sources/SignalProtocol+Async.swift:74:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
72 | public func toSignal() -> Signal<Element, Swift.Error> {
73 | Signal<Element, Swift.Error> { observer in
74 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
75 | do {
76 | for try await element in self {
| `- note: closure captures non-Sendable 'self'
77 | observer.receive(element)
| `- note: closure captures non-Sendable 'observer'
78 | }
79 | observer.receive(completion: .finished)
[43/46] Compiling ReactiveKit Scheduler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Scheduler.swift:47:24: warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
44 |
45 | @inlinable
46 | public func schedule(_ action: @escaping () -> Void) {
| `- note: parameter 'action' is implicitly non-sendable
47 | async(execute: action)
| `- warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:171:28: warning: capture of 'disposable' with non-sendable type 'SimpleDisposable' in a '@Sendable' closure
169 | dispatch = {
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
| `- warning: capture of 'disposable' with non-sendable type 'SimpleDisposable' in a '@Sendable' closure
172 | dispatch = nil
173 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:69:20: note: class 'SimpleDisposable' does not conform to the 'Sendable' protocol
67 |
68 | /// A disposable that just encapsulates disposed state.
69 | public final class SimpleDisposable: Disposable {
| `- note: class 'SimpleDisposable' does not conform to the 'Sendable' protocol
70 |
71 | private let lock = NSRecursiveLock(name: "com.reactive_kit.simple_disposable")
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:172:25: warning: capture of 'dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
172 | dispatch = nil
| |- warning: capture of 'dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
173 | return
174 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:175:41: warning: capture of 'iterator' with non-sendable type 'S.Iterator' in a '@Sendable' closure
173 | return
174 | }
175 | guard let element = iterator.next() else {
| `- warning: capture of 'iterator' with non-sendable type 'S.Iterator' in a '@Sendable' closure
176 | dispatch = nil
177 | observer.receive(completion: .finished)
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:177:25: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Element, Error>' in a '@Sendable' closure
175 | guard let element = iterator.next() else {
176 | dispatch = nil
177 | observer.receive(completion: .finished)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Element, Error>' in a '@Sendable' closure
178 | return
179 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:172:25: warning: mutation of captured var 'dispatch' in concurrently-executing code
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
172 | dispatch = nil
| `- warning: mutation of captured var 'dispatch' in concurrently-executing code
173 | return
174 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:175:41: warning: mutation of captured var 'iterator' in concurrently-executing code
173 | return
174 | }
175 | guard let element = iterator.next() else {
| `- warning: mutation of captured var 'iterator' in concurrently-executing code
176 | dispatch = nil
177 | observer.receive(completion: .finished)
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:176:25: warning: mutation of captured var 'dispatch' in concurrently-executing code
174 | }
175 | guard let element = iterator.next() else {
176 | dispatch = nil
| `- warning: mutation of captured var 'dispatch' in concurrently-executing code
177 | observer.receive(completion: .finished)
178 | return
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:181:21: warning: reference to captured var 'dispatch' in concurrently-executing code
179 | }
180 | observer.receive(element)
181 | dispatch?()
| `- warning: reference to captured var 'dispatch' in concurrently-executing code
182 | }
183 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:229:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
227 | public init(await produce: @escaping () async throws -> Element) {
228 | self.init { observer in
229 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
230 | do {
231 | let element = try await produce()
| `- note: closure captures 'produce' which is accessible to code in the current task
232 | observer.receive(lastElement: element)
233 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:247:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
245 | public init(await produce: @escaping () async -> Element) {
246 | self.init { observer in
247 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
248 | let element = await produce()
| `- note: closure captures 'produce' which is accessible to code in the current task
249 | observer.receive(lastElement: element)
250 | }
[44/46] Compiling ReactiveKit Signal.Event.swift
/Users/admin/builder/spi-builder-workspace/Sources/Scheduler.swift:47:24: warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
44 |
45 | @inlinable
46 | public func schedule(_ action: @escaping () -> Void) {
| `- note: parameter 'action' is implicitly non-sendable
47 | async(execute: action)
| `- warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:171:28: warning: capture of 'disposable' with non-sendable type 'SimpleDisposable' in a '@Sendable' closure
169 | dispatch = {
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
| `- warning: capture of 'disposable' with non-sendable type 'SimpleDisposable' in a '@Sendable' closure
172 | dispatch = nil
173 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:69:20: note: class 'SimpleDisposable' does not conform to the 'Sendable' protocol
67 |
68 | /// A disposable that just encapsulates disposed state.
69 | public final class SimpleDisposable: Disposable {
| `- note: class 'SimpleDisposable' does not conform to the 'Sendable' protocol
70 |
71 | private let lock = NSRecursiveLock(name: "com.reactive_kit.simple_disposable")
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:172:25: warning: capture of 'dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
172 | dispatch = nil
| |- warning: capture of 'dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
173 | return
174 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:175:41: warning: capture of 'iterator' with non-sendable type 'S.Iterator' in a '@Sendable' closure
173 | return
174 | }
175 | guard let element = iterator.next() else {
| `- warning: capture of 'iterator' with non-sendable type 'S.Iterator' in a '@Sendable' closure
176 | dispatch = nil
177 | observer.receive(completion: .finished)
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:177:25: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Element, Error>' in a '@Sendable' closure
175 | guard let element = iterator.next() else {
176 | dispatch = nil
177 | observer.receive(completion: .finished)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Element, Error>' in a '@Sendable' closure
178 | return
179 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:172:25: warning: mutation of captured var 'dispatch' in concurrently-executing code
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
172 | dispatch = nil
| `- warning: mutation of captured var 'dispatch' in concurrently-executing code
173 | return
174 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:175:41: warning: mutation of captured var 'iterator' in concurrently-executing code
173 | return
174 | }
175 | guard let element = iterator.next() else {
| `- warning: mutation of captured var 'iterator' in concurrently-executing code
176 | dispatch = nil
177 | observer.receive(completion: .finished)
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:176:25: warning: mutation of captured var 'dispatch' in concurrently-executing code
174 | }
175 | guard let element = iterator.next() else {
176 | dispatch = nil
| `- warning: mutation of captured var 'dispatch' in concurrently-executing code
177 | observer.receive(completion: .finished)
178 | return
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:181:21: warning: reference to captured var 'dispatch' in concurrently-executing code
179 | }
180 | observer.receive(element)
181 | dispatch?()
| `- warning: reference to captured var 'dispatch' in concurrently-executing code
182 | }
183 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:229:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
227 | public init(await produce: @escaping () async throws -> Element) {
228 | self.init { observer in
229 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
230 | do {
231 | let element = try await produce()
| `- note: closure captures 'produce' which is accessible to code in the current task
232 | observer.receive(lastElement: element)
233 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:247:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
245 | public init(await produce: @escaping () async -> Element) {
246 | self.init { observer in
247 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
248 | let element = await produce()
| `- note: closure captures 'produce' which is accessible to code in the current task
249 | observer.receive(lastElement: element)
250 | }
[45/46] Compiling ReactiveKit Signal.swift
/Users/admin/builder/spi-builder-workspace/Sources/Scheduler.swift:47:24: warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
44 |
45 | @inlinable
46 | public func schedule(_ action: @escaping () -> Void) {
| `- note: parameter 'action' is implicitly non-sendable
47 | async(execute: action)
| `- warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:171:28: warning: capture of 'disposable' with non-sendable type 'SimpleDisposable' in a '@Sendable' closure
169 | dispatch = {
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
| `- warning: capture of 'disposable' with non-sendable type 'SimpleDisposable' in a '@Sendable' closure
172 | dispatch = nil
173 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:69:20: note: class 'SimpleDisposable' does not conform to the 'Sendable' protocol
67 |
68 | /// A disposable that just encapsulates disposed state.
69 | public final class SimpleDisposable: Disposable {
| `- note: class 'SimpleDisposable' does not conform to the 'Sendable' protocol
70 |
71 | private let lock = NSRecursiveLock(name: "com.reactive_kit.simple_disposable")
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:172:25: warning: capture of 'dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
172 | dispatch = nil
| |- warning: capture of 'dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
173 | return
174 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:175:41: warning: capture of 'iterator' with non-sendable type 'S.Iterator' in a '@Sendable' closure
173 | return
174 | }
175 | guard let element = iterator.next() else {
| `- warning: capture of 'iterator' with non-sendable type 'S.Iterator' in a '@Sendable' closure
176 | dispatch = nil
177 | observer.receive(completion: .finished)
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:177:25: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Element, Error>' in a '@Sendable' closure
175 | guard let element = iterator.next() else {
176 | dispatch = nil
177 | observer.receive(completion: .finished)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Element, Error>' in a '@Sendable' closure
178 | return
179 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:172:25: warning: mutation of captured var 'dispatch' in concurrently-executing code
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
172 | dispatch = nil
| `- warning: mutation of captured var 'dispatch' in concurrently-executing code
173 | return
174 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:175:41: warning: mutation of captured var 'iterator' in concurrently-executing code
173 | return
174 | }
175 | guard let element = iterator.next() else {
| `- warning: mutation of captured var 'iterator' in concurrently-executing code
176 | dispatch = nil
177 | observer.receive(completion: .finished)
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:176:25: warning: mutation of captured var 'dispatch' in concurrently-executing code
174 | }
175 | guard let element = iterator.next() else {
176 | dispatch = nil
| `- warning: mutation of captured var 'dispatch' in concurrently-executing code
177 | observer.receive(completion: .finished)
178 | return
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:181:21: warning: reference to captured var 'dispatch' in concurrently-executing code
179 | }
180 | observer.receive(element)
181 | dispatch?()
| `- warning: reference to captured var 'dispatch' in concurrently-executing code
182 | }
183 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:229:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
227 | public init(await produce: @escaping () async throws -> Element) {
228 | self.init { observer in
229 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
230 | do {
231 | let element = try await produce()
| `- note: closure captures 'produce' which is accessible to code in the current task
232 | observer.receive(lastElement: element)
233 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:247:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
245 | public init(await produce: @escaping () async -> Element) {
246 | self.init { observer in
247 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
248 | let element = await produce()
| `- note: closure captures 'produce' which is accessible to code in the current task
249 | observer.receive(lastElement: element)
250 | }
[46/46] Compiling ReactiveKit SignalProtocol+Arities.swift
/Users/admin/builder/spi-builder-workspace/Sources/Scheduler.swift:47:24: warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
44 |
45 | @inlinable
46 | public func schedule(_ action: @escaping () -> Void) {
| `- note: parameter 'action' is implicitly non-sendable
47 | async(execute: action)
| `- warning: passing non-sendable parameter 'action' to function expecting a @Sendable closure
48 | }
49 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:171:28: warning: capture of 'disposable' with non-sendable type 'SimpleDisposable' in a '@Sendable' closure
169 | dispatch = {
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
| `- warning: capture of 'disposable' with non-sendable type 'SimpleDisposable' in a '@Sendable' closure
172 | dispatch = nil
173 | return
/Users/admin/builder/spi-builder-workspace/Sources/Disposable.swift:69:20: note: class 'SimpleDisposable' does not conform to the 'Sendable' protocol
67 |
68 | /// A disposable that just encapsulates disposed state.
69 | public final class SimpleDisposable: Disposable {
| `- note: class 'SimpleDisposable' does not conform to the 'Sendable' protocol
70 |
71 | private let lock = NSRecursiveLock(name: "com.reactive_kit.simple_disposable")
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:172:25: warning: capture of 'dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
172 | dispatch = nil
| |- warning: capture of 'dispatch' with non-sendable type '(() -> Void)?' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
173 | return
174 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:175:41: warning: capture of 'iterator' with non-sendable type 'S.Iterator' in a '@Sendable' closure
173 | return
174 | }
175 | guard let element = iterator.next() else {
| `- warning: capture of 'iterator' with non-sendable type 'S.Iterator' in a '@Sendable' closure
176 | dispatch = nil
177 | observer.receive(completion: .finished)
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:177:25: warning: capture of 'observer' with non-sendable type 'AtomicObserver<Element, Error>' in a '@Sendable' closure
175 | guard let element = iterator.next() else {
176 | dispatch = nil
177 | observer.receive(completion: .finished)
| `- warning: capture of 'observer' with non-sendable type 'AtomicObserver<Element, Error>' in a '@Sendable' closure
178 | return
179 | }
/Users/admin/builder/spi-builder-workspace/Sources/Observer.swift:65:20: note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
63 |
64 | /// Observer that ensures events are sent atomically.
65 | public final class AtomicObserver<Element, Error: Swift.Error>: ObserverProtocol, Disposable {
| `- note: generic class 'AtomicObserver' does not conform to the 'Sendable' protocol
66 |
67 | private var observer: Observer<Element, Error>?
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:172:25: warning: mutation of captured var 'dispatch' in concurrently-executing code
170 | queue.asyncAfter(deadline: .now() + interval) {
171 | guard !disposable.isDisposed else {
172 | dispatch = nil
| `- warning: mutation of captured var 'dispatch' in concurrently-executing code
173 | return
174 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:175:41: warning: mutation of captured var 'iterator' in concurrently-executing code
173 | return
174 | }
175 | guard let element = iterator.next() else {
| `- warning: mutation of captured var 'iterator' in concurrently-executing code
176 | dispatch = nil
177 | observer.receive(completion: .finished)
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:176:25: warning: mutation of captured var 'dispatch' in concurrently-executing code
174 | }
175 | guard let element = iterator.next() else {
176 | dispatch = nil
| `- warning: mutation of captured var 'dispatch' in concurrently-executing code
177 | observer.receive(completion: .finished)
178 | return
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:181:21: warning: reference to captured var 'dispatch' in concurrently-executing code
179 | }
180 | observer.receive(element)
181 | dispatch?()
| `- warning: reference to captured var 'dispatch' in concurrently-executing code
182 | }
183 | }
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:229:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
227 | public init(await produce: @escaping () async throws -> Element) {
228 | self.init { observer in
229 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
230 | do {
231 | let element = try await produce()
| `- note: closure captures 'produce' which is accessible to code in the current task
232 | observer.receive(lastElement: element)
233 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/Signal.swift:247:29: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
245 | public init(await produce: @escaping () async -> Element) {
246 | self.init { observer in
247 | let task = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
248 | let element = await produce()
| `- note: closure captures 'produce' which is accessible to code in the current task
249 | observer.receive(lastElement: element)
250 | }
Build complete! (4.58s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "ReactiveKit",
"name" : "ReactiveKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.10"
},
{
"name" : "ios",
"version" : "9.0"
},
{
"name" : "tvos",
"version" : "9.0"
},
{
"name" : "watchos",
"version" : "2.0"
}
],
"products" : [
{
"name" : "ReactiveKit",
"targets" : [
"ReactiveKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ReactiveKitTests",
"module_type" : "SwiftTarget",
"name" : "ReactiveKitTests",
"path" : "Tests/ReactiveKitTests",
"sources" : [
"CombineTests.swift",
"PropertyTests.swift",
"PublishedTests.swift",
"Scheduler.swift",
"SignalTests.swift",
"Stress.swift",
"SubjectTests.swift"
],
"target_dependencies" : [
"ReactiveKit"
],
"type" : "test"
},
{
"c99name" : "ReactiveKit",
"module_type" : "SwiftTarget",
"name" : "ReactiveKit",
"path" : "Sources",
"product_memberships" : [
"ReactiveKit"
],
"sources" : [
"Atomic.swift",
"Bindable.swift",
"Cancellable.swift",
"Combine.swift",
"Connectable.swift",
"Deallocatable.swift",
"Deprecations.swift",
"Disposable.swift",
"ExecutionContext.swift",
"LoadingProperty.swift",
"LoadingSignal.swift",
"Lock.swift",
"ObservableObject.swift",
"Observer.swift",
"Property.swift",
"Published.swift",
"Publishers/Deferred.swift",
"Publishers/Empty.swift",
"Reactive.swift",
"Scheduler.swift",
"Signal.Event.swift",
"Signal.swift",
"SignalProtocol+Arities.swift",
"SignalProtocol+Async.swift",
"SignalProtocol+Combining.swift",
"SignalProtocol+ErrorHandling.swift",
"SignalProtocol+Event.swift",
"SignalProtocol+Filtering.swift",
"SignalProtocol+Monad.swift",
"SignalProtocol+Optional.swift",
"SignalProtocol+Result.swift",
"SignalProtocol+Sequence.swift",
"SignalProtocol+Threading.swift",
"SignalProtocol+Transforming.swift",
"SignalProtocol+Utilities.swift",
"SignalProtocol.swift",
"Subjects.swift",
"Subscriber.swift",
"Subscribers/Accumulator.swift",
"Subscribers/Completion.swift",
"Subscribers/Demand.swift",
"Subscribers/Sink.swift",
"Subscription.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.