The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

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.