@@ -32,7 +32,7 @@ extension Reactive where Base: DatabaseWriter {
32
32
/// - parameter updates: A closure which writes in the database.
33
33
public func write< T> (
34
34
observeOn scheduler: ImmediateSchedulerType = MainScheduler . instance,
35
- updates: @escaping ( Database ) throws -> T )
35
+ updates: @escaping @ Sendable ( Database) throws -> T )
36
36
-> Single < T >
37
37
{
38
38
Single
@@ -67,8 +67,8 @@ extension Reactive where Base: DatabaseWriter {
67
67
/// - parameter value: A closure which reads from the database.
68
68
public func write< T, U> (
69
69
observeOn scheduler: ImmediateSchedulerType = MainScheduler . instance,
70
- updates: @escaping ( Database ) throws -> T ,
71
- thenRead value: @escaping ( Database , T ) throws -> U )
70
+ updates: @escaping @ Sendable ( Database) throws -> T ,
71
+ thenRead value: @escaping @ Sendable ( Database, T) throws -> U )
72
72
-> Single < U >
73
73
{
74
74
Single
@@ -84,9 +84,12 @@ extension Reactive where Base: DatabaseWriter {
84
84
observer ( . failure( error) )
85
85
return
86
86
}
87
+
88
+ // Non-mutable copy so that compiler does not raise any warning.
89
+ let updatesValue2 = updatesValue
87
90
self . base. spawnConcurrentRead { dbResult in
88
91
do {
89
- try observer ( . success( value ( dbResult. get ( ) , updatesValue !) ) )
92
+ try observer ( . success( value ( dbResult. get ( ) , updatesValue2 !) ) )
90
93
} catch {
91
94
observer ( . failure( error) )
92
95
}
0 commit comments