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 FuturaLog, reference master (088587), with Swift 6.0 for macOS (SPM) on 27 Nov 2024 03:23:17 UTC.

Swift 6 data race errors: 2

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 -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.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/kaqu/futuralog.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/kaqu/futuralog
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 088587a Update README.md
Cloned https://github.com/kaqu/futuralog.git
Revision (git rev-parse @):
088587a555814bd6449253d5d18ddd181c2e6f29
SUCCESS checkout https://github.com/kaqu/futuralog.git at master
========================================
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": "futuralog",
      "name": "FuturaLog",
      "url": "https://github.com/kaqu/futuralog.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/futuralog",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/kaqu/futuralog.git
[1/157] Fetching futuralog
Fetched https://github.com/kaqu/futuralog.git from cache (0.64s)
Creating working copy for https://github.com/kaqu/futuralog.git
Working copy of https://github.com/kaqu/futuralog.git resolved at master (088587a)
warning: '.resolve-product-dependencies': dependency 'futuralog' 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/kaqu/futuralog.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 -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--7754E27361AE5C74.txt
[3/17] Compiling FuturaLog LogEnvironment.swift
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 |         return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 |     }
[4/18] Compiling FuturaLog LogPackage.swift
[5/18] Compiling FuturaLog LogPrinter.swift
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 |     case crash
   :
34 |     case void // not present in `all` property since void is special type which is ignored by default
35 |
36 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
37 | }
38 |
[6/18] Compiling FuturaLog LogStorage.swift
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 |     case crash
   :
34 |     case void // not present in `all` property since void is special type which is ignored by default
35 |
36 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
37 | }
38 |
[7/18] Compiling FuturaLog Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Logger.swift:7:28: warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 5 |     public static let sessionID: String = UUID().uuidString
 6 |
 7 |     fileprivate static var recievers: Array<LogReceiver> = []
   |                            |- warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                            |- note: convert 'recievers' to a 'let' constant to make 'Sendable' shared state immutable
   |                            |- note: annotate 'recievers' 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
 8 |     fileprivate static let logsQueue = DispatchQueue(label: "futura.log.mainQueue", qos: .utility)
 9 | }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Logger.swift:14:44: warning: capture of 'reciever' with non-sendable type 'any LogReceiver' in a `@Sendable` closure; this is an error in the Swift 6 language mode
12 |
13 |     static func addReciever(_ reciever: LogReceiver) {
14 |         logsQueue.async { recievers.append(reciever) }
   |                                            `- warning: capture of 'reciever' with non-sendable type 'any LogReceiver' in a `@Sendable` closure; this is an error in the Swift 6 language mode
15 |     }
16 |
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/LogReceiver.swift:3:17: note: protocol 'LogReceiver' does not conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public protocol LogReceiver {
   |                 `- note: protocol 'LogReceiver' does not conform to the 'Sendable' protocol
 4 |
 5 |     var allowedCategories: [LogCategory] { get }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Logger.swift:18:58: warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
16 |
17 |     static func send(_ log: Log) {
18 |         logsQueue.async { recievers.forEach { $0.recieve(log) } }
   |                                                          `- warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
19 |     }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
 4 |
 5 |     public let category: LogCategory
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Logger.swift:18:58: warning: capture of 'log' with non-sendable type 'Log' in an isolated closure; this is an error in the Swift 6 language mode
16 |
17 |     static func send(_ log: Log) {
18 |         logsQueue.async { recievers.forEach { $0.recieve(log) } }
   |                                                          `- warning: capture of 'log' with non-sendable type 'Log' in an isolated closure; this is an error in the Swift 6 language mode
19 |     }
20 |
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
 4 |
 5 |     public let category: LogCategory
[8/18] Compiling FuturaLog FlatLog.swift
[9/18] Compiling FuturaLog LogReceiver.swift
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 |     case crash
   :
34 |     case void // not present in `all` property since void is special type which is ignored by default
35 |
36 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
37 | }
38 |
[10/18] Compiling FuturaLog LogFilePrinter.swift
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 |     case crash
   :
34 |     case void // not present in `all` property since void is special type which is ignored by default
35 |
36 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
37 | }
38 |
[11/18] Compiling FuturaLog Log.swift
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 |     case crash
   :
