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 SwiftFileStore, reference main (dc18e7), with Swift 6.0 for macOS (SPM) on 30 Jan 2025 00:22:57 UTC.

Swift 6 data race errors: 5

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 4.60.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/juyan/swift-filestore.git
Reference: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/juyan/swift-filestore
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at dc18e7a Add API to read raw data (#11)
Cloned https://github.com/juyan/swift-filestore.git
Revision (git rev-parse @):
dc18e7af814e896a81b981341a6c77d37f2e6e06
SUCCESS checkout https://github.com/juyan/swift-filestore.git at main
========================================
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": "swift-filestore",
      "name": "SwiftFileStore",
      "url": "https://github.com/juyan/swift-filestore.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-filestore",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/juyan/swift-filestore.git
[1/212] Fetching swift-filestore
Fetched https://github.com/juyan/swift-filestore.git from cache (0.67s)
Creating working copy for https://github.com/juyan/swift-filestore.git
Working copy of https://github.com/juyan/swift-filestore.git resolved at main (dc18e7a)
warning: '.resolve-product-dependencies': dependency 'swift-filestore' is not used by any target
Found 0 product dependencies
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/juyan/swift-filestore.git
https://github.com/juyan/swift-filestore.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftFileStore",
  "name" : "SwiftFileStore",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftFileStore",
      "targets" : [
        "SwiftFileStore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftFileStoreTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftFileStoreTests",
      "path" : "Tests/SwiftFileStoreTests",
      "sources" : [
        "FileObjectStoreTests.swift",
        "MemoryObjectStoreTests.swift",
        "PersistenceLogTests.swift",
        "TestObject.swift",
        "XCTestCase+.swift"
      ],
      "target_dependencies" : [
        "SwiftFileStore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftFileStore",
      "module_type" : "SwiftTarget",
      "name" : "SwiftFileStore",
      "path" : "Sources/SwiftFileStore",
      "product_memberships" : [
        "SwiftFileStore"
      ],
      "sources" : [
        "FileObjectStore.swift",
        "JSONDataRepresentable.swift",
        "MemoryObjectStore.swift",
        "ObjectStore+Expiry.swift",
        "ObjectStore.swift",
        "Observer.swift",
        "ObserverManager.swift",
        "PersistenceLog.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.2.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-5BDAB9E9C0126B9D.txt
[3/11] Compiling SwiftFileStore PersistenceLog.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/PersistenceLog.swift:54:17: warning: non-sendable type 'Self.Element' in parameter of the protocol requirement satisfied by actor-isolated instance method 'append(element:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
52 |     }
53 |
54 |     public func append(element: ElementType) async throws {
   |                 `- warning: non-sendable type 'Self.Element' in parameter of the protocol requirement satisfied by actor-isolated instance method 'append(element:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
55 |         try fileHandle.seekToEnd()
56 |         let data = try element.serialize()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/PersistenceLog.swift:62:17: warning: non-sendable type '[ElementType]' returned by actor-isolated instance method 'flush()' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
15 | }
16 |
17 | public actor PersistenceLogImpl<ElementType>: PersistenceLog where ElementType: DataRepresentable {
   |                                 `- note: consider making generic parameter 'ElementType' conform to the 'Sendable' protocol
18 |     public typealias Element = ElementType
19 |
   :
60 |     }
61 |
62 |     public func flush() async throws -> [ElementType] {
   |                 `- warning: non-sendable type '[ElementType]' returned by actor-isolated instance method 'flush()' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
63 |         try fileHandle.seek(toOffset: 0)
64 |         let fileData = try fileHandle.readToEnd()
[4/11] Compiling SwiftFileStore ObjectStore+Expiry.swift
[5/11] Compiling SwiftFileStore Observer.swift
[6/11] Compiling SwiftFileStore FileObjectStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/FileObjectStore.swift:126:1: warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
124 | }
125 |
126 | extension String: Error {}
    | |- warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
127 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/FileObjectStore.swift:83:46: warning: non-sendable type 'Observer' returned by call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 81 |
 82 |     public func observe<T>(key: String, namespace: String, objectType: T.Type) async -> AsyncThrowingStream<T?, Error> where T: DataRepresentable {
 83 |         let observer = await observerManager.getObserver(key: key, namespace: namespace)
    |                                              `- warning: non-sendable type 'Observer' returned by call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
 84 |         do {
 85 |             let existingValue = try await read(key: key, namespace: namespace, objectType: objectType)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/Observer.swift:7:13: note: class 'Observer' does not conform to the 'Sendable' protocol
 5 | import Foundation
 6 |
 7 | final class Observer {
   |             `- note: class 'Observer' does not conform to the 'Sendable' protocol
 8 |     let key: String
 9 |     let namespace: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/FileObjectStore.swift:99:21: warning: capture of 'observer' with non-sendable type 'Observer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 97 |                 }
 98 |                 continuation.onTermination = { @Sendable _ in
 99 |                     observer.callbacks.removeValue(forKey: callbackID)
    |                     `- warning: capture of 'observer' with non-sendable type 'Observer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
100 |                 }
101 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/Observer.swift:7:13: note: class 'Observer' does not conform to the 'Sendable' protocol
 5 | import Foundation
 6 |
 7 | final class Observer {
   |             `- note: class 'Observer' does not conform to the 'Sendable' protocol
 8 |     let key: String
 9 |     let namespace: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/FileObjectStore.swift:53:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 51 |         try FileManager.default.createDirIfNotExist(url: dirURL)
 52 |         try object.serialize().write(to: fileURL)
 53 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 54 |             await observerManager.publishValue(key: key, namespace: namespace, value: object)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 55 |         }
 56 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/FileObjectStore.swift:54:35: warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
 52 |         try object.serialize().write(to: fileURL)
 53 |         Task {
 54 |             await observerManager.publishValue(key: key, namespace: namespace, value: object)
    |                                   |- warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
    |                                   `- note: sending task-isolated 'object' to actor-isolated instance method 'publishValue(key:namespace:value:)' risks causing data races between actor-isolated and task-isolated uses
 55 |         }
 56 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/FileObjectStore.swift:64:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 62 |             try FileManager.default.removeItem(at: fileURL)
 63 |         }
 64 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 65 |             await observerManager.publishRemoval(namespace: namespace, key: key)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 66 |         }
 67 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/FileObjectStore.swift:72:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 70 |         let dirURL = rootDir.appendingPathComponent(namespace)
 71 |         try FileManager.default.removeItem(at: dirURL)
 72 |         Task {
    |              `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
 73 |             await observerManager.publishRemoval(namespace: namespace)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
 74 |         }
 75 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/FileObjectStore.swift:87:30: warning: sending 'existingValue' risks causing data races; this is an error in the Swift 6 language mode
 85 |             let existingValue = try await read(key: key, namespace: namespace, objectType: objectType)
 86 |             return AsyncThrowingStream { continuation in
 87 |                 continuation.yield(existingValue)
    |                              |- warning: sending 'existingValue' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: task-isolated 'existingValue' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
 88 |                 let callbackID = UUID().uuidString
 89 |                 observer.registerCallback(id: callbackID) { data in
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/FileObjectStore.swift:91:38: warning: task-isolated value of type 'T' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 89 |                 observer.registerCallback(id: callbackID) { data in
 90 |                     if let d = data, let typed = d as? T {
 91 |                         continuation.yield(typed)
    |                                      `- warning: task-isolated value of type 'T' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
 92 |                     } else if data == nil {
 93 |                         continuation.yield(nil)
[7/11] Compiling SwiftFileStore ObserverManager.swift
[8/11] Compiling SwiftFileStore MemoryObjectStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/MemoryObjectStore.swift:18:17: warning: non-sendable type 'T?' returned by actor-isolated instance method 'read(key:namespace:objectType:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
16 |     }
17 |
18 |     public func read<T>(key: String, namespace: String, objectType _: T.Type) async throws -> T? where T: DataRepresentable {
   |                 |    `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |                 `- warning: non-sendable type 'T?' returned by actor-isolated instance method 'read(key:namespace:objectType:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
19 |         objects[namespace]?[key].flatMap { try? T.from(data: $0) }
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/MemoryObjectStore.swift:22:17: warning: non-sendable type 'T' in parameter of the protocol requirement satisfied by actor-isolated instance method 'write(key:namespace:object:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
20 |     }
21 |
22 |     public func write<T>(key: String, namespace: String, object: T) async throws where T: DataRepresentable {
   |                 `- warning: non-sendable type 'T' in parameter of the protocol requirement satisfied by actor-isolated instance method 'write(key:namespace:object:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
23 |         let data = try object.serialize()
24 |         objects[namespace, default: [:]][key] = data
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/ObjectStore.swift:36:16: note: consider making generic parameter 'T' conform to the 'Sendable' protocol
34 |     ///   - namespace: namespace of the object, such as "Cats"
35 |     ///   - object: The object to write
36 |     func write<T>(key: String, namespace: String, object: T) async throws where T: DataRepresentable
   |                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
37 |
38 |     /// Remove an object from storage
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/MemoryObjectStore.swift:42:17: warning: non-sendable type 'AsyncThrowingStream<T?, any Error>' returned by actor-isolated instance method 'observe(key:namespace:objectType:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
40 |     }
41 |
42 |     public func observe<T>(key: String, namespace: String, objectType: T.Type) async -> AsyncThrowingStream<T?, Error> where T: DataRepresentable {
   |                 |       `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |                 `- warning: non-sendable type 'AsyncThrowingStream<T?, any Error>' returned by actor-isolated instance method 'observe(key:namespace:objectType:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
43 |         let observer = await observerManager.getObserver(key: key, namespace: namespace)
44 |         do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/MemoryObjectStore.swift:43:46: warning: non-sendable type 'Observer' returned by call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
41 |
42 |     public func observe<T>(key: String, namespace: String, objectType: T.Type) async -> AsyncThrowingStream<T?, Error> where T: DataRepresentable {
43 |         let observer = await observerManager.getObserver(key: key, namespace: namespace)
   |                                              `- warning: non-sendable type 'Observer' returned by call to actor-isolated function cannot cross actor boundary; this is an error in the Swift 6 language mode
44 |         do {
45 |             let existingValue = try await read(key: key, namespace: namespace, objectType: objectType)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/Observer.swift:7:13: note: class 'Observer' does not conform to the 'Sendable' protocol
 5 | import Foundation
 6 |
 7 | final class Observer {
   |             `- note: class 'Observer' does not conform to the 'Sendable' protocol
 8 |     let key: String
 9 |     let namespace: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/MemoryObjectStore.swift:59:21: warning: capture of 'observer' with non-sendable type 'Observer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
57 |                 }
58 |                 continuation.onTermination = { @Sendable _ in
59 |                     observer.callbacks.removeValue(forKey: callbackID)
   |                     `- warning: capture of 'observer' with non-sendable type 'Observer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
60 |                 }
61 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/Observer.swift:7:13: note: class 'Observer' does not conform to the 'Sendable' protocol
 5 | import Foundation
 6 |
 7 | final class Observer {
   |             `- note: class 'Observer' does not conform to the 'Sendable' protocol
 8 |     let key: String
 9 |     let namespace: String
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/MemoryObjectStore.swift:25:31: warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
23 |         let data = try object.serialize()
24 |         objects[namespace, default: [:]][key] = data
25 |         await observerManager.publishValue(key: key, namespace: namespace, value: object)
   |                               |- warning: sending 'object' risks causing data races; this is an error in the Swift 6 language mode
   |                               `- note: sending 'self'-isolated 'object' to actor-isolated instance method 'publishValue(key:namespace:value:)' risks causing data races between actor-isolated and 'self'-isolated uses
26 |     }
27 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/MemoryObjectStore.swift:47:30: warning: sending 'existingValue' risks causing data races; this is an error in the Swift 6 language mode
45 |             let existingValue = try await read(key: key, namespace: namespace, objectType: objectType)
46 |             return AsyncThrowingStream { continuation in
47 |                 continuation.yield(existingValue)
   |                              |- warning: sending 'existingValue' risks causing data races; this is an error in the Swift 6 language mode
   |                              `- note: task-isolated 'existingValue' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
48 |                 let callbackID = UUID().uuidString
49 |                 observer.registerCallback(id: callbackID) { data in
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/MemoryObjectStore.swift:51:38: warning: task-isolated value of type 'T' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
49 |                 observer.registerCallback(id: callbackID) { data in
50 |                     if let d = data, let typed = d as? T {
51 |                         continuation.yield(typed)
   |                                      `- warning: task-isolated value of type 'T' passed as a strongly transferred parameter; later accesses could race; this is an error in the Swift 6 language mode
52 |                     } else if data == nil {
53 |                         continuation.yield(nil)
[9/11] Compiling SwiftFileStore JSONDataRepresentable.swift
[10/11] Emitting module SwiftFileStore
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/FileObjectStore.swift:126:1: warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
124 | }
125 |
126 | extension String: Error {}
    | |- warning: extension declares a conformance of imported type 'String' to imported protocol 'Error'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
127 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/MemoryObjectStore.swift:18:17: warning: non-sendable type 'T?' returned by actor-isolated instance method 'read(key:namespace:objectType:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
16 |     }
17 |
18 |     public func read<T>(key: String, namespace: String, objectType _: T.Type) async throws -> T? where T: DataRepresentable {
   |                 |    `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |                 `- warning: non-sendable type 'T?' returned by actor-isolated instance method 'read(key:namespace:objectType:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
19 |         objects[namespace]?[key].flatMap { try? T.from(data: $0) }
20 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/MemoryObjectStore.swift:22:17: warning: non-sendable type 'T' in parameter of the protocol requirement satisfied by actor-isolated instance method 'write(key:namespace:object:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
20 |     }
21 |
22 |     public func write<T>(key: String, namespace: String, object: T) async throws where T: DataRepresentable {
   |                 `- warning: non-sendable type 'T' in parameter of the protocol requirement satisfied by actor-isolated instance method 'write(key:namespace:object:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
23 |         let data = try object.serialize()
24 |         objects[namespace, default: [:]][key] = data
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/ObjectStore.swift:36:16: note: consider making generic parameter 'T' conform to the 'Sendable' protocol
34 |     ///   - namespace: namespace of the object, such as "Cats"
35 |     ///   - object: The object to write
36 |     func write<T>(key: String, namespace: String, object: T) async throws where T: DataRepresentable
   |                `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
37 |
38 |     /// Remove an object from storage
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/MemoryObjectStore.swift:42:17: warning: non-sendable type 'AsyncThrowingStream<T?, any Error>' returned by actor-isolated instance method 'observe(key:namespace:objectType:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
40 |     }
41 |
42 |     public func observe<T>(key: String, namespace: String, objectType: T.Type) async -> AsyncThrowingStream<T?, Error> where T: DataRepresentable {
   |                 |       `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
   |                 `- warning: non-sendable type 'AsyncThrowingStream<T?, any Error>' returned by actor-isolated instance method 'observe(key:namespace:objectType:)' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
43 |         let observer = await observerManager.getObserver(key: key, namespace: namespace)
44 |         do {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/PersistenceLog.swift:54:17: warning: non-sendable type 'Self.Element' in parameter of the protocol requirement satisfied by actor-isolated instance method 'append(element:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
52 |     }
53 |
54 |     public func append(element: ElementType) async throws {
   |                 `- warning: non-sendable type 'Self.Element' in parameter of the protocol requirement satisfied by actor-isolated instance method 'append(element:)' cannot cross actor boundary; this is an error in the Swift 6 language mode
55 |         try fileHandle.seekToEnd()
56 |         let data = try element.serialize()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFileStore/PersistenceLog.swift:62:17: warning: non-sendable type '[ElementType]' returned by actor-isolated instance method 'flush()' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
15 | }
16 |
17 | public actor PersistenceLogImpl<ElementType>: PersistenceLog where ElementType: DataRepresentable {
   |                                 `- note: consider making generic parameter 'ElementType' conform to the 'Sendable' protocol
18 |     public typealias Element = ElementType
19 |
   :
60 |     }
61 |
62 |     public func flush() async throws -> [ElementType] {
   |                 `- warning: non-sendable type '[ElementType]' returned by actor-isolated instance method 'flush()' satisfying protocol requirement cannot cross actor boundary; this is an error in the Swift 6 language mode
63 |         try fileHandle.seek(toOffset: 0)
64 |         let fileData = try fileHandle.readToEnd()
[11/11] Compiling SwiftFileStore ObjectStore.swift
Build complete! (11.00s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftFileStore",
  "name" : "SwiftFileStore",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "tvos",
      "version" : "14.0"
    },
    {
      "name" : "watchos",
      "version" : "8.0"
    }
  ],
  "products" : [
    {
      "name" : "SwiftFileStore",
      "targets" : [
        "SwiftFileStore"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftFileStoreTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftFileStoreTests",
      "path" : "Tests/SwiftFileStoreTests",
      "sources" : [
        "FileObjectStoreTests.swift",
        "MemoryObjectStoreTests.swift",
        "PersistenceLogTests.swift",
        "TestObject.swift",
        "XCTestCase+.swift"
      ],
      "target_dependencies" : [
        "SwiftFileStore"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftFileStore",
      "module_type" : "SwiftTarget",
      "name" : "SwiftFileStore",
      "path" : "Sources/SwiftFileStore",
      "product_memberships" : [
        "SwiftFileStore"
      ],
      "sources" : [
        "FileObjectStore.swift",
        "JSONDataRepresentable.swift",
        "MemoryObjectStore.swift",
        "ObjectStore+Expiry.swift",
        "ObjectStore.swift",
        "Observer.swift",
        "ObserverManager.swift",
        "PersistenceLog.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.