Build Information
Successful build of GRDB, reference v7.4.1 (3a6a83), with Swift 6.3 for macOS (SPM) on 16 Apr 2026 03:23:45 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-26.4.0.app xcrun swift build --arch arm64Build Log
588 | // transaction to complete.
589 | databaseAccess.dbPool.asyncRead { dbResult in
590 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
591 | guard isNotifying else { return /* Cancelled */ }
592 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:615:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
613 | // a database dispatch queue longer than necessary.
614 | self.reduceQueue.async {
615 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
616 | guard isNotifying else { return /* Cancelled */ }
617 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:625:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
623 | // Notify
624 | self.scheduler.schedule {
625 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
626 | guard let onChange else { return /* Cancelled */ }
627 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:649:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
647 | {
648 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
649 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
650 | guard let events else { return /* Cancelled */ }
651 | events.databaseDidChange?()
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:681:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
679 | // between transactions and notifications!
680 | self.reduceQueue.async {
681 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
682 | guard isNotifying else { return /* Cancelled */ }
683 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:690:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
688 | if let value {
689 | self.scheduler.schedule {
690 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
691 | guard let onChange else { return /* Cancelled */ }
692 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:698:33: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
696 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
697 | dbPool?.asyncWriteWithoutTransaction { writerDB in
698 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
699 | }
700 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:809:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
807 | private func asyncFetch(databaseAccess: DatabaseAccess) {
808 | databaseAccess.dbPool.asyncRead { [self] dbResult in
809 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
810 | guard isNotifying else { return /* Cancelled */ }
811 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:843:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
841 | let fetchedValue = try fetchResult.get()
842 |
843 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
844 | guard isNotifying else { return /* Cancelled */ }
845 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:851:40: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
849 | if let value {
850 | self.scheduler.schedule {
851 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
852 | guard let onChange else { return /* Cancelled */ }
853 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:859:21: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
857 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
858 | dbPool?.asyncWriteWithoutTransaction { writerDB in
859 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
860 | }
861 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:893:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
891 | guard let dbPool else { return /* Failed */ }
892 | dbPool.asyncWriteWithoutTransaction { db in
893 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
894 | }
895 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:899:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
897 | func notifyError(_ error: Error) {
898 | scheduler.schedule {
899 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
900 | let events = self.notificationCallbacks?.events
901 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:255:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
253 | do {
254 | // Fetch & Start observing the database
255 | guard let _fetchedValue = try self.fetchAndStartObservation(db) else {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
256 | return /* Cancelled */
257 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:269:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
267 | // between transactions and notifications!
268 | self.reduceQueue.async {
269 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
270 | guard isNotifying else { return /* Cancelled */ }
271 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:279:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
277 | // Notify
278 | self.scheduler.schedule {
279 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
280 | guard let onChange else { return /* Cancelled */ }
281 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:286:29: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
284 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
285 | writer?.asyncWriteWithoutTransaction { db in
286 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
287 | }
288 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:413:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
411 | // transactions and notifications!
412 | reduceQueue.async {
413 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
414 | guard isNotifying else { return /* Cancelled */ }
415 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:422:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
420 | if let value {
421 | self.scheduler.schedule {
422 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
423 | guard let onChange else { return /* Cancelled */ }
424 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:430:25: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
428 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
429 | writer?.asyncWriteWithoutTransaction { db in
430 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
431 | }
432 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:468:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
466 | guard let writer else { return /* Failed */ }
467 | writer.asyncWriteWithoutTransaction { db in
468 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
469 | }
470 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:474:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
472 | func notifyError(_ error: Error) {
473 | scheduler.schedule {
474 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
475 | let events = self.notificationCallbacks?.events
476 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/Map.swift:24:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
22 | -> ValueObservation<ValueReducers.Map<Reducer, T>>
23 | {
24 | mapReducer { ValueReducers.Map($0, transform) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:23:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
21 | nonisolated(unsafe) let predicate = predicate
22 |
23 | return mapReducer { ValueReducers.RemoveDuplicates($0, predicate: predicate) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
24 | }
25 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:73:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
71 | -> ValueObservation<ValueReducers.RemoveDuplicates<Reducer>>
72 | {
73 | mapReducer { ValueReducers.RemoveDuplicates($0, predicate: ==) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
74 | }
75 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/SharedValueObservation.swift:127:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
125 | {
126 | SharedValueObservation(scheduling: scheduler, extent: extent) { onError, onChange in
127 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
128 | }
129 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:239:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
237 | self
238 | .mapReducer { reducer in
239 | ValueReducers.Trace(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
240 | base: reducer,
241 | // Adding the willFetch handler to the reducer is handy: we
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:358:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
356 | {
357 | AsyncValueObservation(bufferingPolicy: bufferingPolicy) { onError, onChange in
358 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
359 | }
360 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:492:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
490 | {
491 | DatabasePublishers.Value { (onError, onChange) in
492 | self.start(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
493 | in: reader,
494 | scheduling: scheduler,
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:577:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
575 | remainingDemand: demand))
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
578 | { [weak self] value in self?.receive(value) })
579 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:578:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
578 | { [weak self] value in self?.receive(value) })
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
579 |
580 | // State may have been altered (error or cancellation)
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[166/173] Compiling GRDB Trace.swift
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:351:59: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
349 | // open until we grab a write access, and compare the database versions.
350 | databaseAccess.dbPool.asyncWALSnapshotTransaction { result in
351 | let (isNotifying, databaseAccess) = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
352 | (self.notificationCallbacks != nil, self.databaseAccess)
353 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:367:32: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
365 | let db = try dbResult.get()
366 |
367 | switch self.trackingMode {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
368 | case let .constantRegion(regions):
369 | fetchedValue = try databaseAccess.fetch(db)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:383:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
381 | // a database dispatch queue longer than necessary.
382 | self.reduceQueue.async {
383 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
384 | guard isNotifying else { return /* Cancelled */ }
385 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:393:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
391 | // Notify
392 | self.scheduler.schedule {
393 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
394 | guard let onChange else { return /* Cancelled */ }
395 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:444:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
442 |
443 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
444 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
445 | guard let events else { return /* Cancelled */ }
446 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:494:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
492 | // between transactions and notifications!
493 | self.reduceQueue.async {
494 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
495 | guard isNotifying else { return /* Cancelled */ }
496 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:503:56: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
501 | if let value {
502 | self.scheduler.schedule {
503 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
504 | guard let onChange else { return /* Cancelled */ }
505 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:511:37: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
509 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
510 | dbPool?.asyncWriteWithoutTransaction { writerDB in
511 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
512 | }
513 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:590:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
588 | // transaction to complete.
589 | databaseAccess.dbPool.asyncRead { dbResult in
590 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
591 | guard isNotifying else { return /* Cancelled */ }
592 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:615:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
613 | // a database dispatch queue longer than necessary.
614 | self.reduceQueue.async {
615 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
616 | guard isNotifying else { return /* Cancelled */ }
617 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:625:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
623 | // Notify
624 | self.scheduler.schedule {
625 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
626 | guard let onChange else { return /* Cancelled */ }
627 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:649:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
647 | {
648 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
649 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
650 | guard let events else { return /* Cancelled */ }
651 | events.databaseDidChange?()
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:681:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
679 | // between transactions and notifications!
680 | self.reduceQueue.async {
681 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
682 | guard isNotifying else { return /* Cancelled */ }
683 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:690:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
688 | if let value {
689 | self.scheduler.schedule {
690 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
691 | guard let onChange else { return /* Cancelled */ }
692 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:698:33: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
696 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
697 | dbPool?.asyncWriteWithoutTransaction { writerDB in
698 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
699 | }
700 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:809:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
807 | private func asyncFetch(databaseAccess: DatabaseAccess) {
808 | databaseAccess.dbPool.asyncRead { [self] dbResult in
809 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
810 | guard isNotifying else { return /* Cancelled */ }
811 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:843:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
841 | let fetchedValue = try fetchResult.get()
842 |
843 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
844 | guard isNotifying else { return /* Cancelled */ }
845 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:851:40: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
849 | if let value {
850 | self.scheduler.schedule {
851 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
852 | guard let onChange else { return /* Cancelled */ }
853 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:859:21: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
857 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
858 | dbPool?.asyncWriteWithoutTransaction { writerDB in
859 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
860 | }
861 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:893:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
891 | guard let dbPool else { return /* Failed */ }
892 | dbPool.asyncWriteWithoutTransaction { db in
893 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
894 | }
895 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:899:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
897 | func notifyError(_ error: Error) {
898 | scheduler.schedule {
899 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
900 | let events = self.notificationCallbacks?.events
901 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:255:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
253 | do {
254 | // Fetch & Start observing the database
255 | guard let _fetchedValue = try self.fetchAndStartObservation(db) else {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
256 | return /* Cancelled */
257 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:269:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
267 | // between transactions and notifications!
268 | self.reduceQueue.async {
269 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
270 | guard isNotifying else { return /* Cancelled */ }
271 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:279:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
277 | // Notify
278 | self.scheduler.schedule {
279 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
280 | guard let onChange else { return /* Cancelled */ }
281 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:286:29: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
284 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
285 | writer?.asyncWriteWithoutTransaction { db in
286 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
287 | }
288 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:413:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
411 | // transactions and notifications!
412 | reduceQueue.async {
413 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
414 | guard isNotifying else { return /* Cancelled */ }
415 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:422:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
420 | if let value {
421 | self.scheduler.schedule {
422 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
423 | guard let onChange else { return /* Cancelled */ }
424 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:430:25: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
428 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
429 | writer?.asyncWriteWithoutTransaction { db in
430 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
431 | }
432 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:468:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
466 | guard let writer else { return /* Failed */ }
467 | writer.asyncWriteWithoutTransaction { db in
468 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
469 | }
470 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:474:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
472 | func notifyError(_ error: Error) {
473 | scheduler.schedule {
474 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
475 | let events = self.notificationCallbacks?.events
476 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/Map.swift:24:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
22 | -> ValueObservation<ValueReducers.Map<Reducer, T>>
23 | {
24 | mapReducer { ValueReducers.Map($0, transform) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:23:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
21 | nonisolated(unsafe) let predicate = predicate
22 |
23 | return mapReducer { ValueReducers.RemoveDuplicates($0, predicate: predicate) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
24 | }
25 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:73:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
71 | -> ValueObservation<ValueReducers.RemoveDuplicates<Reducer>>
72 | {
73 | mapReducer { ValueReducers.RemoveDuplicates($0, predicate: ==) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
74 | }
75 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/SharedValueObservation.swift:127:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
125 | {
126 | SharedValueObservation(scheduling: scheduler, extent: extent) { onError, onChange in
127 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
128 | }
129 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:239:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
237 | self
238 | .mapReducer { reducer in
239 | ValueReducers.Trace(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
240 | base: reducer,
241 | // Adding the willFetch handler to the reducer is handy: we
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:358:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
356 | {
357 | AsyncValueObservation(bufferingPolicy: bufferingPolicy) { onError, onChange in
358 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
359 | }
360 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:492:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
490 | {
491 | DatabasePublishers.Value { (onError, onChange) in
492 | self.start(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
493 | in: reader,
494 | scheduling: scheduler,
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:577:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
575 | remainingDemand: demand))
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
578 | { [weak self] value in self?.receive(value) })
579 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:578:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
578 | { [weak self] value in self?.receive(value) })
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
579 |
580 | // State may have been altered (error or cancellation)
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[167/173] Compiling GRDB ValueReducer.swift
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:351:59: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
349 | // open until we grab a write access, and compare the database versions.
350 | databaseAccess.dbPool.asyncWALSnapshotTransaction { result in
351 | let (isNotifying, databaseAccess) = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
352 | (self.notificationCallbacks != nil, self.databaseAccess)
353 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:367:32: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
365 | let db = try dbResult.get()
366 |
367 | switch self.trackingMode {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
368 | case let .constantRegion(regions):
369 | fetchedValue = try databaseAccess.fetch(db)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:383:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
381 | // a database dispatch queue longer than necessary.
382 | self.reduceQueue.async {
383 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
384 | guard isNotifying else { return /* Cancelled */ }
385 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:393:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
391 | // Notify
392 | self.scheduler.schedule {
393 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
394 | guard let onChange else { return /* Cancelled */ }
395 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:444:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
442 |
443 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
444 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
445 | guard let events else { return /* Cancelled */ }
446 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:494:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
492 | // between transactions and notifications!
493 | self.reduceQueue.async {
494 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
495 | guard isNotifying else { return /* Cancelled */ }
496 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:503:56: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
501 | if let value {
502 | self.scheduler.schedule {
503 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
504 | guard let onChange else { return /* Cancelled */ }
505 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:511:37: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
509 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
510 | dbPool?.asyncWriteWithoutTransaction { writerDB in
511 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
512 | }
513 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:590:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
588 | // transaction to complete.
589 | databaseAccess.dbPool.asyncRead { dbResult in
590 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
591 | guard isNotifying else { return /* Cancelled */ }
592 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:615:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
613 | // a database dispatch queue longer than necessary.
614 | self.reduceQueue.async {
615 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
616 | guard isNotifying else { return /* Cancelled */ }
617 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:625:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
623 | // Notify
624 | self.scheduler.schedule {
625 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
626 | guard let onChange else { return /* Cancelled */ }
627 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:649:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
647 | {
648 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
649 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
650 | guard let events else { return /* Cancelled */ }
651 | events.databaseDidChange?()
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:681:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
679 | // between transactions and notifications!
680 | self.reduceQueue.async {
681 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
682 | guard isNotifying else { return /* Cancelled */ }
683 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:690:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
688 | if let value {
689 | self.scheduler.schedule {
690 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
691 | guard let onChange else { return /* Cancelled */ }
692 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:698:33: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
696 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
697 | dbPool?.asyncWriteWithoutTransaction { writerDB in
698 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
699 | }
700 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:809:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
807 | private func asyncFetch(databaseAccess: DatabaseAccess) {
808 | databaseAccess.dbPool.asyncRead { [self] dbResult in
809 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
810 | guard isNotifying else { return /* Cancelled */ }
811 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:843:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
841 | let fetchedValue = try fetchResult.get()
842 |
843 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
844 | guard isNotifying else { return /* Cancelled */ }
845 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:851:40: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
849 | if let value {
850 | self.scheduler.schedule {
851 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
852 | guard let onChange else { return /* Cancelled */ }
853 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:859:21: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
857 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
858 | dbPool?.asyncWriteWithoutTransaction { writerDB in
859 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
860 | }
861 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:893:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
891 | guard let dbPool else { return /* Failed */ }
892 | dbPool.asyncWriteWithoutTransaction { db in
893 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
894 | }
895 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:899:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
897 | func notifyError(_ error: Error) {
898 | scheduler.schedule {
899 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
900 | let events = self.notificationCallbacks?.events
901 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:255:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
253 | do {
254 | // Fetch & Start observing the database
255 | guard let _fetchedValue = try self.fetchAndStartObservation(db) else {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
256 | return /* Cancelled */
257 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:269:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
267 | // between transactions and notifications!
268 | self.reduceQueue.async {
269 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
270 | guard isNotifying else { return /* Cancelled */ }
271 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:279:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
277 | // Notify
278 | self.scheduler.schedule {
279 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
280 | guard let onChange else { return /* Cancelled */ }
281 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:286:29: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
284 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
285 | writer?.asyncWriteWithoutTransaction { db in
286 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
287 | }
288 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:413:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
411 | // transactions and notifications!
412 | reduceQueue.async {
413 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
414 | guard isNotifying else { return /* Cancelled */ }
415 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:422:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
420 | if let value {
421 | self.scheduler.schedule {
422 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
423 | guard let onChange else { return /* Cancelled */ }
424 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:430:25: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
428 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
429 | writer?.asyncWriteWithoutTransaction { db in
430 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
431 | }
432 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:468:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
466 | guard let writer else { return /* Failed */ }
467 | writer.asyncWriteWithoutTransaction { db in
468 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
469 | }
470 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:474:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
472 | func notifyError(_ error: Error) {
473 | scheduler.schedule {
474 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
475 | let events = self.notificationCallbacks?.events
476 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/Map.swift:24:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
22 | -> ValueObservation<ValueReducers.Map<Reducer, T>>
23 | {
24 | mapReducer { ValueReducers.Map($0, transform) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:23:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
21 | nonisolated(unsafe) let predicate = predicate
22 |
23 | return mapReducer { ValueReducers.RemoveDuplicates($0, predicate: predicate) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
24 | }
25 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:73:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
71 | -> ValueObservation<ValueReducers.RemoveDuplicates<Reducer>>
72 | {
73 | mapReducer { ValueReducers.RemoveDuplicates($0, predicate: ==) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
74 | }
75 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/SharedValueObservation.swift:127:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
125 | {
126 | SharedValueObservation(scheduling: scheduler, extent: extent) { onError, onChange in
127 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
128 | }
129 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:239:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
237 | self
238 | .mapReducer { reducer in
239 | ValueReducers.Trace(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
240 | base: reducer,
241 | // Adding the willFetch handler to the reducer is handy: we
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:358:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
356 | {
357 | AsyncValueObservation(bufferingPolicy: bufferingPolicy) { onError, onChange in
358 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
359 | }
360 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:492:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
490 | {
491 | DatabasePublishers.Value { (onError, onChange) in
492 | self.start(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
493 | in: reader,
494 | scheduling: scheduler,
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:577:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
575 | remainingDemand: demand))
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
578 | { [weak self] value in self?.receive(value) })
579 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:578:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
578 | { [weak self] value in self?.receive(value) })
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
579 |
580 | // State may have been altered (error or cancellation)
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[168/173] Compiling GRDB SharedValueObservation.swift
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:351:59: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
349 | // open until we grab a write access, and compare the database versions.
350 | databaseAccess.dbPool.asyncWALSnapshotTransaction { result in
351 | let (isNotifying, databaseAccess) = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
352 | (self.notificationCallbacks != nil, self.databaseAccess)
353 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:367:32: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
365 | let db = try dbResult.get()
366 |
367 | switch self.trackingMode {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
368 | case let .constantRegion(regions):
369 | fetchedValue = try databaseAccess.fetch(db)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:383:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
381 | // a database dispatch queue longer than necessary.
382 | self.reduceQueue.async {
383 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
384 | guard isNotifying else { return /* Cancelled */ }
385 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:393:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
391 | // Notify
392 | self.scheduler.schedule {
393 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
394 | guard let onChange else { return /* Cancelled */ }
395 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:444:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
442 |
443 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
444 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
445 | guard let events else { return /* Cancelled */ }
446 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:494:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
492 | // between transactions and notifications!
493 | self.reduceQueue.async {
494 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
495 | guard isNotifying else { return /* Cancelled */ }
496 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:503:56: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
501 | if let value {
502 | self.scheduler.schedule {
503 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
504 | guard let onChange else { return /* Cancelled */ }
505 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:511:37: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
509 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
510 | dbPool?.asyncWriteWithoutTransaction { writerDB in
511 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
512 | }
513 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:590:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
588 | // transaction to complete.
589 | databaseAccess.dbPool.asyncRead { dbResult in
590 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
591 | guard isNotifying else { return /* Cancelled */ }
592 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:615:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
613 | // a database dispatch queue longer than necessary.
614 | self.reduceQueue.async {
615 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
616 | guard isNotifying else { return /* Cancelled */ }
617 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:625:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
623 | // Notify
624 | self.scheduler.schedule {
625 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
626 | guard let onChange else { return /* Cancelled */ }
627 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:649:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
647 | {
648 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
649 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
650 | guard let events else { return /* Cancelled */ }
651 | events.databaseDidChange?()
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:681:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
679 | // between transactions and notifications!
680 | self.reduceQueue.async {
681 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
682 | guard isNotifying else { return /* Cancelled */ }
683 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:690:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
688 | if let value {
689 | self.scheduler.schedule {
690 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
691 | guard let onChange else { return /* Cancelled */ }
692 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:698:33: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
696 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
697 | dbPool?.asyncWriteWithoutTransaction { writerDB in
698 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
699 | }
700 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:809:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
807 | private func asyncFetch(databaseAccess: DatabaseAccess) {
808 | databaseAccess.dbPool.asyncRead { [self] dbResult in
809 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
810 | guard isNotifying else { return /* Cancelled */ }
811 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:843:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
841 | let fetchedValue = try fetchResult.get()
842 |
843 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
844 | guard isNotifying else { return /* Cancelled */ }
845 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:851:40: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
849 | if let value {
850 | self.scheduler.schedule {
851 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
852 | guard let onChange else { return /* Cancelled */ }
853 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:859:21: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
857 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
858 | dbPool?.asyncWriteWithoutTransaction { writerDB in
859 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
860 | }
861 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:893:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
891 | guard let dbPool else { return /* Failed */ }
892 | dbPool.asyncWriteWithoutTransaction { db in
893 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
894 | }
895 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:899:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
897 | func notifyError(_ error: Error) {
898 | scheduler.schedule {
899 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
900 | let events = self.notificationCallbacks?.events
901 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:255:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
253 | do {
254 | // Fetch & Start observing the database
255 | guard let _fetchedValue = try self.fetchAndStartObservation(db) else {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
256 | return /* Cancelled */
257 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:269:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
267 | // between transactions and notifications!
268 | self.reduceQueue.async {
269 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
270 | guard isNotifying else { return /* Cancelled */ }
271 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:279:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
277 | // Notify
278 | self.scheduler.schedule {
279 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
280 | guard let onChange else { return /* Cancelled */ }
281 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:286:29: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
284 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
285 | writer?.asyncWriteWithoutTransaction { db in
286 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
287 | }
288 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:413:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
411 | // transactions and notifications!
412 | reduceQueue.async {
413 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
414 | guard isNotifying else { return /* Cancelled */ }
415 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:422:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
420 | if let value {
421 | self.scheduler.schedule {
422 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
423 | guard let onChange else { return /* Cancelled */ }
424 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:430:25: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
428 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
429 | writer?.asyncWriteWithoutTransaction { db in
430 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
431 | }
432 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:468:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
466 | guard let writer else { return /* Failed */ }
467 | writer.asyncWriteWithoutTransaction { db in
468 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
469 | }
470 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:474:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
472 | func notifyError(_ error: Error) {
473 | scheduler.schedule {
474 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
475 | let events = self.notificationCallbacks?.events
476 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/Map.swift:24:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
22 | -> ValueObservation<ValueReducers.Map<Reducer, T>>
23 | {
24 | mapReducer { ValueReducers.Map($0, transform) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:23:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
21 | nonisolated(unsafe) let predicate = predicate
22 |
23 | return mapReducer { ValueReducers.RemoveDuplicates($0, predicate: predicate) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
24 | }
25 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:73:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
71 | -> ValueObservation<ValueReducers.RemoveDuplicates<Reducer>>
72 | {
73 | mapReducer { ValueReducers.RemoveDuplicates($0, predicate: ==) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
74 | }
75 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/SharedValueObservation.swift:127:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
125 | {
126 | SharedValueObservation(scheduling: scheduler, extent: extent) { onError, onChange in
127 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
128 | }
129 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:239:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
237 | self
238 | .mapReducer { reducer in
239 | ValueReducers.Trace(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
240 | base: reducer,
241 | // Adding the willFetch handler to the reducer is handy: we
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:358:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
356 | {
357 | AsyncValueObservation(bufferingPolicy: bufferingPolicy) { onError, onChange in
358 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
359 | }
360 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:492:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
490 | {
491 | DatabasePublishers.Value { (onError, onChange) in
492 | self.start(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
493 | in: reader,
494 | scheduling: scheduler,
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:577:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
575 | remainingDemand: demand))
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
578 | { [weak self] value in self?.receive(value) })
579 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:578:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
578 | { [weak self] value in self?.receive(value) })
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
579 |
580 | // State may have been altered (error or cancellation)
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[169/173] Compiling GRDB ValueObservation.swift
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:351:59: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
349 | // open until we grab a write access, and compare the database versions.
350 | databaseAccess.dbPool.asyncWALSnapshotTransaction { result in
351 | let (isNotifying, databaseAccess) = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
352 | (self.notificationCallbacks != nil, self.databaseAccess)
353 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:367:32: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
365 | let db = try dbResult.get()
366 |
367 | switch self.trackingMode {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
368 | case let .constantRegion(regions):
369 | fetchedValue = try databaseAccess.fetch(db)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:383:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
381 | // a database dispatch queue longer than necessary.
382 | self.reduceQueue.async {
383 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
384 | guard isNotifying else { return /* Cancelled */ }
385 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:393:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
391 | // Notify
392 | self.scheduler.schedule {
393 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
394 | guard let onChange else { return /* Cancelled */ }
395 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:444:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
442 |
443 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
444 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
445 | guard let events else { return /* Cancelled */ }
446 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:494:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
492 | // between transactions and notifications!
493 | self.reduceQueue.async {
494 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
495 | guard isNotifying else { return /* Cancelled */ }
496 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:503:56: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
501 | if let value {
502 | self.scheduler.schedule {
503 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
504 | guard let onChange else { return /* Cancelled */ }
505 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:511:37: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
509 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
510 | dbPool?.asyncWriteWithoutTransaction { writerDB in
511 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
512 | }
513 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:590:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
588 | // transaction to complete.
589 | databaseAccess.dbPool.asyncRead { dbResult in
590 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
591 | guard isNotifying else { return /* Cancelled */ }
592 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:615:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
613 | // a database dispatch queue longer than necessary.
614 | self.reduceQueue.async {
615 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
616 | guard isNotifying else { return /* Cancelled */ }
617 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:625:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
623 | // Notify
624 | self.scheduler.schedule {
625 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
626 | guard let onChange else { return /* Cancelled */ }
627 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:649:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
647 | {
648 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
649 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
650 | guard let events else { return /* Cancelled */ }
651 | events.databaseDidChange?()
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:681:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
679 | // between transactions and notifications!
680 | self.reduceQueue.async {
681 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
682 | guard isNotifying else { return /* Cancelled */ }
683 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:690:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
688 | if let value {
689 | self.scheduler.schedule {
690 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
691 | guard let onChange else { return /* Cancelled */ }
692 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:698:33: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
696 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
697 | dbPool?.asyncWriteWithoutTransaction { writerDB in
698 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
699 | }
700 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:809:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
807 | private func asyncFetch(databaseAccess: DatabaseAccess) {
808 | databaseAccess.dbPool.asyncRead { [self] dbResult in
809 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
810 | guard isNotifying else { return /* Cancelled */ }
811 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:843:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
841 | let fetchedValue = try fetchResult.get()
842 |
843 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
844 | guard isNotifying else { return /* Cancelled */ }
845 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:851:40: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
849 | if let value {
850 | self.scheduler.schedule {
851 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
852 | guard let onChange else { return /* Cancelled */ }
853 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:859:21: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
857 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
858 | dbPool?.asyncWriteWithoutTransaction { writerDB in
859 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
860 | }
861 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:893:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
891 | guard let dbPool else { return /* Failed */ }
892 | dbPool.asyncWriteWithoutTransaction { db in
893 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
894 | }
895 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:899:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
897 | func notifyError(_ error: Error) {
898 | scheduler.schedule {
899 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
900 | let events = self.notificationCallbacks?.events
901 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:255:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
253 | do {
254 | // Fetch & Start observing the database
255 | guard let _fetchedValue = try self.fetchAndStartObservation(db) else {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
256 | return /* Cancelled */
257 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:269:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
267 | // between transactions and notifications!
268 | self.reduceQueue.async {
269 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
270 | guard isNotifying else { return /* Cancelled */ }
271 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:279:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
277 | // Notify
278 | self.scheduler.schedule {
279 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
280 | guard let onChange else { return /* Cancelled */ }
281 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:286:29: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
284 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
285 | writer?.asyncWriteWithoutTransaction { db in
286 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
287 | }
288 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:413:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
411 | // transactions and notifications!
412 | reduceQueue.async {
413 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
414 | guard isNotifying else { return /* Cancelled */ }
415 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:422:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
420 | if let value {
421 | self.scheduler.schedule {
422 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
423 | guard let onChange else { return /* Cancelled */ }
424 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:430:25: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
428 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
429 | writer?.asyncWriteWithoutTransaction { db in
430 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
431 | }
432 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:468:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
466 | guard let writer else { return /* Failed */ }
467 | writer.asyncWriteWithoutTransaction { db in
468 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
469 | }
470 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:474:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
472 | func notifyError(_ error: Error) {
473 | scheduler.schedule {
474 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
475 | let events = self.notificationCallbacks?.events
476 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/Map.swift:24:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
22 | -> ValueObservation<ValueReducers.Map<Reducer, T>>
23 | {
24 | mapReducer { ValueReducers.Map($0, transform) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:23:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
21 | nonisolated(unsafe) let predicate = predicate
22 |
23 | return mapReducer { ValueReducers.RemoveDuplicates($0, predicate: predicate) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
24 | }
25 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:73:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
71 | -> ValueObservation<ValueReducers.RemoveDuplicates<Reducer>>
72 | {
73 | mapReducer { ValueReducers.RemoveDuplicates($0, predicate: ==) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
74 | }
75 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/SharedValueObservation.swift:127:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
125 | {
126 | SharedValueObservation(scheduling: scheduler, extent: extent) { onError, onChange in
127 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
128 | }
129 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:239:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
237 | self
238 | .mapReducer { reducer in
239 | ValueReducers.Trace(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
240 | base: reducer,
241 | // Adding the willFetch handler to the reducer is handy: we
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:358:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
356 | {
357 | AsyncValueObservation(bufferingPolicy: bufferingPolicy) { onError, onChange in
358 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
359 | }
360 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:492:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
490 | {
491 | DatabasePublishers.Value { (onError, onChange) in
492 | self.start(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
493 | in: reader,
494 | scheduling: scheduler,
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:577:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
575 | remainingDemand: demand))
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
578 | { [weak self] value in self?.receive(value) })
579 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:578:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
578 | { [weak self] value in self?.receive(value) })
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
579 |
580 | // State may have been altered (error or cancellation)
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[170/173] Compiling GRDB ValueObservationScheduler.swift
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:351:59: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
349 | // open until we grab a write access, and compare the database versions.
350 | databaseAccess.dbPool.asyncWALSnapshotTransaction { result in
351 | let (isNotifying, databaseAccess) = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
352 | (self.notificationCallbacks != nil, self.databaseAccess)
353 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:367:32: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
365 | let db = try dbResult.get()
366 |
367 | switch self.trackingMode {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
368 | case let .constantRegion(regions):
369 | fetchedValue = try databaseAccess.fetch(db)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:383:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
381 | // a database dispatch queue longer than necessary.
382 | self.reduceQueue.async {
383 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
384 | guard isNotifying else { return /* Cancelled */ }
385 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:393:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
391 | // Notify
392 | self.scheduler.schedule {
393 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
394 | guard let onChange else { return /* Cancelled */ }
395 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:444:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
442 |
443 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
444 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
445 | guard let events else { return /* Cancelled */ }
446 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:494:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
492 | // between transactions and notifications!
493 | self.reduceQueue.async {
494 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
495 | guard isNotifying else { return /* Cancelled */ }
496 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:503:56: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
501 | if let value {
502 | self.scheduler.schedule {
503 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
504 | guard let onChange else { return /* Cancelled */ }
505 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:511:37: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
509 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
510 | dbPool?.asyncWriteWithoutTransaction { writerDB in
511 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
512 | }
513 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:590:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
588 | // transaction to complete.
589 | databaseAccess.dbPool.asyncRead { dbResult in
590 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
591 | guard isNotifying else { return /* Cancelled */ }
592 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:615:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
613 | // a database dispatch queue longer than necessary.
614 | self.reduceQueue.async {
615 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
616 | guard isNotifying else { return /* Cancelled */ }
617 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:625:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
623 | // Notify
624 | self.scheduler.schedule {
625 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
626 | guard let onChange else { return /* Cancelled */ }
627 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:649:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
647 | {
648 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
649 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
650 | guard let events else { return /* Cancelled */ }
651 | events.databaseDidChange?()
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:681:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
679 | // between transactions and notifications!
680 | self.reduceQueue.async {
681 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
682 | guard isNotifying else { return /* Cancelled */ }
683 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:690:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
688 | if let value {
689 | self.scheduler.schedule {
690 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
691 | guard let onChange else { return /* Cancelled */ }
692 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:698:33: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
696 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
697 | dbPool?.asyncWriteWithoutTransaction { writerDB in
698 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
699 | }
700 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:809:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
807 | private func asyncFetch(databaseAccess: DatabaseAccess) {
808 | databaseAccess.dbPool.asyncRead { [self] dbResult in
809 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
810 | guard isNotifying else { return /* Cancelled */ }
811 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:843:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
841 | let fetchedValue = try fetchResult.get()
842 |
843 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
844 | guard isNotifying else { return /* Cancelled */ }
845 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:851:40: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
849 | if let value {
850 | self.scheduler.schedule {
851 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
852 | guard let onChange else { return /* Cancelled */ }
853 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:859:21: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
857 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
858 | dbPool?.asyncWriteWithoutTransaction { writerDB in
859 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
860 | }
861 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:893:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
891 | guard let dbPool else { return /* Failed */ }
892 | dbPool.asyncWriteWithoutTransaction { db in
893 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
894 | }
895 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:899:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
897 | func notifyError(_ error: Error) {
898 | scheduler.schedule {
899 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
900 | let events = self.notificationCallbacks?.events
901 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:255:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
253 | do {
254 | // Fetch & Start observing the database
255 | guard let _fetchedValue = try self.fetchAndStartObservation(db) else {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
256 | return /* Cancelled */
257 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:269:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
267 | // between transactions and notifications!
268 | self.reduceQueue.async {
269 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
270 | guard isNotifying else { return /* Cancelled */ }
271 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:279:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
277 | // Notify
278 | self.scheduler.schedule {
279 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
280 | guard let onChange else { return /* Cancelled */ }
281 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:286:29: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
284 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
285 | writer?.asyncWriteWithoutTransaction { db in
286 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
287 | }
288 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:413:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
411 | // transactions and notifications!
412 | reduceQueue.async {
413 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
414 | guard isNotifying else { return /* Cancelled */ }
415 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:422:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
420 | if let value {
421 | self.scheduler.schedule {
422 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
423 | guard let onChange else { return /* Cancelled */ }
424 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:430:25: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
428 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
429 | writer?.asyncWriteWithoutTransaction { db in
430 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
431 | }
432 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:468:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
466 | guard let writer else { return /* Failed */ }
467 | writer.asyncWriteWithoutTransaction { db in
468 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
469 | }
470 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:474:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
472 | func notifyError(_ error: Error) {
473 | scheduler.schedule {
474 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
475 | let events = self.notificationCallbacks?.events
476 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/Map.swift:24:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
22 | -> ValueObservation<ValueReducers.Map<Reducer, T>>
23 | {
24 | mapReducer { ValueReducers.Map($0, transform) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:23:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
21 | nonisolated(unsafe) let predicate = predicate
22 |
23 | return mapReducer { ValueReducers.RemoveDuplicates($0, predicate: predicate) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
24 | }
25 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:73:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
71 | -> ValueObservation<ValueReducers.RemoveDuplicates<Reducer>>
72 | {
73 | mapReducer { ValueReducers.RemoveDuplicates($0, predicate: ==) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
74 | }
75 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/SharedValueObservation.swift:127:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
125 | {
126 | SharedValueObservation(scheduling: scheduler, extent: extent) { onError, onChange in
127 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
128 | }
129 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:239:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
237 | self
238 | .mapReducer { reducer in
239 | ValueReducers.Trace(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
240 | base: reducer,
241 | // Adding the willFetch handler to the reducer is handy: we
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:358:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
356 | {
357 | AsyncValueObservation(bufferingPolicy: bufferingPolicy) { onError, onChange in
358 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
359 | }
360 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:492:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
490 | {
491 | DatabasePublishers.Value { (onError, onChange) in
492 | self.start(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
493 | in: reader,
494 | scheduling: scheduler,
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:577:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
575 | remainingDemand: demand))
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
578 | { [weak self] value in self?.receive(value) })
579 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:578:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
578 | { [weak self] value in self?.receive(value) })
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
579 |
580 | // State may have been altered (error or cancellation)
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[171/173] Compiling GRDB resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:351:59: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
349 | // open until we grab a write access, and compare the database versions.
350 | databaseAccess.dbPool.asyncWALSnapshotTransaction { result in
351 | let (isNotifying, databaseAccess) = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
352 | (self.notificationCallbacks != nil, self.databaseAccess)
353 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:367:32: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
365 | let db = try dbResult.get()
366 |
367 | switch self.trackingMode {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
368 | case let .constantRegion(regions):
369 | fetchedValue = try databaseAccess.fetch(db)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:383:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
381 | // a database dispatch queue longer than necessary.
382 | self.reduceQueue.async {
383 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
384 | guard isNotifying else { return /* Cancelled */ }
385 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:393:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
391 | // Notify
392 | self.scheduler.schedule {
393 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
394 | guard let onChange else { return /* Cancelled */ }
395 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:444:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
442 |
443 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
444 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
445 | guard let events else { return /* Cancelled */ }
446 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:494:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
492 | // between transactions and notifications!
493 | self.reduceQueue.async {
494 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
495 | guard isNotifying else { return /* Cancelled */ }
496 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:503:56: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
501 | if let value {
502 | self.scheduler.schedule {
503 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
504 | guard let onChange else { return /* Cancelled */ }
505 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:511:37: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
509 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
510 | dbPool?.asyncWriteWithoutTransaction { writerDB in
511 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
512 | }
513 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:590:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
588 | // transaction to complete.
589 | databaseAccess.dbPool.asyncRead { dbResult in
590 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
591 | guard isNotifying else { return /* Cancelled */ }
592 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:615:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
613 | // a database dispatch queue longer than necessary.
614 | self.reduceQueue.async {
615 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
616 | guard isNotifying else { return /* Cancelled */ }
617 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:625:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
623 | // Notify
624 | self.scheduler.schedule {
625 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
626 | guard let onChange else { return /* Cancelled */ }
627 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:649:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
647 | {
648 | databaseAccess.dbPool.asyncWriteWithoutTransaction { writerDB in
649 | let events = self.lock.synchronized { self.notificationCallbacks?.events }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
650 | guard let events else { return /* Cancelled */ }
651 | events.databaseDidChange?()
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:681:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
679 | // between transactions and notifications!
680 | self.reduceQueue.async {
681 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
682 | guard isNotifying else { return /* Cancelled */ }
683 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:690:52: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
688 | if let value {
689 | self.scheduler.schedule {
690 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
691 | guard let onChange else { return /* Cancelled */ }
692 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:698:33: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
696 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
697 | dbPool?.asyncWriteWithoutTransaction { writerDB in
698 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
699 | }
700 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:809:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
807 | private func asyncFetch(databaseAccess: DatabaseAccess) {
808 | databaseAccess.dbPool.asyncRead { [self] dbResult in
809 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
810 | guard isNotifying else { return /* Cancelled */ }
811 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:843:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
841 | let fetchedValue = try fetchResult.get()
842 |
843 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
844 | guard isNotifying else { return /* Cancelled */ }
845 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:851:40: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
849 | if let value {
850 | self.scheduler.schedule {
851 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
852 | guard let onChange else { return /* Cancelled */ }
853 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:859:21: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
857 | let dbPool = self.lock.synchronized { self.databaseAccess?.dbPool }
858 | dbPool?.asyncWriteWithoutTransaction { writerDB in
859 | self.stopDatabaseObservation(writerDB)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
860 | }
861 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:893:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
891 | guard let dbPool else { return /* Failed */ }
892 | dbPool.asyncWriteWithoutTransaction { db in
893 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
894 | }
895 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueConcurrentObserver.swift:899:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
897 | func notifyError(_ error: Error) {
898 | scheduler.schedule {
899 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
900 | let events = self.notificationCallbacks?.events
901 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:255:47: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
253 | do {
254 | // Fetch & Start observing the database
255 | guard let _fetchedValue = try self.fetchAndStartObservation(db) else {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
256 | return /* Cancelled */
257 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:269:39: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
267 | // between transactions and notifications!
268 | self.reduceQueue.async {
269 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
270 | guard isNotifying else { return /* Cancelled */ }
271 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:279:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
277 | // Notify
278 | self.scheduler.schedule {
279 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
280 | guard let onChange else { return /* Cancelled */ }
281 | onChange(initialValue)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:286:29: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
284 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
285 | writer?.asyncWriteWithoutTransaction { db in
286 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
287 | }
288 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:413:35: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
411 | // transactions and notifications!
412 | reduceQueue.async {
413 | let isNotifying = self.lock.synchronized { self.notificationCallbacks != nil }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
414 | guard isNotifying else { return /* Cancelled */ }
415 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:422:44: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
420 | if let value {
421 | self.scheduler.schedule {
422 | let onChange = self.lock.synchronized { self.notificationCallbacks?.onChange }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
423 | guard let onChange else { return /* Cancelled */ }
424 | onChange(value)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:430:25: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
428 | let writer = self.lock.synchronized { self.databaseAccess?.writer }
429 | writer?.asyncWriteWithoutTransaction { db in
430 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
431 | }
432 | self.notifyError(error)
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:468:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
466 | guard let writer else { return /* Failed */ }
467 | writer.asyncWriteWithoutTransaction { db in
468 | self.stopDatabaseObservation(db)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
469 | }
470 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Observers/ValueWriteOnlyObserver.swift:474:26: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
472 | func notifyError(_ error: Error) {
473 | scheduler.schedule {
474 | let events = self.lock.synchronized {
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
475 | let events = self.notificationCallbacks?.events
476 | self.notificationCallbacks = nil
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/Map.swift:24:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
22 | -> ValueObservation<ValueReducers.Map<Reducer, T>>
23 | {
24 | mapReducer { ValueReducers.Map($0, transform) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
25 | }
26 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:23:43: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
21 | nonisolated(unsafe) let predicate = predicate
22 |
23 | return mapReducer { ValueReducers.RemoveDuplicates($0, predicate: predicate) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
24 | }
25 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/Reducers/RemoveDuplicates.swift:73:36: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
71 | -> ValueObservation<ValueReducers.RemoveDuplicates<Reducer>>
72 | {
73 | mapReducer { ValueReducers.RemoveDuplicates($0, predicate: ==) }
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
74 | }
75 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/SharedValueObservation.swift:127:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
125 | {
126 | SharedValueObservation(scheduling: scheduler, extent: extent) { onError, onChange in
127 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
128 | }
129 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'R.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:42:28: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
40 | requiresWriteAccess: requiresWriteAccess,
41 | trackingMode: trackingMode,
42 | makeReducer: { transform(makeReducer()) })
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
43 | }
44 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:239:31: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
237 | self
238 | .mapReducer { reducer in
239 | ValueReducers.Trace(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
240 | base: reducer,
241 | // Adding the willFetch handler to the reducer is handy: we
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:358:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
356 | {
357 | AsyncValueObservation(bufferingPolicy: bufferingPolicy) { onError, onChange in
358 | self.start(in: reader, scheduling: scheduler, onError: onError, onChange: onChange)
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
359 | }
360 | }
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:492:13: warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
490 | {
491 | DatabasePublishers.Value { (onError, onChange) in
492 | self.start(
| `- warning: capture of non-Sendable type 'Reducer.Type' in an isolated closure [#SendableMetatypes]
493 | in: reader,
494 | scheduling: scheduler,
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:577:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
575 | remainingDemand: demand))
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
578 | { [weak self] value in self?.receive(value) })
579 |
/Users/admin/builder/spi-builder-workspace/GRDB/ValueObservation/ValueObservation.swift:578:52: warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
576 | let cancellable = info.start(
577 | { [weak self] error in self?.receiveCompletion(.failure(error)) },
578 | { [weak self] value in self?.receive(value) })
| `- warning: capture of non-Sendable type 'Downstream.Type' in an isolated closure [#SendableMetatypes]
579 |
580 | // State may have been altered (error or cancellation)
[#SendableMetatypes]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-metatypes>
[171/173] Write Objects.LinkFileList
[172/173] Linking libGRDB-dynamic.dylib
Build complete! (15.15s)
Build complete.
{
"default_localization" : "en",
"dependencies" : [
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin"
}
],
"manifest_display_name" : "GRDB",
"name" : "GRDB",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "7.0"
}
],
"products" : [
{
"name" : "GRDBSQLite",
"targets" : [
"GRDBSQLite"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "GRDB",
"targets" : [
"GRDB"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "GRDB-dynamic",
"targets" : [
"GRDB"
],
"type" : {
"library" : [
"dynamic"
]
}
}
],
"swift_languages_versions" : [
"6"
],
"targets" : [
{
"c99name" : "GRDBTests",
"module_type" : "SwiftTarget",
"name" : "GRDBTests",
"path" : "Tests",
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/GRDBTests/Betty.jpeg",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/GRDBTests/InflectionsTests.json",
"rule" : {
"copy" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/GRDBTests/Issue1383.sqlite",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"CombineExpectations/PublisherExpectation.swift",
"CombineExpectations/PublisherExpectations/AvailableElements.swift",
"CombineExpectations/PublisherExpectations/Finished.swift",
"CombineExpectations/PublisherExpectations/Inverted.swift",
"CombineExpectations/PublisherExpectations/Map.swift",
"CombineExpectations/PublisherExpectations/Next.swift",
"CombineExpectations/PublisherExpectations/NextOne.swift",
"CombineExpectations/PublisherExpectations/Prefix.swift",
"CombineExpectations/PublisherExpectations/Recording.swift",
"CombineExpectations/Recorder.swift",
"CombineExpectations/RecordingError.swift",
"GRDBCombineTests/DatabaseReaderReadPublisherTests.swift",
"GRDBCombineTests/DatabaseRegionObservationPublisherTests.swift",
"GRDBCombineTests/DatabaseWriterWritePublisherTests.swift",
"GRDBCombineTests/Support.swift",
"GRDBCombineTests/ValueObservationPublisherTests.swift",
"GRDBTests/AnyCursorTests.swift",
"GRDBTests/AssociationAggregateTests.swift",
"GRDBTests/AssociationBelongsToDecodableRecordTests.swift",
"GRDBTests/AssociationBelongsToFetchableRecordTests.swift",
"GRDBTests/AssociationBelongsToRowScopeTests.swift",
"GRDBTests/AssociationBelongsToSQLDerivationTests.swift",
"GRDBTests/AssociationBelongsToSQLTests.swift",
"GRDBTests/AssociationChainRowScopesTests.swift",
"GRDBTests/AssociationChainSQLTests.swift",
"GRDBTests/AssociationHasManyOrderingTests.swift",
"GRDBTests/AssociationHasManyRowScopeTests.swift",
"GRDBTests/AssociationHasManySQLTests.swift",
"GRDBTests/AssociationHasManyThroughOrderingTests.swift",
"GRDBTests/AssociationHasManyThroughRowScopeTests.swift",
"GRDBTests/AssociationHasManyThroughSQLTests.swift",
"GRDBTests/AssociationHasOneSQLDerivationTests.swift",
"GRDBTests/AssociationHasOneSQLTests.swift",
"GRDBTests/AssociationHasOneThroughDecodableRecordTests.swift",
"GRDBTests/AssociationHasOneThroughFetchableRecordTests.swift",
"GRDBTests/AssociationHasOneThroughRowScopeTests.swift",
"GRDBTests/AssociationHasOneThroughSQLDerivationTests.swift",
"GRDBTests/AssociationHasOneThroughSQLTests.swift",
"GRDBTests/AssociationParallelDecodableRecordTests.swift",
"GRDBTests/AssociationParallelRowScopesTests.swift",
"GRDBTests/AssociationParallelSQLTests.swift",
"GRDBTests/AssociationPrefetchingCodableRecordTests.swift",
"GRDBTests/AssociationPrefetchingFetchableRecordTests.swift",
"GRDBTests/AssociationPrefetchingObservationTests.swift",
"GRDBTests/AssociationPrefetchingRelationTests.swift",
"GRDBTests/AssociationPrefetchingRowTests.swift",
"GRDBTests/AssociationPrefetchingSQLTests.swift",
"GRDBTests/AssociationRowScopeSearchTests.swift",
"GRDBTests/AssociationTableAliasTestsSQLTests.swift",
"GRDBTests/AsyncSemaphore.swift",
"GRDBTests/BackupTestCase.swift",
"GRDBTests/CGFloatTests.swift",
"GRDBTests/CaseInsensitiveIdentifierTests.swift",
"GRDBTests/ColumnExpressionTests.swift",
"GRDBTests/ColumnInfoTests.swift",
"GRDBTests/CommonTableExpressionTests.swift",
"GRDBTests/CompilationProtocolTests.swift",
"GRDBTests/CompilationSubClassTests.swift",
"GRDBTests/CursorTests.swift",
"GRDBTests/DataMemoryTests.swift",
"GRDBTests/DatabaseAbortedTransactionTests.swift",
"GRDBTests/DatabaseAfterNextTransactionCommitTests.swift",
"GRDBTests/DatabaseAggregateTests.swift",
"GRDBTests/DatabaseCollationTests.swift",
"GRDBTests/DatabaseColumnEncodingStrategyTests.swift",
"GRDBTests/DatabaseConfigurationTests.swift",
"GRDBTests/DatabaseCursorTests.swift",
"GRDBTests/DatabaseDataDecodingStrategyTests.swift",
"GRDBTests/DatabaseDataEncodingStrategyTests.swift",
"GRDBTests/DatabaseDateDecodingStrategyTests.swift",
"GRDBTests/DatabaseDateEncodingStrategyTests.swift",
"GRDBTests/DatabaseDumpTests.swift",
"GRDBTests/DatabaseErrorTests.swift",
"GRDBTests/DatabaseFunctionTests.swift",
"GRDBTests/DatabaseLogErrorTests.swift",
"GRDBTests/DatabaseMigratorTests.swift",
"GRDBTests/DatabasePoolBackupTests.swift",
"GRDBTests/DatabasePoolCollationTests.swift",
"GRDBTests/DatabasePoolConcurrencyTests.swift",
"GRDBTests/DatabasePoolFunctionTests.swift",
"GRDBTests/DatabasePoolReadOnlyTests.swift",
"GRDBTests/DatabasePoolReleaseMemoryTests.swift",
"GRDBTests/DatabasePoolSchemaCacheTests.swift",
"GRDBTests/DatabasePoolTests.swift",
"GRDBTests/DatabaseQueueBackupTests.swift",
"GRDBTests/DatabaseQueueConcurrencyTests.swift",
"GRDBTests/DatabaseQueueInMemoryCopyTests.swift",
"GRDBTests/DatabaseQueueInMemoryTests.swift",
"GRDBTests/DatabaseQueueReadOnlyTests.swift",
"GRDBTests/DatabaseQueueReleaseMemoryTests.swift",
"GRDBTests/DatabaseQueueSchemaCacheTests.swift",
"GRDBTests/DatabaseQueueTemporaryCopyTests.swift",
"GRDBTests/DatabaseQueueTests.swift",
"GRDBTests/DatabaseReaderDumpTests.swift",
"GRDBTests/DatabaseReaderTests.swift",
"GRDBTests/DatabaseRegionObservationTests.swift",
"GRDBTests/DatabaseRegionTests.swift",
"GRDBTests/DatabaseSavepointTests.swift",
"GRDBTests/DatabaseSnapshotPoolTests.swift",
"GRDBTests/DatabaseSnapshotTests.swift",
"GRDBTests/DatabaseSuspensionTests.swift",
"GRDBTests/DatabaseTests.swift",
"GRDBTests/DatabaseTimestampTests.swift",
"GRDBTests/DatabaseTraceTests.swift",
"GRDBTests/DatabaseUUIDEncodingStrategyTests.swift",
"GRDBTests/DatabaseValueConversionErrorTests.swift",
"GRDBTests/DatabaseValueConversionTests.swift",
"GRDBTests/DatabaseValueConvertibleDecodableTests.swift",
"GRDBTests/DatabaseValueConvertibleEncodableTests.swift",
"GRDBTests/DatabaseValueConvertibleEscapingTests.swift",
"GRDBTests/DatabaseValueConvertibleFetchTests.swift",
"GRDBTests/DatabaseValueConvertibleSubclassTests.swift",
"GRDBTests/DatabaseValueTests.swift",
"GRDBTests/DatabaseWriterTests.swift",
"GRDBTests/DerivableRequestTests.swift",
"GRDBTests/DropFirstCursorTests.swift",
"GRDBTests/DropWhileCursorTests.swift",
"GRDBTests/EncryptionTests.swift",
"GRDBTests/EnumeratedCursorTests.swift",
"GRDBTests/FTS3PatternTests.swift",
"GRDBTests/FTS3RecordTests.swift",
"GRDBTests/FTS3TableBuilderTests.swift",
"GRDBTests/FTS3TokenizerTests.swift",
"GRDBTests/FTS4RecordTests.swift",
"GRDBTests/FTS4TableBuilderTests.swift",
"GRDBTests/FTS5CustomTokenizerTests.swift",
"GRDBTests/FTS5PatternTests.swift",
"GRDBTests/FTS5RecordTests.swift",
"GRDBTests/FTS5TableBuilderTests.swift",
"GRDBTests/FTS5TokenizerTests.swift",
"GRDBTests/FTS5WrapperTokenizerTests.swift",
"GRDBTests/FailureTestCase.swift",
"GRDBTests/FetchRequestTests.swift",
"GRDBTests/FetchableRecord+QueryInterfaceRequestTests.swift",
"GRDBTests/FetchableRecordDecodableTests.swift",
"GRDBTests/FetchableRecordTests.swift",
"GRDBTests/FilterCursorTests.swift",
"GRDBTests/FlattenCursorTests.swift",
"GRDBTests/ForeignKeyDefinitionTests.swift",
"GRDBTests/ForeignKeyInfoTests.swift",
"GRDBTests/FoundationDataTests.swift",
"GRDBTests/FoundationDateComponentsTests.swift",
"GRDBTests/FoundationDateTests.swift",
"GRDBTests/FoundationDecimalTests.swift",
"GRDBTests/FoundationNSDataTests.swift",
"GRDBTests/FoundationNSDateTests.swift",
"GRDBTests/FoundationNSDecimalNumberTests.swift",
"GRDBTests/FoundationNSNullTests.swift",
"GRDBTests/FoundationNSNumberTests.swift",
"GRDBTests/FoundationNSStringTests.swift",
"GRDBTests/FoundationNSURLTests.swift",
"GRDBTests/FoundationNSUUIDTests.swift",
"GRDBTests/FoundationURLTests.swift",
"GRDBTests/FoundationUUIDTests.swift",
"GRDBTests/GRDBTestCase.swift",
"GRDBTests/IndexInfoTests.swift",
"GRDBTests/InflectionsTests.swift",
"GRDBTests/JSONColumnTests.swift",
"GRDBTests/JSONExpressionsTests.swift",
"GRDBTests/JoinSupportTests.swift",
"GRDBTests/MapCursorTests.swift",
"GRDBTests/MutablePersistableRecordChangesTests.swift",
"GRDBTests/MutablePersistableRecordEncodableTests.swift",
"GRDBTests/MutablePersistableRecordPersistenceConflictPolicyTests.swift",
"GRDBTests/MutablePersistableRecordTests.swift",
"GRDBTests/Mutex.swift",
"GRDBTests/NumericOverflowTests.swift",
"GRDBTests/OrderedDictionaryTests.swift",
"GRDBTests/PersistableRecordTests.swift",
"GRDBTests/PoolTests.swift",
"GRDBTests/PrefixCursorTests.swift",
"GRDBTests/PrefixWhileCursorTests.swift",
"GRDBTests/PrimaryKeyInfoTests.swift",
"GRDBTests/QueryInterfaceExpressionsTests.swift",
"GRDBTests/QueryInterfaceExtensibilityTests.swift",
"GRDBTests/QueryInterfacePromiseTests.swift",
"GRDBTests/QueryInterfaceRequestTests.swift",
"GRDBTests/RawRepresentable+DatabaseValueConvertibleTests.swift",
"GRDBTests/Record+QueryInterfaceRequestTests.swift",
"GRDBTests/RecordEditedTests.swift",
"GRDBTests/RecordInitializersTests.swift",
"GRDBTests/RecordMinimalNonOptionalPrimaryKeySingleTests.swift",
"GRDBTests/RecordMinimalPrimaryKeyRowIDTests.swift",
"GRDBTests/RecordMinimalPrimaryKeySingleTests.swift",
"GRDBTests/RecordPersistenceConflictPolicy.swift",
"GRDBTests/RecordPrimaryKeyHiddenRowIDTests.swift",
"GRDBTests/RecordPrimaryKeyMultipleTests.swift",
"GRDBTests/RecordPrimaryKeyNoneTests.swift",
"GRDBTests/RecordPrimaryKeyRowIDTests.swift",
"GRDBTests/RecordPrimaryKeySingleTests.swift",
"GRDBTests/RecordPrimaryKeySingleWithReplaceConflictResolutionTests.swift",
"GRDBTests/RecordSubClassTests.swift",
"GRDBTests/RecordUniqueIndexTests.swift",
"GRDBTests/RecordWithColumnNameManglingTests.swift",
"GRDBTests/ResultCodeTests.swift",
"GRDBTests/Row+FoundationTests.swift",
"GRDBTests/RowAdapterTests.swift",
"GRDBTests/RowCopiedFromStatementTests.swift",
"GRDBTests/RowFetchTests.swift",
"GRDBTests/RowFromDictionaryLiteralTests.swift",
"GRDBTests/RowFromDictionaryTests.swift",
"GRDBTests/RowFromStatementTests.swift",
"GRDBTests/RowTestCase.swift",
"GRDBTests/SQLExpressionIsConstantTests.swift",
"GRDBTests/SQLExpressionLiteralTests.swift",
"GRDBTests/SQLIdentifyingColumnsTests.swift",
"GRDBTests/SQLLiteralTests.swift",
"GRDBTests/SQLRequestTests.swift",
"GRDBTests/SchedulingWatchdogTests.swift",
"GRDBTests/SelectStatementTests.swift",
"GRDBTests/SharedValueObservationTests.swift",
"GRDBTests/SingletonRecordTest.swift",
"GRDBTests/SingletonUserDefaultsTest.swift",
"GRDBTests/StatementArguments+FoundationTests.swift",
"GRDBTests/StatementArgumentsTests.swift",
"GRDBTests/StatementColumnConvertibleFetchTests.swift",
"GRDBTests/TableDefinitionTests.swift",
"GRDBTests/TableRecord+QueryInterfaceRequestTests.swift",
"GRDBTests/TableRecordDeleteTests.swift",
"GRDBTests/TableRecordTests.swift",
"GRDBTests/TableRecordUpdateTests.swift",
"GRDBTests/TableTests.swift",
"GRDBTests/TransactionDateTests.swift",
"GRDBTests/TransactionObserverSavepointsTests.swift",
"GRDBTests/TransactionObserverTests.swift",
"GRDBTests/TruncateOptimizationTests.swift",
"GRDBTests/UpdateStatementTests.swift",
"GRDBTests/UtilsTests.swift",
"GRDBTests/ValueObservationCountTests.swift",
"GRDBTests/ValueObservationDatabaseValueConvertibleTests.swift",
"GRDBTests/ValueObservationFetchTests.swift",
"GRDBTests/ValueObservationMapTests.swift",
"GRDBTests/ValueObservationPrintTests.swift",
"GRDBTests/ValueObservationQueryInterfaceRequestTests.swift",
"GRDBTests/ValueObservationReadonlyTests.swift",
"GRDBTests/ValueObservationRecordTests.swift",
"GRDBTests/ValueObservationRecorder.swift",
"GRDBTests/ValueObservationRecorderTests.swift",
"GRDBTests/ValueObservationRegionRecordingTests.swift",
"GRDBTests/ValueObservationRowTests.swift",
"GRDBTests/ValueObservationTests.swift",
"GRDBTests/VirtualTableModuleTests.swift"
],
"target_dependencies" : [
"GRDB"
],
"type" : "test"
},
{
"c99name" : "GRDBSQLite",
"module_type" : "SystemLibraryTarget",
"name" : "GRDBSQLite",
"path" : "Sources/GRDBSQLite",
"product_memberships" : [
"GRDBSQLite",
"GRDB",
"GRDB-dynamic"
],
"sources" : [
],
"type" : "system-target"
},
{
"c99name" : "GRDB",
"module_type" : "SwiftTarget",
"name" : "GRDB",
"path" : "GRDB",
"product_memberships" : [
"GRDB",
"GRDB-dynamic"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/GRDB/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"Core/Configuration.swift",
"Core/Cursor.swift",
"Core/Database+Schema.swift",
"Core/Database+Statements.swift",
"Core/Database.swift",
"Core/DatabaseBackupProgress.swift",
"Core/DatabaseCollation.swift",
"Core/DatabaseError.swift",
"Core/DatabaseFunction.swift",
"Core/DatabasePool.swift",
"Core/DatabasePublishers.swift",
"Core/DatabaseQueue.swift",
"Core/DatabaseReader.swift",
"Core/DatabaseRegion.swift",
"Core/DatabaseRegionObservation.swift",
"Core/DatabaseSchemaCache.swift",
"Core/DatabaseSnapshot.swift",
"Core/DatabaseSnapshotPool.swift",
"Core/DatabaseValue.swift",
"Core/DatabaseValueConvertible.swift",
"Core/DatabaseWriter.swift",
"Core/FetchRequest.swift",
"Core/Row.swift",
"Core/RowAdapter.swift",
"Core/RowDecodingError.swift",
"Core/SQL.swift",
"Core/SQLInterpolation.swift",
"Core/SQLRequest.swift",
"Core/SchedulingWatchdog.swift",
"Core/SerializedDatabase.swift",
"Core/Statement.swift",
"Core/StatementAuthorizer.swift",
"Core/StatementColumnConvertible.swift",
"Core/Support/CoreGraphics/CGFloat.swift",
"Core/Support/Foundation/Data.swift",
"Core/Support/Foundation/DatabaseDateComponents.swift",
"Core/Support/Foundation/DatabaseValueConvertible+ReferenceConvertible.swift",
"Core/Support/Foundation/Date.swift",
"Core/Support/Foundation/Decimal.swift",
"Core/Support/Foundation/NSData.swift",
"Core/Support/Foundation/NSNull.swift",
"Core/Support/Foundation/NSNumber.swift",
"Core/Support/Foundation/NSString.swift",
"Core/Support/Foundation/SQLiteDateParser.swift",
"Core/Support/Foundation/URL.swift",
"Core/Support/Foundation/UUID.swift",
"Core/Support/StandardLibrary/DatabaseValueConvertible+Decodable.swift",
"Core/Support/StandardLibrary/DatabaseValueConvertible+Encodable.swift",
"Core/Support/StandardLibrary/DatabaseValueConvertible+RawRepresentable.swift",
"Core/Support/StandardLibrary/JSONRequiredEncoder.swift",
"Core/Support/StandardLibrary/Optional.swift",
"Core/Support/StandardLibrary/StandardLibrary.swift",
"Core/TransactionClock.swift",
"Core/TransactionObserver.swift",
"Core/WALSnapshot.swift",
"Core/WALSnapshotTransaction.swift",
"Dump/Database+Dump.swift",
"Dump/DatabaseReader+dump.swift",
"Dump/DumpFormat.swift",
"Dump/DumpFormats/DebugDumpFormat.swift",
"Dump/DumpFormats/JSONDumpFormat.swift",
"Dump/DumpFormats/LineDumpFormat.swift",
"Dump/DumpFormats/ListDumpFormat.swift",
"Dump/DumpFormats/QuoteDumpFormat.swift",
"FTS/FTS3.swift",
"FTS/FTS3Pattern.swift",
"FTS/FTS3TokenizerDescriptor.swift",
"FTS/FTS4.swift",
"FTS/FTS5.swift",
"FTS/FTS5CustomTokenizer.swift",
"FTS/FTS5Pattern.swift",
"FTS/FTS5Tokenizer.swift",
"FTS/FTS5TokenizerDescriptor.swift",
"FTS/FTS5WrapperTokenizer.swift",
"Fixits.swift",
"JSON/JSONColumn.swift",
"JSON/SQLJSONExpressible.swift",
"JSON/SQLJSONFunctions.swift",
"Migration/DatabaseMigrator.swift",
"Migration/Migration.swift",
"QueryInterface/FTS3+QueryInterface.swift",
"QueryInterface/FTS5+QueryInterface.swift",
"QueryInterface/ForeignKey.swift",
"QueryInterface/Request/Association/Association.swift",
"QueryInterface/Request/Association/AssociationAggregate.swift",
"QueryInterface/Request/Association/BelongsToAssociation.swift",
"QueryInterface/Request/Association/HasManyAssociation.swift",
"QueryInterface/Request/Association/HasManyThroughAssociation.swift",
"QueryInterface/Request/Association/HasOneAssociation.swift",
"QueryInterface/Request/Association/HasOneThroughAssociation.swift",
"QueryInterface/Request/Association/JoinAssociation.swift",
"QueryInterface/Request/CommonTableExpression.swift",
"QueryInterface/Request/QueryInterfaceRequest.swift",
"QueryInterface/Request/RequestProtocols.swift",
"QueryInterface/SQL/Column.swift",
"QueryInterface/SQL/DatabasePromise.swift",
"QueryInterface/SQL/SQLAssociation.swift",
"QueryInterface/SQL/SQLCollection.swift",
"QueryInterface/SQL/SQLExpression.swift",
"QueryInterface/SQL/SQLForeignKeyRequest.swift",
"QueryInterface/SQL/SQLFunctions.swift",
"QueryInterface/SQL/SQLOperators.swift",
"QueryInterface/SQL/SQLOrdering.swift",
"QueryInterface/SQL/SQLRelation.swift",
"QueryInterface/SQL/SQLSelection.swift",
"QueryInterface/SQL/SQLSubquery.swift",
"QueryInterface/SQL/Table.swift",
"QueryInterface/SQLGeneration/SQLColumnGenerator.swift",
"QueryInterface/SQLGeneration/SQLGenerationContext.swift",
"QueryInterface/SQLGeneration/SQLIndexGenerator.swift",
"QueryInterface/SQLGeneration/SQLQueryGenerator.swift",
"QueryInterface/SQLGeneration/SQLTableAlterationGenerator.swift",
"QueryInterface/SQLGeneration/SQLTableGenerator.swift",
"QueryInterface/SQLInterpolation+QueryInterface.swift",
"QueryInterface/Schema/ColumnDefinition.swift",
"QueryInterface/Schema/Database+SchemaDefinition.swift",
"QueryInterface/Schema/ForeignKeyDefinition.swift",
"QueryInterface/Schema/IndexDefinition.swift",
"QueryInterface/Schema/TableAlteration.swift",
"QueryInterface/Schema/TableDefinition.swift",
"QueryInterface/Schema/VirtualTableModule.swift",
"QueryInterface/TableRecord+Association.swift",
"QueryInterface/TableRecord+QueryInterfaceRequest.swift",
"Record/EncodableRecord+Encodable.swift",
"Record/EncodableRecord.swift",
"Record/FetchableRecord+Decodable.swift",
"Record/FetchableRecord+TableRecord.swift",
"Record/FetchableRecord.swift",
"Record/MutablePersistableRecord+DAO.swift",
"Record/MutablePersistableRecord+Delete.swift",
"Record/MutablePersistableRecord+Insert.swift",
"Record/MutablePersistableRecord+Save.swift",
"Record/MutablePersistableRecord+Update.swift",
"Record/MutablePersistableRecord+Upsert.swift",
"Record/MutablePersistableRecord.swift",
"Record/PersistableRecord+Insert.swift",
"Record/PersistableRecord+Save.swift",
"Record/PersistableRecord+Upsert.swift",
"Record/PersistableRecord.swift",
"Record/Record.swift",
"Record/TableRecord.swift",
"Utils/CaseInsensitiveIdentifier.swift",
"Utils/Inflections+English.swift",
"Utils/Inflections.swift",
"Utils/Mutex.swift",
"Utils/OnDemandFuture.swift",
"Utils/OrderedDictionary.swift",
"Utils/Pool.swift",
"Utils/ReadWriteLock.swift",
"Utils/ReceiveValuesOn.swift",
"Utils/Refinable.swift",
"Utils/Utils.swift",
"ValueObservation/DatabaseCancellable.swift",
"ValueObservation/Observers/ValueConcurrentObserver.swift",
"ValueObservation/Observers/ValueWriteOnlyObserver.swift",
"ValueObservation/Reducers/Fetch.swift",
"ValueObservation/Reducers/Map.swift",
"ValueObservation/Reducers/RemoveDuplicates.swift",
"ValueObservation/Reducers/Trace.swift",
"ValueObservation/Reducers/ValueReducer.swift",
"ValueObservation/SharedValueObservation.swift",
"ValueObservation/ValueObservation.swift",
"ValueObservation/ValueObservationScheduler.swift"
],
"target_dependencies" : [
"GRDBSQLite"
],
"type" : "library"
}
],
"tools_version" : "6.0"
}
Done.