Build Information
Successful build of Logger, reference main (c6d619
), with Swift 6.0 for macOS (SPM) on 2 Dec 2024 10:45:02 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: main
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/elegantchaos/Logger
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
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 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": "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 (1.02s)
Creating working copy for https://github.com/elegantchaos/Logger.git
Working copy of https://github.com/elegantchaos/Logger.git resolved at main (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 NSLogHandler.swift
[7/15] Compiling Logger OSLogHandler.swift
[8/15] Compiling Logger PrintHandler.swift
[9/15] Compiling Logger ManagerSettings.swift
[10/15] Compiling Logger Handler.swift
[11/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,
[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] 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.
[15/15] Compiling Logger UserDefaultsManagerSettings.swift
[16/29] Compiling LoggerKit LoggerSettingsView.swift
[17/29] Compiling LoggerKit LoggerMenu+UIKit.swift
[18/29] Compiling LoggerKit LoggerApplication+UIKit.swift
[19/29] Compiling LoggerKit LoggerApplication+LoggerMenu.swift
[20/29] Compiling LoggerKit LoggerScene.swift
[21/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 |
[22/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 |
[23/29] Compiling LoggerKit ChainableResponder.swift
[24/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 |
[25/29] Compiling LoggerKit LoggerMenu+AppKit.swift
[26/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)
[27/29] Emitting module LoggerTestSupport
[28/29] Emitting module LoggerUI
[29/29] Compiling LoggerUI LoggerChannelsView.swift
Build complete! (17.09s)
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.