Build Information
Successful build of FeedKit, reference 19.0.0 (4e170f
), with Swift 6.0 for macOS (SPM) on 2 Nov 2024 03:20:48 UTC.
Swift 6 data race errors: 11
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/michaelnisi/feedkit.git
Reference: 19.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/michaelnisi/feedkit
* tag 19.0.0 -> FETCH_HEAD
HEAD is now at 4e170f0 Update changelog
Cloned https://github.com/michaelnisi/feedkit.git
Revision (git rev-parse @):
4e170f0f07941467a3ce49ba06b60e34d601fa6c
SUCCESS checkout https://github.com/michaelnisi/feedkit.git at 19.0.0
Fetching https://github.com/michaelnisi/skull
Fetching https://github.com/michaelnisi/ola
Fetching https://github.com/michaelnisi/fanboy-kit
Fetching https://github.com/pointfreeco/swift-snapshot-testing
Fetching https://github.com/michaelnisi/patron
Fetching https://github.com/michaelnisi/manger-kit
[7/678] Fetching ola
[252/990] Fetching ola, manger-kit
[477/1219] Fetching ola, manger-kit, fanboy-kit
[706/7751] Fetching ola, manger-kit, fanboy-kit, patron
[772/8398] Fetching ola, manger-kit, fanboy-kit, patron, skull
Fetched https://github.com/michaelnisi/ola from cache (0.80s)
Fetched https://github.com/michaelnisi/manger-kit from cache (0.80s)
[1008/19844] Fetching fanboy-kit, patron, skull, swift-snapshot-testing
Fetched https://github.com/michaelnisi/patron from cache (2.60s)
Fetched https://github.com/michaelnisi/fanboy-kit from cache (2.63s)
Fetched https://github.com/pointfreeco/swift-snapshot-testing from cache (2.63s)
Fetched https://github.com/michaelnisi/skull from cache (2.63s)
Computing version for https://github.com/michaelnisi/skull
Computed https://github.com/michaelnisi/skull at 11.0.4 (2.71s)
Computing version for https://github.com/michaelnisi/ola
Computed https://github.com/michaelnisi/ola at 12.0.0 (0.67s)
Computing version for https://github.com/michaelnisi/fanboy-kit
Computed https://github.com/michaelnisi/fanboy-kit at 9.0.0 (0.66s)
Computing version for https://github.com/michaelnisi/manger-kit
Computed https://github.com/michaelnisi/manger-kit at 8.0.0 (0.68s)
Computing version for https://github.com/michaelnisi/patron
Computed https://github.com/michaelnisi/patron at 11.0.0 (0.67s)
Computing version for https://github.com/pointfreeco/swift-snapshot-testing
Computed https://github.com/pointfreeco/swift-snapshot-testing at 1.17.6 (0.64s)
Fetching https://github.com/swiftlang/swift-syntax
[1/66399] Fetching swift-syntax
Fetched https://github.com/swiftlang/swift-syntax from cache (29.13s)
Computing version for https://github.com/swiftlang/swift-syntax
Computed https://github.com/swiftlang/swift-syntax at 600.0.1 (0.73s)
Creating working copy for https://github.com/michaelnisi/patron
Working copy of https://github.com/michaelnisi/patron resolved at 11.0.0
Creating working copy for https://github.com/michaelnisi/fanboy-kit
Working copy of https://github.com/michaelnisi/fanboy-kit resolved at 9.0.0
Creating working copy for https://github.com/michaelnisi/manger-kit
Working copy of https://github.com/michaelnisi/manger-kit resolved at 8.0.0
Creating working copy for https://github.com/michaelnisi/skull
Working copy of https://github.com/michaelnisi/skull resolved at 11.0.4
Creating working copy for https://github.com/swiftlang/swift-syntax
Working copy of https://github.com/swiftlang/swift-syntax resolved at 600.0.1
Creating working copy for https://github.com/michaelnisi/ola
Working copy of https://github.com/michaelnisi/ola resolved at 12.0.0
Creating working copy for https://github.com/pointfreeco/swift-snapshot-testing
Working copy of https://github.com/pointfreeco/swift-snapshot-testing resolved at 1.17.6
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "feedkit",
"name": "FeedKit",
"url": "https://github.com/michaelnisi/feedkit.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/feedkit",
"dependencies": [
{
"identity": "manger-kit",
"name": "MangerKit",
"url": "https://github.com/michaelnisi/manger-kit",
"version": "8.0.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/manger-kit",
"dependencies": [
{
"identity": "patron",
"name": "Patron",
"url": "https://github.com/michaelnisi/patron",
"version": "11.0.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/patron",
"dependencies": [
]
}
]
},
{
"identity": "fanboy-kit",
"name": "FanboyKit",
"url": "https://github.com/michaelnisi/fanboy-kit",
"version": "9.0.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/fanboy-kit",
"dependencies": [
{
"identity": "patron",
"name": "Patron",
"url": "https://github.com/michaelnisi/patron",
"version": "11.0.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/patron",
"dependencies": [
]
}
]
},
{
"identity": "ola",
"name": "Ola",
"url": "https://github.com/michaelnisi/ola",
"version": "12.0.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/ola",
"dependencies": [
]
},
{
"identity": "skull",
"name": "Skull",
"url": "https://github.com/michaelnisi/skull",
"version": "11.0.4",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/skull",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/michaelnisi/feedkit.git
[1/5037] Fetching feedkit
Fetched https://github.com/michaelnisi/feedkit.git from cache (7.32s)
Fetching https://github.com/michaelnisi/manger-kit from cache
Fetching https://github.com/michaelnisi/ola from cache
Fetching https://github.com/michaelnisi/fanboy-kit from cache
Fetching https://github.com/michaelnisi/skull from cache
Fetched https://github.com/michaelnisi/fanboy-kit from cache (0.48s)
Fetched https://github.com/michaelnisi/manger-kit from cache (0.49s)
Fetched https://github.com/michaelnisi/ola from cache (0.49s)
Fetched https://github.com/michaelnisi/skull from cache (0.49s)
Computing version for https://github.com/michaelnisi/ola
Computed https://github.com/michaelnisi/ola at 12.0.0 (0.02s)
Computing version for https://github.com/michaelnisi/fanboy-kit
Computed https://github.com/michaelnisi/fanboy-kit at 9.0.0 (0.02s)
Fetching https://github.com/michaelnisi/patron from cache
Fetched https://github.com/michaelnisi/patron from cache (0.51s)
Computing version for https://github.com/michaelnisi/manger-kit
Computed https://github.com/michaelnisi/manger-kit at 8.0.0 (0.02s)
Computing version for https://github.com/michaelnisi/patron
Computed https://github.com/michaelnisi/patron at 11.0.0 (0.02s)
Computing version for https://github.com/michaelnisi/skull
Computed https://github.com/michaelnisi/skull at 11.0.4 (0.02s)
Creating working copy for https://github.com/michaelnisi/fanboy-kit
Working copy of https://github.com/michaelnisi/fanboy-kit resolved at 9.0.0
Creating working copy for https://github.com/michaelnisi/manger-kit
Working copy of https://github.com/michaelnisi/manger-kit resolved at 8.0.0
Creating working copy for https://github.com/michaelnisi/ola
Working copy of https://github.com/michaelnisi/ola resolved at 12.0.0
Creating working copy for https://github.com/michaelnisi/patron
Working copy of https://github.com/michaelnisi/patron resolved at 11.0.0
Creating working copy for https://github.com/michaelnisi/skull
Working copy of https://github.com/michaelnisi/skull resolved at 11.0.4
Creating working copy for https://github.com/michaelnisi/feedkit.git
Working copy of https://github.com/michaelnisi/feedkit.git resolved at 19.0.0 (4e170f0)
warning: '.resolve-product-dependencies': dependency 'feedkit' is not used by any target
Found 4 product dependencies
- MangerKit
- FanboyKit
- Ola
- Skull
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/michaelnisi/feedkit.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/9] Write sources
[6/9] Copying user.sql
[6/9] Copying cache.sql
[8/9] Write swift-version--7754E27361AE5C74.txt
[10/16] Emitting module Skull
[11/16] Compiling Skull Skull.swift
[12/16] Compiling Patron Patron.swift
[13/16] Emitting module Patron
[14/16] Compiling Ola Ola.swift
[15/16] Emitting module Ola
[16/16] Compiling Ola NetworkActivityCounter.swift
[17/20] Compiling FanboyKit FanboyKit.swift
[18/20] Emitting module FanboyKit
[19/20] Emitting module MangerKit
[20/20] Compiling MangerKit MangerKit.swift
[21/61] Compiling FeedKit FeedURLsDependent.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/ReachHostOperation.swift:18:7: warning: class 'ReachHostOperation' must restate inherited '@unchecked Sendable' conformance
16 | private let log = OSLog.disabled
17 |
18 | class ReachHostOperation: Operation, ProvidingReachability {
| `- warning: class 'ReachHostOperation' must restate inherited '@unchecked Sendable' conformance
19 | var status = OlaStatus.unknown
20 | var error: Error?
[22/61] Compiling FeedKit LocatorsDependent.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/ReachHostOperation.swift:18:7: warning: class 'ReachHostOperation' must restate inherited '@unchecked Sendable' conformance
16 | private let log = OSLog.disabled
17 |
18 | class ReachHostOperation: Operation, ProvidingReachability {
| `- warning: class 'ReachHostOperation' must restate inherited '@unchecked Sendable' conformance
19 | var status = OlaStatus.unknown
20 | var error: Error?
[23/61] Compiling FeedKit Providing.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/ReachHostOperation.swift:18:7: warning: class 'ReachHostOperation' must restate inherited '@unchecked Sendable' conformance
16 | private let log = OSLog.disabled
17 |
18 | class ReachHostOperation: Operation, ProvidingReachability {
| `- warning: class 'ReachHostOperation' must restate inherited '@unchecked Sendable' conformance
19 | var status = OlaStatus.unknown
20 | var error: Error?
[24/61] Compiling FeedKit ReachHostOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/ReachHostOperation.swift:18:7: warning: class 'ReachHostOperation' must restate inherited '@unchecked Sendable' conformance
16 | private let log = OSLog.disabled
17 |
18 | class ReachHostOperation: Operation, ProvidingReachability {
| `- warning: class 'ReachHostOperation' must restate inherited '@unchecked Sendable' conformance
19 | var status = OlaStatus.unknown
20 | var error: Error?
[25/65] Compiling FeedKit SQLFormatter.swift
[26/65] Compiling FeedKit hash.swift
[27/65] Compiling FeedKit Enclosure.swift
[28/65] Compiling FeedKit Entry.swift
[29/65] Compiling FeedKit EntryLocator.swift
[30/65] Compiling FeedKit EntriesOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:22:14: warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
| |- warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ignorants' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'ignorants' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | // MARK: ProvidingEntries
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:20:13: warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing entries.
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
| `- warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:21:14: warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
21 | static var urlCache = DateCache(ttl: 3600)
| |- warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'urlCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'urlCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | // MARK: ProvidingFeeds
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:20:13: warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
| `- warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
21 | static var urlCache = DateCache(ttl: 3600)
22 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/serialize.swift:84:14: warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
82 |
83 | /// Arbitrary date watershed, 1990-01-01 00:00:00 +0000.
84 | static var watershed = TimeInterval(31557600 * 20)
| |- warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'watershed' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'watershed' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | /// Create and return a foundation date from a universal timestamp in
[31/65] Compiling FeedKit FeedsOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:22:14: warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
| |- warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ignorants' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'ignorants' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | // MARK: ProvidingEntries
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:20:13: warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing entries.
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
| `- warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:21:14: warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
21 | static var urlCache = DateCache(ttl: 3600)
| |- warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'urlCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'urlCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | // MARK: ProvidingFeeds
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:20:13: warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
| `- warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
21 | static var urlCache = DateCache(ttl: 3600)
22 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/serialize.swift:84:14: warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
82 |
83 | /// Arbitrary date watershed, 1990-01-01 00:00:00 +0000.
84 | static var watershed = TimeInterval(31557600 * 20)
| |- warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'watershed' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'watershed' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | /// Create and return a foundation date from a universal timestamp in
[32/65] Compiling FeedKit RemoteRepository.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:22:14: warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
| |- warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ignorants' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'ignorants' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | // MARK: ProvidingEntries
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:20:13: warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing entries.
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
| `- warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:21:14: warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
21 | static var urlCache = DateCache(ttl: 3600)
| |- warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'urlCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'urlCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | // MARK: ProvidingFeeds
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:20:13: warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
| `- warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
21 | static var urlCache = DateCache(ttl: 3600)
22 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/serialize.swift:84:14: warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
82 |
83 | /// Arbitrary date watershed, 1990-01-01 00:00:00 +0000.
84 | static var watershed = TimeInterval(31557600 * 20)
| |- warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'watershed' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'watershed' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | /// Create and return a foundation date from a universal timestamp in
[33/65] Compiling FeedKit serialize.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:22:14: warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
| |- warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ignorants' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'ignorants' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | // MARK: ProvidingEntries
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:20:13: warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing entries.
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
| `- warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:21:14: warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
21 | static var urlCache = DateCache(ttl: 3600)
| |- warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'urlCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'urlCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | // MARK: ProvidingFeeds
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:20:13: warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
| `- warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
21 | static var urlCache = DateCache(ttl: 3600)
22 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/serialize.swift:84:14: warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
82 |
83 | /// Arbitrary date watershed, 1990-01-01 00:00:00 +0000.
84 | static var watershed = TimeInterval(31557600 * 20)
| |- warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'watershed' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'watershed' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | /// Create and return a foundation date from a universal timestamp in
[34/65] Compiling FeedKit Caching.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:22:14: warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
| |- warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ignorants' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'ignorants' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | // MARK: ProvidingEntries
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:20:13: warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing entries.
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
| `- warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:21:14: warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
21 | static var urlCache = DateCache(ttl: 3600)
| |- warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'urlCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'urlCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | // MARK: ProvidingFeeds
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:20:13: warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
| `- warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
21 | static var urlCache = DateCache(ttl: 3600)
22 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/serialize.swift:84:14: warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
82 |
83 | /// Arbitrary date watershed, 1990-01-01 00:00:00 +0000.
84 | static var watershed = TimeInterval(31557600 * 20)
| |- warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'watershed' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'watershed' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | /// Create and return a foundation date from a universal timestamp in
[35/65] Compiling FeedKit ReachabilityDependent.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/SessionTaskOperation.swift:21:7: warning: class 'SessionTaskOperation' must restate inherited '@unchecked Sendable' conformance
19 | /// A generic concurrent operation providing a URL session task. This abstract
20 | /// class is to be extended.
21 | class SessionTaskOperation: ConcurrentOperation, ReachabilityDependent {
| `- warning: class 'SessionTaskOperation' must restate inherited '@unchecked Sendable' conformance
22 |
23 | struct CachePolicy {
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SearchOperation.swift:19:13: warning: class 'SearchOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | /// An operation for searching feeds and entries.
19 | final class SearchOperation: SearchRepoOperation {
| `- warning: class 'SearchOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | var perFindGroupBlock: ((Error?, [Find]) -> Void)?
[36/65] Compiling FeedKit Receiving.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/SessionTaskOperation.swift:21:7: warning: class 'SessionTaskOperation' must restate inherited '@unchecked Sendable' conformance
19 | /// A generic concurrent operation providing a URL session task. This abstract
20 | /// class is to be extended.
21 | class SessionTaskOperation: ConcurrentOperation, ReachabilityDependent {
| `- warning: class 'SessionTaskOperation' must restate inherited '@unchecked Sendable' conformance
22 |
23 | struct CachePolicy {
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SearchOperation.swift:19:13: warning: class 'SearchOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | /// An operation for searching feeds and entries.
19 | final class SearchOperation: SearchRepoOperation {
| `- warning: class 'SearchOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | var perFindGroupBlock: ((Error?, [Find]) -> Void)?
[37/65] Compiling FeedKit SessionTaskOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/SessionTaskOperation.swift:21:7: warning: class 'SessionTaskOperation' must restate inherited '@unchecked Sendable' conformance
19 | /// A generic concurrent operation providing a URL session task. This abstract
20 | /// class is to be extended.
21 | class SessionTaskOperation: ConcurrentOperation, ReachabilityDependent {
| `- warning: class 'SessionTaskOperation' must restate inherited '@unchecked Sendable' conformance
22 |
23 | struct CachePolicy {
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SearchOperation.swift:19:13: warning: class 'SearchOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | /// An operation for searching feeds and entries.
19 | final class SearchOperation: SearchRepoOperation {
| `- warning: class 'SearchOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | var perFindGroupBlock: ((Error?, [Find]) -> Void)?
[38/65] Compiling FeedKit SearchOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/SessionTaskOperation.swift:21:7: warning: class 'SessionTaskOperation' must restate inherited '@unchecked Sendable' conformance
19 | /// A generic concurrent operation providing a URL session task. This abstract
20 | /// class is to be extended.
21 | class SessionTaskOperation: ConcurrentOperation, ReachabilityDependent {
| `- warning: class 'SessionTaskOperation' must restate inherited '@unchecked Sendable' conformance
22 |
23 | struct CachePolicy {
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SearchOperation.swift:19:13: warning: class 'SearchOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | /// An operation for searching feeds and entries.
19 | final class SearchOperation: SearchRepoOperation {
| `- warning: class 'SearchOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | var perFindGroupBlock: ((Error?, [Find]) -> Void)?
[39/65] Compiling FeedKit Feed.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/FeedKitError.swift:41:8: warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
39 | case offline
40 | case noForceApplied
41 | case missingEntries(locators: [EntryLocator])
| `- warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
42 | case unexpectedDatabaseRow
43 | case unidentifiedFeed
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/EntryLocator.swift:16:15: note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
14 | /// Entry locators identify a specific entry by `guid`, or skirt intervals
15 | /// of entries from a specific feed, between now and `since`.
16 | public struct EntryLocator {
| `- note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
17 | public let url: FeedURL
18 | public let since: Date
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/ConcurrentOperation.swift:19:7: warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
17 | /// prevent potential data corruption. You can use the `sQueue` DispatchQueue
18 | /// to achieve that.
19 | class ConcurrentOperation: Operation {
| `- warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | /// An internal serial queue for synchronized (thread-safe) property access.
[40/65] Compiling FeedKit FeedKitError.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/FeedKitError.swift:41:8: warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
39 | case offline
40 | case noForceApplied
41 | case missingEntries(locators: [EntryLocator])
| `- warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
42 | case unexpectedDatabaseRow
43 | case unidentifiedFeed
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/EntryLocator.swift:16:15: note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
14 | /// Entry locators identify a specific entry by `guid`, or skirt intervals
15 | /// of entries from a specific feed, between now and `since`.
16 | public struct EntryLocator {
| `- note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
17 | public let url: FeedURL
18 | public let since: Date
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/ConcurrentOperation.swift:19:7: warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
17 | /// prevent potential data corruption. You can use the `sQueue` DispatchQueue
18 | /// to achieve that.
19 | class ConcurrentOperation: Operation {
| `- warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | /// An internal serial queue for synchronized (thread-safe) property access.
[41/65] Compiling FeedKit ITunesItem.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/FeedKitError.swift:41:8: warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
39 | case offline
40 | case noForceApplied
41 | case missingEntries(locators: [EntryLocator])
| `- warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
42 | case unexpectedDatabaseRow
43 | case unidentifiedFeed
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/EntryLocator.swift:16:15: note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
14 | /// Entry locators identify a specific entry by `guid`, or skirt intervals
15 | /// of entries from a specific feed, between now and `since`.
16 | public struct EntryLocator {
| `- note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
17 | public let url: FeedURL
18 | public let since: Date
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/ConcurrentOperation.swift:19:7: warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
17 | /// prevent potential data corruption. You can use the `sQueue` DispatchQueue
18 | /// to achieve that.
19 | class ConcurrentOperation: Operation {
| `- warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | /// An internal serial queue for synchronized (thread-safe) property access.
[42/65] Compiling FeedKit Redirectable.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/FeedKitError.swift:41:8: warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
39 | case offline
40 | case noForceApplied
41 | case missingEntries(locators: [EntryLocator])
| `- warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
42 | case unexpectedDatabaseRow
43 | case unidentifiedFeed
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/EntryLocator.swift:16:15: note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
14 | /// Entry locators identify a specific entry by `guid`, or skirt intervals
15 | /// of entries from a specific feed, between now and `since`.
16 | public struct EntryLocator {
| `- note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
17 | public let url: FeedURL
18 | public let since: Date
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/ConcurrentOperation.swift:19:7: warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
17 | /// prevent potential data corruption. You can use the `sQueue` DispatchQueue
18 | /// to achieve that.
19 | class ConcurrentOperation: Operation {
| `- warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | /// An internal serial queue for synchronized (thread-safe) property access.
[43/65] Compiling FeedKit ConcurrentOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/FeedKitError.swift:41:8: warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
39 | case offline
40 | case noForceApplied
41 | case missingEntries(locators: [EntryLocator])
| `- warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
42 | case unexpectedDatabaseRow
43 | case unidentifiedFeed
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/EntryLocator.swift:16:15: note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
14 | /// Entry locators identify a specific entry by `guid`, or skirt intervals
15 | /// of entries from a specific feed, between now and `since`.
16 | public struct EntryLocator {
| `- note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
17 | public let url: FeedURL
18 | public let since: Date
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/ConcurrentOperation.swift:19:7: warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
17 | /// prevent potential data corruption. You can use the `sQueue` DispatchQueue
18 | /// to achieve that.
19 | class ConcurrentOperation: Operation {
| `- warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | /// An internal serial queue for synchronized (thread-safe) property access.
[44/65] Emitting module FeedKit
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/BrowseOperation.swift:23:7: warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// properties for the, currently two: feed and entries; operations of the
22 | /// browsing API.
23 | class BrowseOperation: SessionTaskOperation {
| `- warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
24 | let cache: FeedCaching
25 | let svc: MangerService
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:22:14: warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
| |- warning: static property 'ignorants' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'ignorants' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'ignorants' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
23 |
24 | // MARK: ProvidingEntries
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/EntriesOperation.swift:20:13: warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing entries.
20 | final class EntriesOperation: BrowseOperation, LocatorsDependent, ProvidingEntries {
| `- warning: class 'EntriesOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// URLs that have been reloaded ignoring the cache in the last hour.
22 | static var ignorants = DateCache(ttl: 3600)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:21:14: warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
21 | static var urlCache = DateCache(ttl: 3600)
| |- warning: static property 'urlCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'urlCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'urlCache' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
22 |
23 | // MARK: ProvidingFeeds
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/FeedsOperation.swift:20:13: warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
18 |
19 | /// A concurrent `Operation` for accessing feeds.
20 | final class FeedsOperation: BrowseOperation, FeedURLsDependent, ProdvidingFeeds {
| `- warning: class 'FeedsOperation' must restate inherited '@unchecked Sendable' conformance
21 | static var urlCache = DateCache(ttl: 3600)
22 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/serialize.swift:84:14: warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
82 |
83 | /// Arbitrary date watershed, 1990-01-01 00:00:00 +0000.
84 | static var watershed = TimeInterval(31557600 * 20)
| |- warning: static property 'watershed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'watershed' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'watershed' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
85 |
86 | /// Create and return a foundation date from a universal timestamp in
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/FeedKitError.swift:41:8: warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
39 | case offline
40 | case noForceApplied
41 | case missingEntries(locators: [EntryLocator])
| `- warning: associated value 'missingEntries(locators:)' of 'Sendable'-conforming enum 'FeedKitError' has non-sendable type 'EntryLocator'; this is an error in the Swift 6 language mode
42 | case unexpectedDatabaseRow
43 | case unidentifiedFeed
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/EntryLocator.swift:16:15: note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
14 | /// Entry locators identify a specific entry by `guid`, or skirt intervals
15 | /// of entries from a specific feed, between now and `since`.
16 | public struct EntryLocator {
| `- note: consider making struct 'EntryLocator' conform to the 'Sendable' protocol
17 | public let url: FeedURL
18 | public let since: Date
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/ConcurrentOperation.swift:19:7: warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
17 | /// prevent potential data corruption. You can use the `sQueue` DispatchQueue
18 | /// to achieve that.
19 | class ConcurrentOperation: Operation {
| `- warning: class 'ConcurrentOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | /// An internal serial queue for synchronized (thread-safe) property access.
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/ReachHostOperation.swift:18:7: warning: class 'ReachHostOperation' must restate inherited '@unchecked Sendable' conformance
16 | private let log = OSLog.disabled
17 |
18 | class ReachHostOperation: Operation, ProvidingReachability {
| `- warning: class 'ReachHostOperation' must restate inherited '@unchecked Sendable' conformance
19 | var status = OlaStatus.unknown
20 | var error: Error?
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Operation/SessionTaskOperation.swift:21:7: warning: class 'SessionTaskOperation' must restate inherited '@unchecked Sendable' conformance
19 | /// A generic concurrent operation providing a URL session task. This abstract
20 | /// class is to be extended.
21 | class SessionTaskOperation: ConcurrentOperation, ReachabilityDependent {
| `- warning: class 'SessionTaskOperation' must restate inherited '@unchecked Sendable' conformance
22 |
23 | struct CachePolicy {
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SearchOperation.swift:19:13: warning: class 'SearchOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | /// An operation for searching feeds and entries.
19 | final class SearchOperation: SearchRepoOperation {
| `- warning: class 'SearchOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | var perFindGroupBlock: ((Error?, [Find]) -> Void)?
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SearchRepoOperation.swift:16:7: warning: class 'SearchRepoOperation' must restate inherited '@unchecked Sendable' conformance
14 |
15 | /// An abstract class to be extended by search repository operations.
16 | class SearchRepoOperation: SessionTaskOperation {
| `- warning: class 'SearchRepoOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | let cache: SearchCaching
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SuggestOperation.swift:19:13: warning: class 'SuggestOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | // An operation to get search suggestions.
19 | final class SuggestOperation: SearchRepoOperation {
| `- warning: class 'SuggestOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | var perFindGroupBlock: ((Error?, [Find]) -> Void)?
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/EnqueueOperation.swift:18:13: warning: class 'EnqueueOperation' must restate inherited '@unchecked Sendable' conformance
16 |
17 | /// Enqueues `entries` or entries found in `ProvidingEntries` dependencies.
18 | final class EnqueueOperation: Operation, ProvidingEntries {
| `- warning: class 'EnqueueOperation' must restate inherited '@unchecked Sendable' conformance
19 | private(set) var error: Error?
20 | private(set) var entries = Set<Entry>()
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchQueueOperation.swift:55:22: warning: static property 'missingCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// Temporarily counting how often an entry has been missing.
55 | private static var missingCounter = [EntryGUID : Int]()
| |- warning: static property 'missingCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'missingCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'missingCounter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 |
57 | /// Collects a list of unique GUIDs that should be removed from the queue.
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchQueueOperation.swift:17:13: warning: class 'FetchQueueOperation' must restate inherited '@unchecked Sendable' conformance
15 | private let log: OSLog = .init(subsystem: "ink.codes.feedkit", category: "FetchQueueOperation")
16 |
17 | final class FetchQueueOperation: ConcurrentOperation {
| `- warning: class 'FetchQueueOperation' must restate inherited '@unchecked Sendable' conformance
18 | let browser: Browsing
19 | let cache: QueueCaching
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchSubscribedFeedsOperation.swift:56:14: warning: static property 'redirects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
54 | /// guard against reappearing redirects, resulting from incorrect handling in
55 | /// upstream systems.
56 | static var redirects = Set<FeedURL>()
| |- warning: static property 'redirects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'redirects' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'redirects' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 |
58 | private func resubscribe(redirected feeds: [Feed]) throws {
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchSubscribedFeedsOperation.swift:24:13: warning: class 'FetchSubscribedFeedsOperation' must restate inherited '@unchecked Sendable' conformance
22 | /// our local caches, mediating between the two tiers, `SubscriptionCaching`
23 | /// and `Browsing`.
24 | final class FetchSubscribedFeedsOperation: ConcurrentOperation {
| `- warning: class 'FetchSubscribedFeedsOperation' must restate inherited '@unchecked Sendable' conformance
25 |
26 | let browser: Browsing
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/PrepareUpdateOperation.swift:20:13: warning: class 'PrepareUpdateOperation' must restate inherited '@unchecked Sendable' conformance
18 | /// and currently newest episodes in queue. The resulting entry locators are
19 | /// published via the `ProvidingLocators` interface.
20 | final class PrepareUpdateOperation: Operation, ProvidingLocators {
| `- warning: class 'PrepareUpdateOperation' must restate inherited '@unchecked Sendable' conformance
21 | private(set) var error: Error?
22 | private(set) var locators = [EntryLocator]()
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:245:14: warning: static property 'SQLToDeleteFromSubscribed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
243 | extension UserSQLFormatter {
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
| |- warning: static property 'SQLToDeleteFromSubscribed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromSubscribed' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromSubscribed' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:246:14: warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
| |- warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromQueuedEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromQueuedEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:247:14: warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
| |- warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromPrevEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromPrevEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | static var SQLToDeleteAll = """
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:249:14: warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
249 | static var SQLToDeleteAll = """
| |- warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteAll' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteAll' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
250 | DELETE FROM record;
251 | DELETE FROM feed;
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:255:14: warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
253 | """
254 |
255 | static var SQLToDeleteZombies = """
| |- warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteZombies' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteZombies' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
256 | DELETE FROM record WHERE record_name IN (SELECT record_name FROM zombie_record_name_view);
257 | DELETE FROM feed WHERE feed_url IN(SELECT feed_url FROM zombie_feed_url_view);
[45/65] Compiling FeedKit EnqueueOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/EnqueueOperation.swift:18:13: warning: class 'EnqueueOperation' must restate inherited '@unchecked Sendable' conformance
16 |
17 | /// Enqueues `entries` or entries found in `ProvidingEntries` dependencies.
18 | final class EnqueueOperation: Operation, ProvidingEntries {
| `- warning: class 'EnqueueOperation' must restate inherited '@unchecked Sendable' conformance
19 | private(set) var error: Error?
20 | private(set) var entries = Set<Entry>()
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchQueueOperation.swift:55:22: warning: static property 'missingCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// Temporarily counting how often an entry has been missing.
55 | private static var missingCounter = [EntryGUID : Int]()
| |- warning: static property 'missingCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'missingCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'missingCounter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 |
57 | /// Collects a list of unique GUIDs that should be removed from the queue.
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchQueueOperation.swift:17:13: warning: class 'FetchQueueOperation' must restate inherited '@unchecked Sendable' conformance
15 | private let log: OSLog = .init(subsystem: "ink.codes.feedkit", category: "FetchQueueOperation")
16 |
17 | final class FetchQueueOperation: ConcurrentOperation {
| `- warning: class 'FetchQueueOperation' must restate inherited '@unchecked Sendable' conformance
18 | let browser: Browsing
19 | let cache: QueueCaching
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchSubscribedFeedsOperation.swift:56:14: warning: static property 'redirects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
54 | /// guard against reappearing redirects, resulting from incorrect handling in
55 | /// upstream systems.
56 | static var redirects = Set<FeedURL>()
| |- warning: static property 'redirects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'redirects' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'redirects' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 |
58 | private func resubscribe(redirected feeds: [Feed]) throws {
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchSubscribedFeedsOperation.swift:24:13: warning: class 'FetchSubscribedFeedsOperation' must restate inherited '@unchecked Sendable' conformance
22 | /// our local caches, mediating between the two tiers, `SubscriptionCaching`
23 | /// and `Browsing`.
24 | final class FetchSubscribedFeedsOperation: ConcurrentOperation {
| `- warning: class 'FetchSubscribedFeedsOperation' must restate inherited '@unchecked Sendable' conformance
25 |
26 | let browser: Browsing
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/PrepareUpdateOperation.swift:20:13: warning: class 'PrepareUpdateOperation' must restate inherited '@unchecked Sendable' conformance
18 | /// and currently newest episodes in queue. The resulting entry locators are
19 | /// published via the `ProvidingLocators` interface.
20 | final class PrepareUpdateOperation: Operation, ProvidingLocators {
| `- warning: class 'PrepareUpdateOperation' must restate inherited '@unchecked Sendable' conformance
21 | private(set) var error: Error?
22 | private(set) var locators = [EntryLocator]()
[46/65] Compiling FeedKit FetchQueueOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/EnqueueOperation.swift:18:13: warning: class 'EnqueueOperation' must restate inherited '@unchecked Sendable' conformance
16 |
17 | /// Enqueues `entries` or entries found in `ProvidingEntries` dependencies.
18 | final class EnqueueOperation: Operation, ProvidingEntries {
| `- warning: class 'EnqueueOperation' must restate inherited '@unchecked Sendable' conformance
19 | private(set) var error: Error?
20 | private(set) var entries = Set<Entry>()
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchQueueOperation.swift:55:22: warning: static property 'missingCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// Temporarily counting how often an entry has been missing.
55 | private static var missingCounter = [EntryGUID : Int]()
| |- warning: static property 'missingCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'missingCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'missingCounter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 |
57 | /// Collects a list of unique GUIDs that should be removed from the queue.
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchQueueOperation.swift:17:13: warning: class 'FetchQueueOperation' must restate inherited '@unchecked Sendable' conformance
15 | private let log: OSLog = .init(subsystem: "ink.codes.feedkit", category: "FetchQueueOperation")
16 |
17 | final class FetchQueueOperation: ConcurrentOperation {
| `- warning: class 'FetchQueueOperation' must restate inherited '@unchecked Sendable' conformance
18 | let browser: Browsing
19 | let cache: QueueCaching
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchSubscribedFeedsOperation.swift:56:14: warning: static property 'redirects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
54 | /// guard against reappearing redirects, resulting from incorrect handling in
55 | /// upstream systems.
56 | static var redirects = Set<FeedURL>()
| |- warning: static property 'redirects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'redirects' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'redirects' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 |
58 | private func resubscribe(redirected feeds: [Feed]) throws {
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchSubscribedFeedsOperation.swift:24:13: warning: class 'FetchSubscribedFeedsOperation' must restate inherited '@unchecked Sendable' conformance
22 | /// our local caches, mediating between the two tiers, `SubscriptionCaching`
23 | /// and `Browsing`.
24 | final class FetchSubscribedFeedsOperation: ConcurrentOperation {
| `- warning: class 'FetchSubscribedFeedsOperation' must restate inherited '@unchecked Sendable' conformance
25 |
26 | let browser: Browsing
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/PrepareUpdateOperation.swift:20:13: warning: class 'PrepareUpdateOperation' must restate inherited '@unchecked Sendable' conformance
18 | /// and currently newest episodes in queue. The resulting entry locators are
19 | /// published via the `ProvidingLocators` interface.
20 | final class PrepareUpdateOperation: Operation, ProvidingLocators {
| `- warning: class 'PrepareUpdateOperation' must restate inherited '@unchecked Sendable' conformance
21 | private(set) var error: Error?
22 | private(set) var locators = [EntryLocator]()
[47/65] Compiling FeedKit FetchSubscribedFeedsOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/EnqueueOperation.swift:18:13: warning: class 'EnqueueOperation' must restate inherited '@unchecked Sendable' conformance
16 |
17 | /// Enqueues `entries` or entries found in `ProvidingEntries` dependencies.
18 | final class EnqueueOperation: Operation, ProvidingEntries {
| `- warning: class 'EnqueueOperation' must restate inherited '@unchecked Sendable' conformance
19 | private(set) var error: Error?
20 | private(set) var entries = Set<Entry>()
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchQueueOperation.swift:55:22: warning: static property 'missingCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// Temporarily counting how often an entry has been missing.
55 | private static var missingCounter = [EntryGUID : Int]()
| |- warning: static property 'missingCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'missingCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'missingCounter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 |
57 | /// Collects a list of unique GUIDs that should be removed from the queue.
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchQueueOperation.swift:17:13: warning: class 'FetchQueueOperation' must restate inherited '@unchecked Sendable' conformance
15 | private let log: OSLog = .init(subsystem: "ink.codes.feedkit", category: "FetchQueueOperation")
16 |
17 | final class FetchQueueOperation: ConcurrentOperation {
| `- warning: class 'FetchQueueOperation' must restate inherited '@unchecked Sendable' conformance
18 | let browser: Browsing
19 | let cache: QueueCaching
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchSubscribedFeedsOperation.swift:56:14: warning: static property 'redirects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
54 | /// guard against reappearing redirects, resulting from incorrect handling in
55 | /// upstream systems.
56 | static var redirects = Set<FeedURL>()
| |- warning: static property 'redirects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'redirects' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'redirects' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 |
58 | private func resubscribe(redirected feeds: [Feed]) throws {
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchSubscribedFeedsOperation.swift:24:13: warning: class 'FetchSubscribedFeedsOperation' must restate inherited '@unchecked Sendable' conformance
22 | /// our local caches, mediating between the two tiers, `SubscriptionCaching`
23 | /// and `Browsing`.
24 | final class FetchSubscribedFeedsOperation: ConcurrentOperation {
| `- warning: class 'FetchSubscribedFeedsOperation' must restate inherited '@unchecked Sendable' conformance
25 |
26 | let browser: Browsing
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/PrepareUpdateOperation.swift:20:13: warning: class 'PrepareUpdateOperation' must restate inherited '@unchecked Sendable' conformance
18 | /// and currently newest episodes in queue. The resulting entry locators are
19 | /// published via the `ProvidingLocators` interface.
20 | final class PrepareUpdateOperation: Operation, ProvidingLocators {
| `- warning: class 'PrepareUpdateOperation' must restate inherited '@unchecked Sendable' conformance
21 | private(set) var error: Error?
22 | private(set) var locators = [EntryLocator]()
[48/65] Compiling FeedKit PrepareUpdateOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/EnqueueOperation.swift:18:13: warning: class 'EnqueueOperation' must restate inherited '@unchecked Sendable' conformance
16 |
17 | /// Enqueues `entries` or entries found in `ProvidingEntries` dependencies.
18 | final class EnqueueOperation: Operation, ProvidingEntries {
| `- warning: class 'EnqueueOperation' must restate inherited '@unchecked Sendable' conformance
19 | private(set) var error: Error?
20 | private(set) var entries = Set<Entry>()
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchQueueOperation.swift:55:22: warning: static property 'missingCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 |
54 | /// Temporarily counting how often an entry has been missing.
55 | private static var missingCounter = [EntryGUID : Int]()
| |- warning: static property 'missingCounter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'missingCounter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'missingCounter' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 |
57 | /// Collects a list of unique GUIDs that should be removed from the queue.
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchQueueOperation.swift:17:13: warning: class 'FetchQueueOperation' must restate inherited '@unchecked Sendable' conformance
15 | private let log: OSLog = .init(subsystem: "ink.codes.feedkit", category: "FetchQueueOperation")
16 |
17 | final class FetchQueueOperation: ConcurrentOperation {
| `- warning: class 'FetchQueueOperation' must restate inherited '@unchecked Sendable' conformance
18 | let browser: Browsing
19 | let cache: QueueCaching
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchSubscribedFeedsOperation.swift:56:14: warning: static property 'redirects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
54 | /// guard against reappearing redirects, resulting from incorrect handling in
55 | /// upstream systems.
56 | static var redirects = Set<FeedURL>()
| |- warning: static property 'redirects' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'redirects' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'redirects' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 |
58 | private func resubscribe(redirected feeds: [Feed]) throws {
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/FetchSubscribedFeedsOperation.swift:24:13: warning: class 'FetchSubscribedFeedsOperation' must restate inherited '@unchecked Sendable' conformance
22 | /// our local caches, mediating between the two tiers, `SubscriptionCaching`
23 | /// and `Browsing`.
24 | final class FetchSubscribedFeedsOperation: ConcurrentOperation {
| `- warning: class 'FetchSubscribedFeedsOperation' must restate inherited '@unchecked Sendable' conformance
25 |
26 | let browser: Browsing
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Operation/PrepareUpdateOperation.swift:20:13: warning: class 'PrepareUpdateOperation' must restate inherited '@unchecked Sendable' conformance
18 | /// and currently newest episodes in queue. The resulting entry locators are
19 | /// published via the `ProvidingLocators` interface.
20 | final class PrepareUpdateOperation: Operation, ProvidingLocators {
| `- warning: class 'PrepareUpdateOperation' must restate inherited '@unchecked Sendable' conformance
21 | private(set) var error: Error?
22 | private(set) var locators = [EntryLocator]()
[49/65] Compiling FeedKit Browsing.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/BrowseOperation.swift:23:7: warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// properties for the, currently two: feed and entries; operations of the
22 | /// browsing API.
23 | class BrowseOperation: SessionTaskOperation {
| `- warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
24 | let cache: FeedCaching
25 | let svc: MangerService
[50/65] Compiling FeedKit FeedCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/BrowseOperation.swift:23:7: warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// properties for the, currently two: feed and entries; operations of the
22 | /// browsing API.
23 | class BrowseOperation: SessionTaskOperation {
| `- warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
24 | let cache: FeedCaching
25 | let svc: MangerService
[51/65] Compiling FeedKit FeedRepository.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/BrowseOperation.swift:23:7: warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// properties for the, currently two: feed and entries; operations of the
22 | /// browsing API.
23 | class BrowseOperation: SessionTaskOperation {
| `- warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
24 | let cache: FeedCaching
25 | let svc: MangerService
[52/65] Compiling FeedKit LibrarySQLFormatter.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/BrowseOperation.swift:23:7: warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// properties for the, currently two: feed and entries; operations of the
22 | /// browsing API.
23 | class BrowseOperation: SessionTaskOperation {
| `- warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
24 | let cache: FeedCaching
25 | let svc: MangerService
[53/65] Compiling FeedKit BrowseOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Browse/Operation/BrowseOperation.swift:23:7: warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
21 | /// properties for the, currently two: feed and entries; operations of the
22 | /// browsing API.
23 | class BrowseOperation: SessionTaskOperation {
| `- warning: class 'BrowseOperation' must restate inherited '@unchecked Sendable' conformance
24 | let cache: FeedCaching
25 | let svc: MangerService
[54/65] Compiling FeedKit UserLibrary.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:115:14: warning: capture of 'subscriptions' with non-sendable type '[Subscription]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
113 | ) -> Operation {
114 | return BlockOperation(block: {
115 | guard !subscriptions.isEmpty else {
| `- warning: capture of 'subscriptions' with non-sendable type '[Subscription]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 | completionBlock?(nil)
117 | return
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Subscription.swift:15:15: note: consider making struct 'Subscription' conform to the 'Sendable' protocol
13 |
14 | /// A feed subscription.
15 | public struct Subscription {
| `- note: consider making struct 'Subscription' conform to the 'Sendable' protocol
16 | public let url: FeedURL
17 | public let ts: Date
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:116:9: warning: capture of 'completionBlock' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
114 | return BlockOperation(block: {
115 | guard !subscriptions.isEmpty else {
116 | completionBlock?(nil)
| |- warning: capture of 'completionBlock' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
117 | return
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:121:13: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
119 |
120 | do {
121 | try self.cache.add(subscriptions: subscriptions)
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 | let subscribed = try self.cache.subscribed()
123 | self.subscriptions = Set(subscribed.map { $0.url })
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:179:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | guard !urls.isEmpty else {
178 | return DispatchQueue.global(qos: .userInitiated).async {
179 | completionHandler?(nil)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 | }
181 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:185:22: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
183 | operationQueue.addOperation {
184 | var er: Error?
185 | let oldValue = self.subscriptions
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | var newValue: Set<FeedURL>?
187 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:190:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
190 | completionHandler?(er)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
191 | }
192 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:189:9: warning: capture of 'self' with non-sendable type 'UserLibrary' in an isolated local function; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
187 |
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in an isolated local function; this is an error in the Swift 6 language mode
190 | completionHandler?(er)
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:190:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in an isolated local function; this is an error in the Swift 6 language mode
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
190 | completionHandler?(er)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in an isolated local function; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
191 | }
192 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:250:30: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
248 |
249 | do {
250 | let subscribed = try self.cache.subscribed()
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
251 | let s = Set(subscribed.map(\.url))
252 | self.subscriptions = s
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:271:9: warning: capture of 'completionBlock' with non-sendable type '((Set<FeedURL>?, Set<EntryGUID>?, (any Error)?) -> Void)?' (aka 'Optional<((Optional<Set<String>>, Optional<Set<String>>, Optional<any Error>) -> ())>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
269 | }()
270 |
271 | completionBlock?(s, guids, er)
| |- warning: capture of 'completionBlock' with non-sendable type '((Set<FeedURL>?, Set<EntryGUID>?, (any Error)?) -> Void)?' (aka 'Optional<((Optional<Set<String>>, Optional<Set<String>>, Optional<any Error>) -> ())>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
272 | } catch {
273 | os_log("failed to synchronize: %@",
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:493:22: warning: capture of 'entry' with non-sendable type 'Entry' in a `@Sendable` closure; this is an error in the Swift 6 language mode
491 | dequeueCompletionBlock: ((_ dequeued: Set<Entry>, _ error: Error?) -> Void)?) {
492 | operationQueue.addOperation {
493 | let entries = [entry]
| `- warning: capture of 'entry' with non-sendable type 'Entry' in a `@Sendable` closure; this is an error in the Swift 6 language mode
494 | do {
495 | let dequeued = try self.dequeue(entries: entries)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/Entry.swift:21:15: note: consider making struct 'Entry' conform to the 'Sendable' protocol
19 | ///
20 | /// Identified by `guid`, entries are equal if their guids are equal.
21 | public struct Entry: Redirectable {
| `- note: consider making struct 'Entry' conform to the 'Sendable' protocol
22 | public let author: String?
23 | public let duration: Int?
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:495:28: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
493 | let entries = [entry]
494 | do {
495 | let dequeued = try self.dequeue(entries: entries)
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
496 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
497 | dequeueCompletionBlock?(dequeued, nil)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:497:9: warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
495 | let dequeued = try self.dequeue(entries: entries)
496 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
497 | dequeueCompletionBlock?(dequeued, nil)
| |- warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
498 | } catch {
499 | dequeueCompletionBlock?([], error)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:508:22: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
506 | dequeueCompletionBlock: ((_ dequeued: Set<Entry>, _ error: Error?) -> Void)?) {
507 | operationQueue.addOperation {
508 | let children = self.queue.filter { $0.url == url }
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
509 | do {
510 | let dequeued = try self.dequeue(entries: children)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:512:9: warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
510 | let dequeued = try self.dequeue(entries: children)
511 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
512 | dequeueCompletionBlock?(dequeued, nil)
| |- warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
513 | } catch {
514 | dequeueCompletionBlock?([], error)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:245:14: warning: static property 'SQLToDeleteFromSubscribed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
243 | extension UserSQLFormatter {
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
| |- warning: static property 'SQLToDeleteFromSubscribed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromSubscribed' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromSubscribed' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:246:14: warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
| |- warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromQueuedEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromQueuedEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:247:14: warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
| |- warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromPrevEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromPrevEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | static var SQLToDeleteAll = """
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:249:14: warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
249 | static var SQLToDeleteAll = """
| |- warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteAll' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteAll' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
250 | DELETE FROM record;
251 | DELETE FROM feed;
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:255:14: warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
253 | """
254 |
255 | static var SQLToDeleteZombies = """
| |- warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteZombies' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteZombies' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
256 | DELETE FROM record WHERE record_name IN (SELECT record_name FROM zombie_record_name_view);
257 | DELETE FROM feed WHERE feed_url IN(SELECT feed_url FROM zombie_feed_url_view);
[55/65] Compiling FeedKit UserSQLFormatter.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:115:14: warning: capture of 'subscriptions' with non-sendable type '[Subscription]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
113 | ) -> Operation {
114 | return BlockOperation(block: {
115 | guard !subscriptions.isEmpty else {
| `- warning: capture of 'subscriptions' with non-sendable type '[Subscription]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 | completionBlock?(nil)
117 | return
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Subscription.swift:15:15: note: consider making struct 'Subscription' conform to the 'Sendable' protocol
13 |
14 | /// A feed subscription.
15 | public struct Subscription {
| `- note: consider making struct 'Subscription' conform to the 'Sendable' protocol
16 | public let url: FeedURL
17 | public let ts: Date
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:116:9: warning: capture of 'completionBlock' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
114 | return BlockOperation(block: {
115 | guard !subscriptions.isEmpty else {
116 | completionBlock?(nil)
| |- warning: capture of 'completionBlock' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
117 | return
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:121:13: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
119 |
120 | do {
121 | try self.cache.add(subscriptions: subscriptions)
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 | let subscribed = try self.cache.subscribed()
123 | self.subscriptions = Set(subscribed.map { $0.url })
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:179:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | guard !urls.isEmpty else {
178 | return DispatchQueue.global(qos: .userInitiated).async {
179 | completionHandler?(nil)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 | }
181 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:185:22: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
183 | operationQueue.addOperation {
184 | var er: Error?
185 | let oldValue = self.subscriptions
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | var newValue: Set<FeedURL>?
187 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:190:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
190 | completionHandler?(er)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
191 | }
192 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:189:9: warning: capture of 'self' with non-sendable type 'UserLibrary' in an isolated local function; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
187 |
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in an isolated local function; this is an error in the Swift 6 language mode
190 | completionHandler?(er)
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:190:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in an isolated local function; this is an error in the Swift 6 language mode
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
190 | completionHandler?(er)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in an isolated local function; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
191 | }
192 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:250:30: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
248 |
249 | do {
250 | let subscribed = try self.cache.subscribed()
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
251 | let s = Set(subscribed.map(\.url))
252 | self.subscriptions = s
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:271:9: warning: capture of 'completionBlock' with non-sendable type '((Set<FeedURL>?, Set<EntryGUID>?, (any Error)?) -> Void)?' (aka 'Optional<((Optional<Set<String>>, Optional<Set<String>>, Optional<any Error>) -> ())>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
269 | }()
270 |
271 | completionBlock?(s, guids, er)
| |- warning: capture of 'completionBlock' with non-sendable type '((Set<FeedURL>?, Set<EntryGUID>?, (any Error)?) -> Void)?' (aka 'Optional<((Optional<Set<String>>, Optional<Set<String>>, Optional<any Error>) -> ())>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
272 | } catch {
273 | os_log("failed to synchronize: %@",
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:493:22: warning: capture of 'entry' with non-sendable type 'Entry' in a `@Sendable` closure; this is an error in the Swift 6 language mode
491 | dequeueCompletionBlock: ((_ dequeued: Set<Entry>, _ error: Error?) -> Void)?) {
492 | operationQueue.addOperation {
493 | let entries = [entry]
| `- warning: capture of 'entry' with non-sendable type 'Entry' in a `@Sendable` closure; this is an error in the Swift 6 language mode
494 | do {
495 | let dequeued = try self.dequeue(entries: entries)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/Entry.swift:21:15: note: consider making struct 'Entry' conform to the 'Sendable' protocol
19 | ///
20 | /// Identified by `guid`, entries are equal if their guids are equal.
21 | public struct Entry: Redirectable {
| `- note: consider making struct 'Entry' conform to the 'Sendable' protocol
22 | public let author: String?
23 | public let duration: Int?
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:495:28: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
493 | let entries = [entry]
494 | do {
495 | let dequeued = try self.dequeue(entries: entries)
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
496 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
497 | dequeueCompletionBlock?(dequeued, nil)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:497:9: warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
495 | let dequeued = try self.dequeue(entries: entries)
496 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
497 | dequeueCompletionBlock?(dequeued, nil)
| |- warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
498 | } catch {
499 | dequeueCompletionBlock?([], error)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:508:22: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
506 | dequeueCompletionBlock: ((_ dequeued: Set<Entry>, _ error: Error?) -> Void)?) {
507 | operationQueue.addOperation {
508 | let children = self.queue.filter { $0.url == url }
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
509 | do {
510 | let dequeued = try self.dequeue(entries: children)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:512:9: warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
510 | let dequeued = try self.dequeue(entries: children)
511 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
512 | dequeueCompletionBlock?(dequeued, nil)
| |- warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
513 | } catch {
514 | dequeueCompletionBlock?([], error)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:245:14: warning: static property 'SQLToDeleteFromSubscribed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
243 | extension UserSQLFormatter {
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
| |- warning: static property 'SQLToDeleteFromSubscribed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromSubscribed' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromSubscribed' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:246:14: warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
| |- warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromQueuedEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromQueuedEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:247:14: warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
| |- warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromPrevEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromPrevEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | static var SQLToDeleteAll = """
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:249:14: warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
249 | static var SQLToDeleteAll = """
| |- warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteAll' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteAll' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
250 | DELETE FROM record;
251 | DELETE FROM feed;
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:255:14: warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
253 | """
254 |
255 | static var SQLToDeleteZombies = """
| |- warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteZombies' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteZombies' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
256 | DELETE FROM record WHERE record_name IN (SELECT record_name FROM zombie_record_name_view);
257 | DELETE FROM feed WHERE feed_url IN(SELECT feed_url FROM zombie_feed_url_view);
[56/65] Compiling FeedKit queue.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:115:14: warning: capture of 'subscriptions' with non-sendable type '[Subscription]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
113 | ) -> Operation {
114 | return BlockOperation(block: {
115 | guard !subscriptions.isEmpty else {
| `- warning: capture of 'subscriptions' with non-sendable type '[Subscription]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 | completionBlock?(nil)
117 | return
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Subscription.swift:15:15: note: consider making struct 'Subscription' conform to the 'Sendable' protocol
13 |
14 | /// A feed subscription.
15 | public struct Subscription {
| `- note: consider making struct 'Subscription' conform to the 'Sendable' protocol
16 | public let url: FeedURL
17 | public let ts: Date
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:116:9: warning: capture of 'completionBlock' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
114 | return BlockOperation(block: {
115 | guard !subscriptions.isEmpty else {
116 | completionBlock?(nil)
| |- warning: capture of 'completionBlock' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
117 | return
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:121:13: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
119 |
120 | do {
121 | try self.cache.add(subscriptions: subscriptions)
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 | let subscribed = try self.cache.subscribed()
123 | self.subscriptions = Set(subscribed.map { $0.url })
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:179:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | guard !urls.isEmpty else {
178 | return DispatchQueue.global(qos: .userInitiated).async {
179 | completionHandler?(nil)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 | }
181 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:185:22: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
183 | operationQueue.addOperation {
184 | var er: Error?
185 | let oldValue = self.subscriptions
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | var newValue: Set<FeedURL>?
187 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:190:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
190 | completionHandler?(er)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
191 | }
192 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:189:9: warning: capture of 'self' with non-sendable type 'UserLibrary' in an isolated local function; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
187 |
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in an isolated local function; this is an error in the Swift 6 language mode
190 | completionHandler?(er)
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:190:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in an isolated local function; this is an error in the Swift 6 language mode
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
190 | completionHandler?(er)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in an isolated local function; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
191 | }
192 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:250:30: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
248 |
249 | do {
250 | let subscribed = try self.cache.subscribed()
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
251 | let s = Set(subscribed.map(\.url))
252 | self.subscriptions = s
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:271:9: warning: capture of 'completionBlock' with non-sendable type '((Set<FeedURL>?, Set<EntryGUID>?, (any Error)?) -> Void)?' (aka 'Optional<((Optional<Set<String>>, Optional<Set<String>>, Optional<any Error>) -> ())>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
269 | }()
270 |
271 | completionBlock?(s, guids, er)
| |- warning: capture of 'completionBlock' with non-sendable type '((Set<FeedURL>?, Set<EntryGUID>?, (any Error)?) -> Void)?' (aka 'Optional<((Optional<Set<String>>, Optional<Set<String>>, Optional<any Error>) -> ())>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
272 | } catch {
273 | os_log("failed to synchronize: %@",
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:493:22: warning: capture of 'entry' with non-sendable type 'Entry' in a `@Sendable` closure; this is an error in the Swift 6 language mode
491 | dequeueCompletionBlock: ((_ dequeued: Set<Entry>, _ error: Error?) -> Void)?) {
492 | operationQueue.addOperation {
493 | let entries = [entry]
| `- warning: capture of 'entry' with non-sendable type 'Entry' in a `@Sendable` closure; this is an error in the Swift 6 language mode
494 | do {
495 | let dequeued = try self.dequeue(entries: entries)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/Entry.swift:21:15: note: consider making struct 'Entry' conform to the 'Sendable' protocol
19 | ///
20 | /// Identified by `guid`, entries are equal if their guids are equal.
21 | public struct Entry: Redirectable {
| `- note: consider making struct 'Entry' conform to the 'Sendable' protocol
22 | public let author: String?
23 | public let duration: Int?
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:495:28: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
493 | let entries = [entry]
494 | do {
495 | let dequeued = try self.dequeue(entries: entries)
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
496 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
497 | dequeueCompletionBlock?(dequeued, nil)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:497:9: warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
495 | let dequeued = try self.dequeue(entries: entries)
496 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
497 | dequeueCompletionBlock?(dequeued, nil)
| |- warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
498 | } catch {
499 | dequeueCompletionBlock?([], error)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:508:22: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
506 | dequeueCompletionBlock: ((_ dequeued: Set<Entry>, _ error: Error?) -> Void)?) {
507 | operationQueue.addOperation {
508 | let children = self.queue.filter { $0.url == url }
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
509 | do {
510 | let dequeued = try self.dequeue(entries: children)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:512:9: warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
510 | let dequeued = try self.dequeue(entries: children)
511 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
512 | dequeueCompletionBlock?(dequeued, nil)
| |- warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
513 | } catch {
514 | dequeueCompletionBlock?([], error)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:245:14: warning: static property 'SQLToDeleteFromSubscribed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
243 | extension UserSQLFormatter {
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
| |- warning: static property 'SQLToDeleteFromSubscribed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromSubscribed' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromSubscribed' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:246:14: warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
| |- warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromQueuedEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromQueuedEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:247:14: warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
| |- warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromPrevEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromPrevEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | static var SQLToDeleteAll = """
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:249:14: warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
249 | static var SQLToDeleteAll = """
| |- warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteAll' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteAll' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
250 | DELETE FROM record;
251 | DELETE FROM feed;
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:255:14: warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
253 | """
254 |
255 | static var SQLToDeleteZombies = """
| |- warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteZombies' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteZombies' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
256 | DELETE FROM record WHERE record_name IN (SELECT record_name FROM zombie_record_name_view);
257 | DELETE FROM feed WHERE feed_url IN(SELECT feed_url FROM zombie_feed_url_view);
[57/65] Compiling FeedKit resource_bundle_accessor.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:115:14: warning: capture of 'subscriptions' with non-sendable type '[Subscription]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
113 | ) -> Operation {
114 | return BlockOperation(block: {
115 | guard !subscriptions.isEmpty else {
| `- warning: capture of 'subscriptions' with non-sendable type '[Subscription]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
116 | completionBlock?(nil)
117 | return
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/Subscription.swift:15:15: note: consider making struct 'Subscription' conform to the 'Sendable' protocol
13 |
14 | /// A feed subscription.
15 | public struct Subscription {
| `- note: consider making struct 'Subscription' conform to the 'Sendable' protocol
16 | public let url: FeedURL
17 | public let ts: Date
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:116:9: warning: capture of 'completionBlock' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
114 | return BlockOperation(block: {
115 | guard !subscriptions.isEmpty else {
116 | completionBlock?(nil)
| |- warning: capture of 'completionBlock' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
117 | return
118 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:121:13: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
119 |
120 | do {
121 | try self.cache.add(subscriptions: subscriptions)
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
122 | let subscribed = try self.cache.subscribed()
123 | self.subscriptions = Set(subscribed.map { $0.url })
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:179:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
177 | guard !urls.isEmpty else {
178 | return DispatchQueue.global(qos: .userInitiated).async {
179 | completionHandler?(nil)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
180 | }
181 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:185:22: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
183 | operationQueue.addOperation {
184 | var er: Error?
185 | let oldValue = self.subscriptions
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
186 | var newValue: Set<FeedURL>?
187 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:190:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
190 | completionHandler?(er)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
191 | }
192 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:189:9: warning: capture of 'self' with non-sendable type 'UserLibrary' in an isolated local function; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
187 |
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in an isolated local function; this is an error in the Swift 6 language mode
190 | completionHandler?(er)
191 | }
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:190:9: warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in an isolated local function; this is an error in the Swift 6 language mode
188 | defer {
189 | self.subscriptions = newValue ?? oldValue
190 | completionHandler?(er)
| |- warning: capture of 'completionHandler' with non-sendable type '(((any Error)?) -> Void)?' in an isolated local function; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
191 | }
192 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:250:30: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
248 |
249 | do {
250 | let subscribed = try self.cache.subscribed()
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
251 | let s = Set(subscribed.map(\.url))
252 | self.subscriptions = s
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:271:9: warning: capture of 'completionBlock' with non-sendable type '((Set<FeedURL>?, Set<EntryGUID>?, (any Error)?) -> Void)?' (aka 'Optional<((Optional<Set<String>>, Optional<Set<String>>, Optional<any Error>) -> ())>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
269 | }()
270 |
271 | completionBlock?(s, guids, er)
| |- warning: capture of 'completionBlock' with non-sendable type '((Set<FeedURL>?, Set<EntryGUID>?, (any Error)?) -> Void)?' (aka 'Optional<((Optional<Set<String>>, Optional<Set<String>>, Optional<any Error>) -> ())>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
272 | } catch {
273 | os_log("failed to synchronize: %@",
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:493:22: warning: capture of 'entry' with non-sendable type 'Entry' in a `@Sendable` closure; this is an error in the Swift 6 language mode
491 | dequeueCompletionBlock: ((_ dequeued: Set<Entry>, _ error: Error?) -> Void)?) {
492 | operationQueue.addOperation {
493 | let entries = [entry]
| `- warning: capture of 'entry' with non-sendable type 'Entry' in a `@Sendable` closure; this is an error in the Swift 6 language mode
494 | do {
495 | let dequeued = try self.dequeue(entries: entries)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Core/Entry.swift:21:15: note: consider making struct 'Entry' conform to the 'Sendable' protocol
19 | ///
20 | /// Identified by `guid`, entries are equal if their guids are equal.
21 | public struct Entry: Redirectable {
| `- note: consider making struct 'Entry' conform to the 'Sendable' protocol
22 | public let author: String?
23 | public let duration: Int?
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:495:28: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
493 | let entries = [entry]
494 | do {
495 | let dequeued = try self.dequeue(entries: entries)
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
496 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
497 | dequeueCompletionBlock?(dequeued, nil)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:497:9: warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
495 | let dequeued = try self.dequeue(entries: entries)
496 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
497 | dequeueCompletionBlock?(dequeued, nil)
| |- warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
498 | } catch {
499 | dequeueCompletionBlock?([], error)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:508:22: warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
20 | /// All actions emerge from imperative operation trees combining explicit
21 | /// Operation classes with inline block operations.
22 | public final class UserLibrary: EntryQueueHost {
| `- note: class 'UserLibrary' does not conform to the 'Sendable' protocol
23 | public weak var queueDelegate: QueueDelegate?
24 | public weak var enclosureDelegate: EnclosureDelegate?
:
506 | dequeueCompletionBlock: ((_ dequeued: Set<Entry>, _ error: Error?) -> Void)?) {
507 | operationQueue.addOperation {
508 | let children = self.queue.filter { $0.url == url }
| `- warning: capture of 'self' with non-sendable type 'UserLibrary' in a `@Sendable` closure; this is an error in the Swift 6 language mode
509 | do {
510 | let dequeued = try self.dequeue(entries: children)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserLibrary.swift:512:9: warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
510 | let dequeued = try self.dequeue(entries: children)
511 | self.commitQueue(enqueued: Set(), dequeued: dequeued)
512 | dequeueCompletionBlock?(dequeued, nil)
| |- warning: capture of 'dequeueCompletionBlock' with non-sendable type '((Set<Entry>, (any Error)?) -> Void)?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
513 | } catch {
514 | dequeueCompletionBlock?([], error)
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:245:14: warning: static property 'SQLToDeleteFromSubscribed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
243 | extension UserSQLFormatter {
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
| |- warning: static property 'SQLToDeleteFromSubscribed' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromSubscribed' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromSubscribed' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:246:14: warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
| |- warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromQueuedEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromQueuedEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:247:14: warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
| |- warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromPrevEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromPrevEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | static var SQLToDeleteAll = """
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:249:14: warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
249 | static var SQLToDeleteAll = """
| |- warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteAll' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteAll' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
250 | DELETE FROM record;
251 | DELETE FROM feed;
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:255:14: warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
253 | """
254 |
255 | static var SQLToDeleteZombies = """
| |- warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteZombies' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteZombies' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
256 | DELETE FROM record WHERE record_name IN (SELECT record_name FROM zombie_record_name_view);
257 | DELETE FROM feed WHERE feed_url IN(SELECT feed_url FROM zombie_feed_url_view);
[58/65] Compiling FeedKit Queued.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:246:14: warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
| |- warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromQueuedEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromQueuedEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:247:14: warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
| |- warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromPrevEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromPrevEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | static var SQLToDeleteAll = """
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:249:14: warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
249 | static var SQLToDeleteAll = """
| |- warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteAll' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteAll' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
250 | DELETE FROM record;
251 | DELETE FROM feed;
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:255:14: warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
253 | """
254 |
255 | static var SQLToDeleteZombies = """
| |- warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteZombies' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteZombies' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
256 | DELETE FROM record WHERE record_name IN (SELECT record_name FROM zombie_record_name_view);
257 | DELETE FROM feed WHERE feed_url IN(SELECT feed_url FROM zombie_feed_url_view);
[59/65] Compiling FeedKit Subscribing.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:246:14: warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
| |- warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromQueuedEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromQueuedEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:247:14: warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
| |- warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromPrevEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromPrevEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | static var SQLToDeleteAll = """
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:249:14: warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
249 | static var SQLToDeleteAll = """
| |- warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteAll' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteAll' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
250 | DELETE FROM record;
251 | DELETE FROM feed;
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:255:14: warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
253 | """
254 |
255 | static var SQLToDeleteZombies = """
| |- warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteZombies' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteZombies' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
256 | DELETE FROM record WHERE record_name IN (SELECT record_name FROM zombie_record_name_view);
257 | DELETE FROM feed WHERE feed_url IN(SELECT feed_url FROM zombie_feed_url_view);
[60/65] Compiling FeedKit Subscription.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:246:14: warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
| |- warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromQueuedEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromQueuedEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:247:14: warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
| |- warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromPrevEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromPrevEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | static var SQLToDeleteAll = """
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:249:14: warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
249 | static var SQLToDeleteAll = """
| |- warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteAll' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteAll' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
250 | DELETE FROM record;
251 | DELETE FROM feed;
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:255:14: warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
253 | """
254 |
255 | static var SQLToDeleteZombies = """
| |- warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteZombies' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteZombies' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
256 | DELETE FROM record WHERE record_name IN (SELECT record_name FROM zombie_record_name_view);
257 | DELETE FROM feed WHERE feed_url IN(SELECT feed_url FROM zombie_feed_url_view);
[61/65] Compiling FeedKit UserCache.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:246:14: warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
244 |
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
| |- warning: static property 'SQLToDeleteFromQueuedEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromQueuedEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromQueuedEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:247:14: warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
245 | static var SQLToDeleteFromSubscribed = "DELETE FROM subscribed_feed;"
246 | static var SQLToDeleteFromQueuedEntry = "DELETE FROM queued_entry;"
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
| |- warning: static property 'SQLToDeleteFromPrevEntry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteFromPrevEntry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteFromPrevEntry' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
248 |
249 | static var SQLToDeleteAll = """
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:249:14: warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
247 | static var SQLToDeleteFromPrevEntry = "DELETE FROM prev_entry;"
248 |
249 | static var SQLToDeleteAll = """
| |- warning: static property 'SQLToDeleteAll' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteAll' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteAll' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
250 | DELETE FROM record;
251 | DELETE FROM feed;
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/User/UserSQLFormatter.swift:255:14: warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
253 | """
254 |
255 | static var SQLToDeleteZombies = """
| |- warning: static property 'SQLToDeleteZombies' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'SQLToDeleteZombies' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'SQLToDeleteZombies' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
256 | DELETE FROM record WHERE record_name IN (SELECT record_name FROM zombie_record_name_view);
257 | DELETE FROM feed WHERE feed_url IN(SELECT feed_url FROM zombie_feed_url_view);
[62/65] Compiling FeedKit SearchRepoOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SearchRepoOperation.swift:16:7: warning: class 'SearchRepoOperation' must restate inherited '@unchecked Sendable' conformance
14 |
15 | /// An abstract class to be extended by search repository operations.
16 | class SearchRepoOperation: SessionTaskOperation {
| `- warning: class 'SearchRepoOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | let cache: SearchCaching
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SuggestOperation.swift:19:13: warning: class 'SuggestOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | // An operation to get search suggestions.
19 | final class SuggestOperation: SearchRepoOperation {
| `- warning: class 'SuggestOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | var perFindGroupBlock: ((Error?, [Find]) -> Void)?
[63/65] Compiling FeedKit SuggestOperation.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SearchRepoOperation.swift:16:7: warning: class 'SearchRepoOperation' must restate inherited '@unchecked Sendable' conformance
14 |
15 | /// An abstract class to be extended by search repository operations.
16 | class SearchRepoOperation: SessionTaskOperation {
| `- warning: class 'SearchRepoOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | let cache: SearchCaching
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SuggestOperation.swift:19:13: warning: class 'SuggestOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | // An operation to get search suggestions.
19 | final class SuggestOperation: SearchRepoOperation {
| `- warning: class 'SuggestOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | var perFindGroupBlock: ((Error?, [Find]) -> Void)?
[64/65] Compiling FeedKit SearchRepository.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SearchRepoOperation.swift:16:7: warning: class 'SearchRepoOperation' must restate inherited '@unchecked Sendable' conformance
14 |
15 | /// An abstract class to be extended by search repository operations.
16 | class SearchRepoOperation: SessionTaskOperation {
| `- warning: class 'SearchRepoOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | let cache: SearchCaching
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SuggestOperation.swift:19:13: warning: class 'SuggestOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | // An operation to get search suggestions.
19 | final class SuggestOperation: SearchRepoOperation {
| `- warning: class 'SuggestOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | var perFindGroupBlock: ((Error?, [Find]) -> Void)?
[65/65] Compiling FeedKit Searching.swift
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SearchRepoOperation.swift:16:7: warning: class 'SearchRepoOperation' must restate inherited '@unchecked Sendable' conformance
14 |
15 | /// An abstract class to be extended by search repository operations.
16 | class SearchRepoOperation: SessionTaskOperation {
| `- warning: class 'SearchRepoOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | let cache: SearchCaching
/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Search/Operation/SuggestOperation.swift:19:13: warning: class 'SuggestOperation' must restate inherited '@unchecked Sendable' conformance
17 |
18 | // An operation to get search suggestions.
19 | final class SuggestOperation: SearchRepoOperation {
| `- warning: class 'SuggestOperation' must restate inherited '@unchecked Sendable' conformance
20 |
21 | var perFindGroupBlock: ((Error?, [Find]) -> Void)?
Build complete! (16.33s)
Build complete.
{
"dependencies" : [
{
"identity" : "manger-kit",
"requirement" : {
"range" : [
{
"lower_bound" : "8.0.0",
"upper_bound" : "9.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/michaelnisi/manger-kit"
},
{
"identity" : "fanboy-kit",
"requirement" : {
"range" : [
{
"lower_bound" : "9.0.0",
"upper_bound" : "10.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/michaelnisi/fanboy-kit"
},
{
"identity" : "ola",
"requirement" : {
"range" : [
{
"lower_bound" : "12.0.0",
"upper_bound" : "13.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/michaelnisi/ola"
},
{
"identity" : "skull",
"requirement" : {
"range" : [
{
"lower_bound" : "11.0.0",
"upper_bound" : "12.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/michaelnisi/skull"
},
{
"identity" : "swift-snapshot-testing",
"requirement" : {
"range" : [
{
"lower_bound" : "1.9.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/pointfreeco/swift-snapshot-testing"
}
],
"manifest_display_name" : "FeedKit",
"name" : "FeedKit",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "FeedKit",
"targets" : [
"FeedKit"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "FeedKitTests",
"module_type" : "SwiftTarget",
"name" : "FeedKitTests",
"path" : "Tests/FeedKitTests",
"product_dependencies" : [
"SnapshotTesting"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/Resources/entries.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/Resources/feed_query.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/Resources/feeds.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/Resources/search.json",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/LibrarySQLTests/testSQLToDeleteSuggestionsMatchingTerm.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/LibrarySQLTests/testSQLToInsertEntry.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/LibrarySQLTests/testSQLToInsertFeed.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/LibrarySQLTests/testSQLToSelectEntriesMatchingTerm.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/LibrarySQLTests/testSQLToSelectFeedsByTerm.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/LibrarySQLTests/testSQLToSelectFeedsMatchingTerm.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/LibrarySQLTests/testSQLToSelectSuggestionsForTerm.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/LibrarySQLTests/testSQLToUpdate.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/LibrarySQLTests/testSQLToUpdateFeed.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/LibrarySQLTests/testSQLToUpdateITunesFeed.should-keep-link.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/UserSQLTests/testSQLToQueueEntry.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/UserSQLTests/testSQLToQueueEntry.2.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/UserSQLTests/testSQLToQueueEntry.3.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/UserSQLTests/testSQLToReplaceSubscriptions.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/UserSQLTests/testSQLToReplaceSubscriptions.2.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/UserSQLTests/testSQLToReplaceSubscriptions.3.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/UserSQLTests/testSQLToReplaceSynced.1.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/UserSQLTests/testSQLToReplaceSynced.2.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/UserSQLTests/testSQLToReplaceSynced.3.txt",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Tests/FeedKitTests/__Snapshots__/UserSQLTests/testSQLToReplaceSynced.4.txt",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"FeedCacheTests.swift",
"FeedRepositoryTests.swift",
"HashTests.swift",
"LibrarySQLTests.swift",
"QueueTests.swift",
"SQLTests.swift",
"SearchRepositoryTests.swift",
"SerializeTests.swift",
"UserCacheTests.swift",
"UserLibraryTests.swift",
"UserSQLTests.swift",
"common.swift"
],
"target_dependencies" : [
"FeedKit"
],
"type" : "test"
},
{
"c99name" : "FeedKit",
"module_type" : "SwiftTarget",
"name" : "FeedKit",
"path" : "Sources/FeedKit",
"product_dependencies" : [
"MangerKit",
"FanboyKit",
"Ola",
"Skull"
],
"product_memberships" : [
"FeedKit"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Resources/cache.sql",
"rule" : {
"process" : {
}
}
},
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/FeedKit/Resources/user.sql",
"rule" : {
"process" : {
}
}
}
],
"sources" : [
"Browse/Browsing.swift",
"Browse/FeedCache.swift",
"Browse/FeedRepository.swift",
"Browse/LibrarySQLFormatter.swift",
"Browse/Operation/BrowseOperation.swift",
"Browse/Operation/EntriesOperation.swift",
"Browse/Operation/FeedsOperation.swift",
"Browse/RemoteRepository.swift",
"Browse/serialize.swift",
"Cache/Caching.swift",
"Cache/SQLFormatter.swift",
"Cache/hash.swift",
"Core/Enclosure.swift",
"Core/Entry.swift",
"Core/EntryLocator.swift",
"Core/Feed.swift",
"Core/FeedKitError.swift",
"Core/ITunesItem.swift",
"Core/Redirectable.swift",
"Operation/ConcurrentOperation.swift",
"Operation/FeedURLsDependent.swift",
"Operation/LocatorsDependent.swift",
"Operation/Providing.swift",
"Operation/ReachHostOperation.swift",
"Operation/ReachabilityDependent.swift",
"Operation/Receiving.swift",
"Operation/SessionTaskOperation.swift",
"Search/Operation/SearchOperation.swift",
"Search/Operation/SearchRepoOperation.swift",
"Search/Operation/SuggestOperation.swift",
"Search/SearchRepository.swift",
"Search/Searching.swift",
"User/Operation/EnqueueOperation.swift",
"User/Operation/FetchQueueOperation.swift",
"User/Operation/FetchSubscribedFeedsOperation.swift",
"User/Operation/PrepareUpdateOperation.swift",
"User/Queued.swift",
"User/Subscribing.swift",
"User/Subscription.swift",
"User/UserCache.swift",
"User/UserLibrary.swift",
"User/UserSQLFormatter.swift",
"User/queue.swift"
],
"type" : "library"
}
],
"tools_version" : "5.3"
}
Done.