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 Logger, reference v1.8.2 (c6d619), with Swift 6.0 for macOS (SPM) on 2 Dec 2024 10:43:04 UTC.

Swift 6 data race errors: 5

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.2
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/elegantchaos/Logger.git
Reference: v1.8.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/elegantchaos/Logger
 * tag               v1.8.2     -> FETCH_HEAD
HEAD is now at c6d6198 bumped minimum iOS to 13
Cloned https://github.com/elegantchaos/Logger.git
Revision (git rev-parse @):
c6d619809e9a658331a70514340f4246f5f05134
SUCCESS checkout https://github.com/elegantchaos/Logger.git at v1.8.2
========================================
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": "logger",
      "name": "Logger",
      "url": "https://github.com/elegantchaos/Logger.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Logger",
      "dependencies": [
      ]
    }
  ]
}
Fetching https://github.com/elegantchaos/Logger.git
[1/2051] Fetching logger
Fetched https://github.com/elegantchaos/Logger.git from cache (0.99s)
Creating working copy for https://github.com/elegantchaos/Logger.git
Working copy of https://github.com/elegantchaos/Logger.git resolved at v1.8.2 (c6d6198)
warning: '.resolve-product-dependencies': dependency 'logger' 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/elegantchaos/Logger.git
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Logger",
  "name" : "Logger",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "5.0"
    }
  ],
  "products" : [
    {
      "name" : "Logger",
      "targets" : [
        "Logger"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "LoggerUI",
      "targets" : [
        "LoggerUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "LoggerKit",
      "targets" : [
        "LoggerKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "LoggerTestSupport",
      "targets" : [
        "LoggerTestSupport"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "LoggerUI",
      "module_type" : "SwiftTarget",
      "name" : "LoggerUI",
      "path" : "Sources/LoggerUI",
      "product_memberships" : [
        "LoggerUI"
      ],
      "sources" : [
        "LoggerChannelsView.swift"
      ],
      "target_dependencies" : [
        "Logger"
      ],
      "type" : "library"
    },
    {
      "c99name" : "LoggerTests",
      "module_type" : "SwiftTarget",
      "name" : "LoggerTests",
      "path" : "Tests/LoggerTests",
      "sources" : [
        "LoggerTests.swift",
        "UserDefaultsTests.swift"
      ],
      "target_dependencies" : [
        "Logger",
        "LoggerTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "LoggerTestSupport",
      "module_type" : "SwiftTarget",
      "name" : "LoggerTestSupport",
      "path" : "Sources/LoggerTestSupport",
      "product_memberships" : [
        "LoggerTestSupport"
      ],
      "sources" : [
        "XCTest+Logger.swift"
      ],
      "target_dependencies" : [
        "Logger"
      ],
      "type" : "library"
    },
    {
      "c99name" : "LoggerKitTests",
      "module_type" : "SwiftTarget",
      "name" : "LoggerKitTests",
      "path" : "Tests/LoggerKitTests",
      "sources" : [
        "ChainableResponderTests.swift"
      ],
      "target_dependencies" : [
        "LoggerKit",
        "LoggerTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "LoggerKit",
      "module_type" : "SwiftTarget",
      "name" : "LoggerKit",
      "path" : "Sources/LoggerKit",
      "product_memberships" : [
        "LoggerKit"
      ],
      "sources" : [
        "ChainableResponder.swift",
        "LoggerApplication+AppKit.swift",
        "LoggerApplication+LoggerMenu.swift",
        "LoggerApplication+UIKit.swift",
        "LoggerApplication.swift",
        "LoggerMenu+AppKit.swift",
        "LoggerMenu+UIKit.swift",
        "LoggerScene.swift",
        "LoggerSettingsView.swift"
      ],
      "target_dependencies" : [
        "Logger"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Logger",
      "module_type" : "SwiftTarget",
      "name" : "Logger",
      "path" : "Sources/Logger",
      "product_memberships" : [
        "Logger",
        "LoggerUI",
        "LoggerKit",
        "LoggerTestSupport"
      ],
      "sources" : [
        "Channel.swift",
        "Context.swift",
        "Handler.swift",
        "Manager.swift",
        "ManagerSettings.swift",
        "NSLogHandler.swift",
        "OSLogHandler.swift",
        "PrintHandler.swift",
        "UserDefaultsManagerSettings.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
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/5] Write sources
[4/5] Write swift-version--7754E27361AE5C74.txt
[6/15] Compiling Logger PrintHandler.swift
[7/15] Compiling Logger ManagerSettings.swift
[8/15] Compiling Logger OSLogHandler.swift
[9/15] Compiling Logger NSLogHandler.swift
[10/15] Compiling Logger Handler.swift
[11/15] Compiling Logger UserDefaultsManagerSettings.swift
[12/15] Compiling Logger Context.swift
[13/15] Compiling Logger Channel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:21:23: warning: static property 'stdoutHandler' is not concurrency-safe because non-'Sendable' type 'PrintHandler' may have shared mutable state; this is an error in the Swift 6 language mode
 19 |      */
 20 |
 21 |     public static let stdoutHandler = PrintHandler("default", showName: false, showSubsystem: false)
    |                       |- warning: static property 'stdoutHandler' is not concurrency-safe because non-'Sendable' type 'PrintHandler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'stdoutHandler' 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 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Logger/PrintHandler.swift:11:14: note: class 'PrintHandler' does not conform to the 'Sendable' protocol
 9 |  */
10 |
11 | public class PrintHandler: Handler {
   |              `- note: class 'PrintHandler' does not conform to the 'Sendable' protocol
12 |     public convenience init() {
13 |         self.init("print")
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:42:23: warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'Handler' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |     }
 41 |
 42 |     public static let defaultHandler = initDefaultHandler()
    |                       |- warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'Handler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'defaultHandler' 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
 43 |
 44 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Handler.swift:14:14: note: class 'Handler' does not conform to the 'Sendable' protocol
12 |  */
13 |
14 | public class Handler {
   |              `- note: class 'Handler' does not conform to the 'Sendable' protocol
15 |     let name: String
16 |     let showName: Bool
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:65:23: warning: static property 'stdout' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |     /**
 17 |      Default log handler which prints to standard out,
    :
 63 |      */
 64 |
 65 |     public static let stdout = Channel("stdout", handlers: [stdoutHandler], alwaysEnabled: true)
    |                       |- warning: static property 'stdout' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'stdout' 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
 66 |
 67 |     public let name: String
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Manager.swift:59:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Manager' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | /// whether or not they should share a single settings object.
 22 |
 23 | public class Manager {
    |              `- note: class 'Manager' does not conform to the 'Sendable' protocol
 24 |     typealias AssociatedChannelData = [Channel: Any]
 25 |     typealias AssociatedHandlerData = [Handler: AssociatedChannelData]
    :
 57 |      */
 58 |
 59 |     public static let shared = initDefaultManager()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Manager' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
 60 |
 61 |     /// Initialise the default log manager.
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:123:17: warning: capture of 'self' with non-sendable type 'Channel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |     /**
 17 |      Default log handler which prints to standard out,
    :
121 |             manager.queue.async {
122 |                 let context = Context(file: file, line: line, column: column, function: function)
123 |                 self.handlers.forEach { $0.log(channel: self, context: context, logged: value) }
    |                 `- warning: capture of 'self' with non-sendable type 'Channel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 |             }
125 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:123:89: warning: capture of 'value' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
121 |             manager.queue.async {
122 |                 let context = Context(file: file, line: line, column: column, function: function)
123 |                 self.handlers.forEach { $0.log(channel: self, context: context, logged: value) }
    |                                                                                         `- warning: capture of 'value' with non-sendable type 'Any' in a `@Sendable` closure; this is an error in the Swift 6 language mode
124 |             }
125 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:123:57: warning: capture of 'self' with non-sendable type 'Channel' in an isolated closure; this is an error in the Swift 6 language mode
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |     /**
 17 |      Default log handler which prints to standard out,
    :
121 |             manager.queue.async {
122 |                 let context = Context(file: file, line: line, column: column, function: function)
123 |                 self.handlers.forEach { $0.log(channel: self, context: context, logged: value) }
    |                                                         `- warning: capture of 'self' with non-sendable type 'Channel' in an isolated closure; this is an error in the Swift 6 language mode
124 |             }
125 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:123:89: warning: capture of 'value' with non-sendable type 'Any' in an isolated closure; this is an error in the Swift 6 language mode
121 |             manager.queue.async {
122 |                 let context = Context(file: file, line: line, column: column, function: function)
123 |                 self.handlers.forEach { $0.log(channel: self, context: context, logged: value) }
    |                                                                                         `- warning: capture of 'value' with non-sendable type 'Any' in an isolated closure; this is an error in the Swift 6 language mode
124 |             }
125 |         }
[14/15] Compiling Logger Manager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Manager.swift:59:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Manager' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | /// whether or not they should share a single settings object.
 22 |
 23 | public class Manager {
    |              `- note: class 'Manager' does not conform to the 'Sendable' protocol
 24 |     typealias AssociatedChannelData = [Channel: Any]
 25 |     typealias AssociatedHandlerData = [Handler: AssociatedChannelData]
    :
 57 |      */
 58 |
 59 |     public static let shared = initDefaultManager()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Manager' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
 60 |
 61 |     /// Initialise the default log manager.
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Manager.swift:174:13: warning: capture of 'self' with non-sendable type 'Manager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 21 | /// whether or not they should share a single settings object.
 22 |
 23 | public class Manager {
    |              `- note: class 'Manager' does not conform to the 'Sendable' protocol
 24 |     typealias AssociatedChannelData = [Channel: Any]
 25 |     typealias AssociatedHandlerData = [Handler: AssociatedChannelData]
    :
172 |     internal func register(channel: Channel) {
173 |         queue.async {
174 |             self.channels.append(channel)
    |             `- warning: capture of 'self' with non-sendable type 'Manager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 |             #if os(macOS) || os(iOS)
176 |             DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Manager.swift:174:34: warning: capture of 'channel' with non-sendable type 'Channel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
172 |     internal func register(channel: Channel) {
173 |         queue.async {
174 |             self.channels.append(channel)
    |                                  `- warning: capture of 'channel' with non-sendable type 'Channel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
175 |             #if os(macOS) || os(iOS)
176 |             DispatchQueue.main.async {
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |     /**
 17 |      Default log handler which prints to standard out,
[15/15] Emitting module Logger
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:21:23: warning: static property 'stdoutHandler' is not concurrency-safe because non-'Sendable' type 'PrintHandler' may have shared mutable state; this is an error in the Swift 6 language mode
 19 |      */
 20 |
 21 |     public static let stdoutHandler = PrintHandler("default", showName: false, showSubsystem: false)
    |                       |- warning: static property 'stdoutHandler' is not concurrency-safe because non-'Sendable' type 'PrintHandler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'stdoutHandler' 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 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Logger/PrintHandler.swift:11:14: note: class 'PrintHandler' does not conform to the 'Sendable' protocol
 9 |  */
10 |
11 | public class PrintHandler: Handler {
   |              `- note: class 'PrintHandler' does not conform to the 'Sendable' protocol
12 |     public convenience init() {
13 |         self.init("print")
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:42:23: warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'Handler' may have shared mutable state; this is an error in the Swift 6 language mode
 40 |     }
 41 |
 42 |     public static let defaultHandler = initDefaultHandler()
    |                       |- warning: static property 'defaultHandler' is not concurrency-safe because non-'Sendable' type 'Handler' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'defaultHandler' 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
 43 |
 44 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Handler.swift:14:14: note: class 'Handler' does not conform to the 'Sendable' protocol
12 |  */
13 |
14 | public class Handler {
   |              `- note: class 'Handler' does not conform to the 'Sendable' protocol
15 |     let name: String
16 |     let showName: Bool
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:65:23: warning: static property 'stdout' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |     /**
 17 |      Default log handler which prints to standard out,
    :
 63 |      */
 64 |
 65 |     public static let stdout = Channel("stdout", handlers: [stdoutHandler], alwaysEnabled: true)
    |                       |- warning: static property 'stdout' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'stdout' 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
 66 |
 67 |     public let name: String
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Manager.swift:59:23: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Manager' may have shared mutable state; this is an error in the Swift 6 language mode
 21 | /// whether or not they should share a single settings object.
 22 |
 23 | public class Manager {
    |              `- note: class 'Manager' does not conform to the 'Sendable' protocol
 24 |     typealias AssociatedChannelData = [Channel: Any]
 25 |     typealias AssociatedHandlerData = [Handler: AssociatedChannelData]
    :
 57 |      */
 58 |
 59 |     public static let shared = initDefaultManager()
    |                       |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Manager' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'shared' 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
 60 |
 61 |     /// Initialise the default log manager.
[16/29] Compiling LoggerKit LoggerSettingsView.swift
[17/29] Compiling LoggerKit LoggerMenu+UIKit.swift
[18/29] Compiling LoggerKit LoggerScene.swift
[19/29] Emitting module LoggerKit
/Users/admin/builder/spi-builder-workspace/Sources/LoggerKit/LoggerApplication.swift:9:12: warning: let 'applicationChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 7 | import Logger
 8 |
 9 | public let applicationChannel = Channel("Application", handlers: [OSLogHandler()])
   |            `- warning: let 'applicationChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
10 | #endif
11 |
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |     /**
 17 |      Default log handler which prints to standard out,
/Users/admin/builder/spi-builder-workspace/Sources/LoggerKit/LoggerApplication.swift:7:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 5 |
 6 | #if !os(Linux)
 7 | import Logger
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 8 |
 9 | public let applicationChannel = Channel("Application", handlers: [OSLogHandler()])
   |            |- note: annotate 'applicationChannel' 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
10 | #endif
11 |
[20/29] Compiling LoggerKit LoggerApplication+UIKit.swift
[21/29] Compiling LoggerKit LoggerApplication+AppKit.swift
/Users/admin/builder/spi-builder-workspace/Sources/LoggerKit/LoggerApplication.swift:9:12: warning: let 'applicationChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 7 | import Logger
 8 |
 9 | public let applicationChannel = Channel("Application", handlers: [OSLogHandler()])
   |            `- warning: let 'applicationChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
10 | #endif
11 |
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |     /**
 17 |      Default log handler which prints to standard out,
/Users/admin/builder/spi-builder-workspace/Sources/LoggerKit/LoggerApplication.swift:7:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 5 |
 6 | #if !os(Linux)
 7 | import Logger
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 8 |
 9 | public let applicationChannel = Channel("Application", handlers: [OSLogHandler()])
   |            |- note: annotate 'applicationChannel' 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
10 | #endif
11 |
[22/29] Compiling LoggerKit LoggerApplication.swift
/Users/admin/builder/spi-builder-workspace/Sources/LoggerKit/LoggerApplication.swift:9:12: warning: let 'applicationChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
 7 | import Logger
 8 |
 9 | public let applicationChannel = Channel("Application", handlers: [OSLogHandler()])
   |            `- warning: let 'applicationChannel' is not concurrency-safe because non-'Sendable' type 'Channel' may have shared mutable state; this is an error in the Swift 6 language mode
10 | #endif
11 |
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Channel.swift:15:14: note: class 'Channel' does not conform to the 'Sendable' protocol
 13 |  */
 14 |
 15 | public class Channel {
    |              `- note: class 'Channel' does not conform to the 'Sendable' protocol
 16 |     /**
 17 |      Default log handler which prints to standard out,
/Users/admin/builder/spi-builder-workspace/Sources/LoggerKit/LoggerApplication.swift:7:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 5 |
 6 | #if !os(Linux)
 7 | import Logger
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Logger'
 8 |
 9 | public let applicationChannel = Channel("Application", handlers: [OSLogHandler()])
   |            |- note: annotate 'applicationChannel' 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
10 | #endif
11 |
[23/29] Compiling LoggerKit ChainableResponder.swift
[24/29] Compiling LoggerKit LoggerApplication+LoggerMenu.swift
[25/29] Compiling LoggerKit LoggerMenu+AppKit.swift
[26/29] Emitting module LoggerTestSupport
[27/29] Compiling LoggerTestSupport XCTest+Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/LoggerTestSupport/XCTest+Logger.swift:36:60: warning: passing non-sendable parameter 'testcase' to function expecting a @Sendable closure
17 |      */
18 |
19 |     @discardableResult func XCTAssertFatalError(manager: Manager = Manager.shared, timeout: TimeInterval = XCTestCase.DefaultFatalErrorTimeout, testcase: @escaping () -> Void) -> Any? {
   |                                                                                                                                                 `- note: parameter 'testcase' is implicitly non-sendable
20 |         func unreachable() -> Never {
21 |             // run forever, to simulate a function that never returns
   :
34 |         }
35 |
36 |         DispatchQueue.global(qos: .default).async(execute: testcase)
   |                                                            `- warning: passing non-sendable parameter 'testcase' to function expecting a @Sendable closure
37 |
38 |         wait(for: [expectation], timeout: timeout)
[28/29] Emitting module LoggerUI
[29/29] Compiling LoggerUI LoggerChannelsView.swift
Build complete! (16.48s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "Logger",
  "name" : "Logger",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "10.13"
    },
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "5.0"
    }
  ],
  "products" : [
    {
      "name" : "Logger",
      "targets" : [
        "Logger"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "LoggerUI",
      "targets" : [
        "LoggerUI"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "LoggerKit",
      "targets" : [
        "LoggerKit"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "LoggerTestSupport",
      "targets" : [
        "LoggerTestSupport"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "LoggerUI",
      "module_type" : "SwiftTarget",
      "name" : "LoggerUI",
      "path" : "Sources/LoggerUI",
      "product_memberships" : [
        "LoggerUI"
      ],
      "sources" : [
        "LoggerChannelsView.swift"
      ],
      "target_dependencies" : [
        "Logger"
      ],
      "type" : "library"
    },
    {
      "c99name" : "LoggerTests",
      "module_type" : "SwiftTarget",
      "name" : "LoggerTests",
      "path" : "Tests/LoggerTests",
      "sources" : [
        "LoggerTests.swift",
        "UserDefaultsTests.swift"
      ],
      "target_dependencies" : [
        "Logger",
        "LoggerTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "LoggerTestSupport",
      "module_type" : "SwiftTarget",
      "name" : "LoggerTestSupport",
      "path" : "Sources/LoggerTestSupport",
      "product_memberships" : [
        "LoggerTestSupport"
      ],
      "sources" : [
        "XCTest+Logger.swift"
      ],
      "target_dependencies" : [
        "Logger"
      ],
      "type" : "library"
    },
    {
      "c99name" : "LoggerKitTests",
      "module_type" : "SwiftTarget",
      "name" : "LoggerKitTests",
      "path" : "Tests/LoggerKitTests",
      "sources" : [
        "ChainableResponderTests.swift"
      ],
      "target_dependencies" : [
        "LoggerKit",
        "LoggerTestSupport"
      ],
      "type" : "test"
    },
    {
      "c99name" : "LoggerKit",
      "module_type" : "SwiftTarget",
      "name" : "LoggerKit",
      "path" : "Sources/LoggerKit",
      "product_memberships" : [
        "LoggerKit"
      ],
      "sources" : [
        "ChainableResponder.swift",
        "LoggerApplication+AppKit.swift",
        "LoggerApplication+LoggerMenu.swift",
        "LoggerApplication+UIKit.swift",
        "LoggerApplication.swift",
        "LoggerMenu+AppKit.swift",
        "LoggerMenu+UIKit.swift",
        "LoggerScene.swift",
        "LoggerSettingsView.swift"
      ],
      "target_dependencies" : [
        "Logger"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Logger",
      "module_type" : "SwiftTarget",
      "name" : "Logger",
      "path" : "Sources/Logger",
      "product_memberships" : [
        "Logger",
        "LoggerUI",
        "LoggerKit",
        "LoggerTestSupport"
      ],
      "sources" : [
        "Channel.swift",
        "Context.swift",
        "Handler.swift",
        "Manager.swift",
        "ManagerSettings.swift",
        "NSLogHandler.swift",
        "OSLogHandler.swift",
        "PrintHandler.swift",
        "UserDefaultsManagerSettings.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.6"
}
Done.