34 |     case void // not present in `all` property since void is special type which is ignored by default
35 |
36 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
37 | }
38 |
[12/18] Compiling FuturaLog LogFormatter.swift
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 |     case crash
   :
34 |     case void // not present in `all` property since void is special type which is ignored by default
35 |
36 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
37 | }
38 |
[13/18] Compiling FuturaLog CrashCatcher.swift
[14/18] Compiling FuturaLog FlushableTextOutputStream.swift
[15/18] Compiling FuturaLog LogFileStorage.swift
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 |     case crash
   :
34 |     case void // not present in `all` property since void is special type which is ignored by default
35 |
36 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
37 | }
38 |
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:27:19: warning: capture of 'self' with non-sendable type 'LogFileStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | // TODO: add cycling storage, session separated and date separated modes
  4 | public final class LogFileStorage : LogReceiver {
    |                    `- note: class 'LogFileStorage' does not conform to the 'Sendable' protocol
  5 |
  6 |     public static let jsonDecoder = JSONDecoder()
    :
 25 |     public func recieve(_ log: Log) {
 26 |         synchronizationQueue.async {
 27 |             guard self.allowedCategories.contains(log.category) else {
    |                   `- warning: capture of 'self' with non-sendable type 'LogFileStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 28 |                 return
 29 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:27:51: warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 25 |     public func recieve(_ log: Log) {
 26 |         synchronizationQueue.async {
 27 |             guard self.allowedCategories.contains(log.category) else {
    |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 28 |                 return
 29 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
 4 |
 5 |     public let category: LogCategory
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogMemoryStorage.swift:20:19: warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class LogMemoryStorage : LogReceiver {
   |                    `- note: class 'LogMemoryStorage' does not conform to the 'Sendable' protocol
 4 |
 5 |     fileprivate let synchronizationQueue = DispatchQueue(label: "futura.log.storage.memory.syncQueue")
   :
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                   `- warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogMemoryStorage.swift:20:51: warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
 4 |
 5 |     public let category: LogCategory
[16/18] Compiling FuturaLog LogMemoryStorage.swift
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 |     case crash
   :
34 |     case void // not present in `all` property since void is special type which is ignored by default
35 |
36 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
37 | }
38 |
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:27:19: warning: capture of 'self' with non-sendable type 'LogFileStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | // TODO: add cycling storage, session separated and date separated modes
  4 | public final class LogFileStorage : LogReceiver {
    |                    `- note: class 'LogFileStorage' does not conform to the 'Sendable' protocol
  5 |
  6 |     public static let jsonDecoder = JSONDecoder()
    :
 25 |     public func recieve(_ log: Log) {
 26 |         synchronizationQueue.async {
 27 |             guard self.allowedCategories.contains(log.category) else {
    |                   `- warning: capture of 'self' with non-sendable type 'LogFileStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 28 |                 return
 29 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogFileStorage.swift:27:51: warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 25 |     public func recieve(_ log: Log) {
 26 |         synchronizationQueue.async {
 27 |             guard self.allowedCategories.contains(log.category) else {
    |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 28 |                 return
 29 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
 4 |
 5 |     public let category: LogCategory
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogMemoryStorage.swift:20:19: warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class LogMemoryStorage : LogReceiver {
   |                    `- note: class 'LogMemoryStorage' does not conform to the 'Sendable' protocol
 4 |
 5 |     fileprivate let synchronizationQueue = DispatchQueue(label: "futura.log.storage.memory.syncQueue")
   :
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                   `- warning: capture of 'self' with non-sendable type 'LogMemoryStorage' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/LogRecievers/LogMemoryStorage.swift:20:51: warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
18 |     public func recieve(_ log: Log) {
19 |         synchronizationQueue.async {
20 |             guard self.allowedCategories.contains(log.category) else {
   |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
21 |                 return
22 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
 4 |
 5 |     public let category: LogCategory
[17/18] Emitting module FuturaLog
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 |     case crash
   :
34 |     case void // not present in `all` property since void is special type which is ignored by default
35 |
36 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
37 | }
38 |
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Logger.swift:7:28: warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 5 |     public static let sessionID: String = UUID().uuidString
 6 |
 7 |     fileprivate static var recievers: Array<LogReceiver> = []
   |                            |- warning: static property 'recievers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                            |- note: convert 'recievers' to a 'let' constant to make 'Sendable' shared state immutable
   |                            |- note: annotate 'recievers' 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
 8 |     fileprivate static let logsQueue = DispatchQueue(label: "futura.log.mainQueue", qos: .utility)
 9 | }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Server/LogEnvironment.swift:22:16: warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
20 | extension LogEnvironment : Hashable {
21 |
22 |     public var hashValue: Int {
   |                `- warning: 'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'LogEnvironment' to 'Hashable' by implementing 'hash(into:)' instead
23 |         return "\(self.name)\(self.appVersion)\(self.platform ?? "N/A")\(self.osInfo ?? "N/A")\(self.info ?? "N/A")".hashValue
24 |     }
[18/18] Compiling FuturaLog LogServer.swift
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:36:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
23 | }
24 |
25 | public enum LogCategory : String, Codable {
   |             `- note: consider making enum 'LogCategory' conform to the 'Sendable' protocol
26 |
27 |     case crash
   :
34 |     case void // not present in `all` property since void is special type which is ignored by default
35 |
36 |     public static let all: [LogCategory] = [.crash, .special, .error, .warning, .debug, .verbose, .info]
   |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[LogCategory]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                       |- note: annotate 'all' 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
37 | }
38 |
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:40:19: warning: capture of 'self' with non-sendable type 'LogServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | public final class LogServer : LogReceiver {
   |                    `- note: class 'LogServer' does not conform to the 'Sendable' protocol
 4 |
 5 |     public static let jsonEncoder: JSONEncoder = {
   :
38 |     public func recieve(_ log: Log) {
39 |         synchronizationQueue.async {
40 |             guard self.allowedCategories.contains(log.category) else {
   |                   `- warning: capture of 'self' with non-sendable type 'LogServer' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 |                 return
42 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Server/LogServer.swift:40:51: warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
38 |     public func recieve(_ log: Log) {
39 |         synchronizationQueue.async {
40 |             guard self.allowedCategories.contains(log.category) else {
   |                                                   `- warning: capture of 'log' with non-sendable type 'Log' in a `@Sendable` closure; this is an error in the Swift 6 language mode
41 |                 return
42 |             }
/Users/admin/builder/spi-builder-workspace/Sources/FuturaLog/Log.swift:3:15: note: consider making struct 'Log' conform to the 'Sendable' protocol
 1 | import Foundation
 2 |
 3 | public struct Log : Codable {
   |               `- note: consider making struct 'Log' conform to the 'Sendable' protocol
 4 |
 5 |     public let category: LogCategory
Build complete! (14.19s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "FuturaLog",
  "name" : "FuturaLog",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "FuturaLog",
      "targets" : [
        "FuturaLog"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "FuturaLogTests",
      "module_type" : "SwiftTarget",
      "name" : "FuturaLogTests",
      "path" : "Tests/FuturaLogTests",
      "sources" : [
        "FuturaLogTests.swift"
      ],
      "target_dependencies" : [
        "FuturaLog"
      ],
      "type" : "test"
    },
    {
      "c99name" : "FuturaLog",
      "module_type" : "SwiftTarget",
      "name" : "FuturaLog",
      "path" : "Sources/FuturaLog",
      "product_memberships" : [
        "FuturaLog"
      ],
      "sources" : [
        "CrashHandling/CrashCatcher.swift",
        "FlushableTextOutputStream.swift",
        "Log.swift",
        "LogFormatter.swift",
        "LogReceiver.swift",
        "LogRecievers/LogFilePrinter.swift",
        "LogRecievers/LogFileStorage.swift",
        "LogRecievers/LogMemoryStorage.swift",
        "LogRecievers/LogPrinter.swift",
        "LogStorage.swift",
        "Logger.swift",
        "Server/FlatLog.swift",
        "Server/LogEnvironment.swift",
        "Server/LogPackage.swift",
        "Server/LogServer.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "4.0"
}
Done.