This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

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

Failed to build Logger with Swift 6.0 for macOS (SPM).

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
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 a5cfb4e conditional tool plugins
Cloned https://github.com/elegantchaos/Logger.git
Revision (git rev-parse @):
a5cfb4ede43a0f4782afb2aea3175a04f206efcf
SUCCESS checkout https://github.com/elegantchaos/Logger.git at main
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/elegantchaos/Logger.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/5] Write sources
[4/5] Write swift-version-6F35C1178C84523A.txt
[6/15] Compiling Logger OSLogHandler.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[7/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.
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Manager.swift:41:48: error: 'ID' is only available in macOS 10.15 or newer
 21 | /// whether or not they should share a single settings object.
 22 |
 23 | public class Manager {
    |              `- note: add @available attribute to enclosing class
 24 |     typealias AssociatedChannelData = [Channel: Any]
 25 |     typealias AssociatedHandlerData = [Handler: AssociatedChannelData]
    :
 39 |      */
 40 |
 41 |     let channelsEnabledInSettings: Set<Channel.ID>
    |                                                `- error: 'ID' is only available in macOS 10.15 or newer
 42 |
 43 |     required init(settings: ManagerSettings) {
/Users/admin/builder/spi-builder-workspace/Sources/Logger/ManagerSettings.swift:15:40: error: 'ID' is only available in macOS 10.15 or newer
11 | /// inject settings during testing.
12 |
13 | public protocol ManagerSettings {
   |                 `- note: add @available attribute to enclosing protocol
14 |     /// The identifiers of the channels that should be enabled.
15 |     var enabledChannelIDs: Set<Channel.ID> { get }
   |         |                              `- error: 'ID' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
16 |
17 |     /// Store the identifiers of the channels that should be enabled.
/Users/admin/builder/spi-builder-workspace/Sources/Logger/ManagerSettings.swift:18:51: error: 'ID' is only available in macOS 10.15 or newer
11 | /// inject settings during testing.
12 |
13 | public protocol ManagerSettings {
   |                 `- note: add @available attribute to enclosing protocol
14 |     /// The identifiers of the channels that should be enabled.
15 |     var enabledChannelIDs: Set<Channel.ID> { get }
16 |
17 |     /// Store the identifiers of the channels that should be enabled.
18 |     func saveEnabledChannelIDs(_ ids: Set<Channel.ID>)
   |          |                                        `- error: 'ID' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
19 |
20 |     /// Strip any settings-related command line arguments.
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:57:56: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 55 |      */
 56 |
 57 |     static func updateChannels(_ channels: Set<Channel.ID>, applyingModifiers modifiers: String) -> Set<Channel.ID> {
    |                 |                                      `- error: 'ID' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing static method
 58 |         var updatedChannels = channels
 59 |         var onlyDeltas = true
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:57:113: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 55 |      */
 56 |
 57 |     static func updateChannels(_ channels: Set<Channel.ID>, applyingModifiers modifiers: String) -> Set<Channel.ID> {
    |                 |                                                                                               `- error: 'ID' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing static method
 58 |         var updatedChannels = channels
 59 |         var onlyDeltas = true
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:86:40: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 84 |     }
 85 |
 86 |     var enabledChannelIDs: Set<Channel.ID> {
    |         |                              `- error: 'ID' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing property
 87 |         let s = defaults.string(forKey: .persistentLogsKey)?.split(separator: ",").map { String($0) }
 88 |         return Set(s ?? [])
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:91:51: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 89 |     }
 90 |
 91 |     func saveEnabledChannelIDs(_ ids: Set<Channel.ID>) {
    |          |                                        `- error: 'ID' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
 92 |         let sortedIDs = ids.sorted().joined(separator: ",")
 93 |         defaults.set(sortedIDs, forKey: .persistentLogsKey)
[8/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 |         }
[9/15] Compiling Logger PrintHandler.swift
[10/15] Compiling Logger Handler.swift
[11/15] Compiling Logger Context.swift
[12/15] Compiling Logger ManagerSettings.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logger/ManagerSettings.swift:15:40: error: 'ID' is only available in macOS 10.15 or newer
11 | /// inject settings during testing.
12 |
13 | public protocol ManagerSettings {
   |                 `- note: add @available attribute to enclosing protocol
14 |     /// The identifiers of the channels that should be enabled.
15 |     var enabledChannelIDs: Set<Channel.ID> { get }
   |         |                              `- error: 'ID' is only available in macOS 10.15 or newer
   |         `- note: add @available attribute to enclosing property
16 |
17 |     /// Store the identifiers of the channels that should be enabled.
/Users/admin/builder/spi-builder-workspace/Sources/Logger/ManagerSettings.swift:18:51: error: 'ID' is only available in macOS 10.15 or newer
11 | /// inject settings during testing.
12 |
13 | public protocol ManagerSettings {
   |                 `- note: add @available attribute to enclosing protocol
14 |     /// The identifiers of the channels that should be enabled.
15 |     var enabledChannelIDs: Set<Channel.ID> { get }
16 |
17 |     /// Store the identifiers of the channels that should be enabled.
18 |     func saveEnabledChannelIDs(_ ids: Set<Channel.ID>)
   |          |                                        `- error: 'ID' is only available in macOS 10.15 or newer
   |          `- note: add @available attribute to enclosing instance method
19 |
20 |     /// Strip any settings-related command line arguments.
[13/15] Compiling Logger Manager.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Manager.swift:41:48: error: 'ID' is only available in macOS 10.15 or newer
 21 | /// whether or not they should share a single settings object.
 22 |
 23 | public class Manager {
    |              `- note: add @available attribute to enclosing class
 24 |     typealias AssociatedChannelData = [Channel: Any]
 25 |     typealias AssociatedHandlerData = [Handler: AssociatedChannelData]
    :
 39 |      */
 40 |
 41 |     let channelsEnabledInSettings: Set<Channel.ID>
    |                                                `- error: 'ID' is only available in macOS 10.15 or newer
 42 |
 43 |     required init(settings: ManagerSettings) {
/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,
/Users/admin/builder/spi-builder-workspace/Sources/Logger/Manager.swift:177:100: 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]
    :
175 |             #if os(macOS) || os(iOS)
176 |             DispatchQueue.main.async {
177 |                 NotificationCenter.default.post(name: Manager.channelsUpdatedNotification, object: self)
    |                                                                                                    `- warning: capture of 'self' with non-sendable type 'Manager' in a `@Sendable` closure; this is an error in the Swift 6 language mode
178 |             }
179 |             #endif
[14/15] Compiling Logger NSLogHandler.swift
[15/15] Compiling Logger UserDefaultsManagerSettings.swift
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:57:56: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 55 |      */
 56 |
 57 |     static func updateChannels(_ channels: Set<Channel.ID>, applyingModifiers modifiers: String) -> Set<Channel.ID> {
    |                 |                                      `- error: 'ID' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing static method
 58 |         var updatedChannels = channels
 59 |         var onlyDeltas = true
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:57:113: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 55 |      */
 56 |
 57 |     static func updateChannels(_ channels: Set<Channel.ID>, applyingModifiers modifiers: String) -> Set<Channel.ID> {
    |                 |                                                                                               `- error: 'ID' is only available in macOS 10.15 or newer
    |                 `- note: add @available attribute to enclosing static method
 58 |         var updatedChannels = channels
 59 |         var onlyDeltas = true
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:86:40: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 84 |     }
 85 |
 86 |     var enabledChannelIDs: Set<Channel.ID> {
    |         |                              `- error: 'ID' is only available in macOS 10.15 or newer
    |         `- note: add @available attribute to enclosing property
 87 |         let s = defaults.string(forKey: .persistentLogsKey)?.split(separator: ",").map { String($0) }
 88 |         return Set(s ?? [])
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:91:51: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 89 |     }
 90 |
 91 |     func saveEnabledChannelIDs(_ ids: Set<Channel.ID>) {
    |          |                                        `- error: 'ID' is only available in macOS 10.15 or newer
    |          `- note: add @available attribute to enclosing instance method
 92 |         let sortedIDs = ids.sorted().joined(separator: ",")
 93 |         defaults.set(sortedIDs, forKey: .persistentLogsKey)
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:60:36: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 55 |      */
 56 |
 57 |     static func updateChannels(_ channels: Set<Channel.ID>, applyingModifiers modifiers: String) -> Set<Channel.ID> {
    |                 `- note: add @available attribute to enclosing static method
 58 |         var updatedChannels = channels
 59 |         var onlyDeltas = true
 60 |         var newItems = Set<Channel.ID>()
    |                                    |- error: 'ID' is only available in macOS 10.15 or newer
    |                                    `- note: add 'if #available' version check
 61 |         for item in modifiers.split(separator: ",").map({ $0.trimmingCharacters(in: .whitespaces) }) {
 62 |             if let first = item.first {
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:65:49: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 55 |      */
 56 |
 57 |     static func updateChannels(_ channels: Set<Channel.ID>, applyingModifiers modifiers: String) -> Set<Channel.ID> {
    |                 `- note: add @available attribute to enclosing static method
 58 |         var updatedChannels = channels
 59 |         var onlyDeltas = true
    :
 63 |                 switch first {
 64 |                     case "=":
 65 |                         newItems.insert(Channel.ID(item.dropFirst()))
    |                                                 |- error: 'ID' is only available in macOS 10.15 or newer
    |                                                 `- note: add 'if #available' version check
 66 |                         onlyDeltas = false
 67 |                     case "-":
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:68:56: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 55 |      */
 56 |
 57 |     static func updateChannels(_ channels: Set<Channel.ID>, applyingModifiers modifiers: String) -> Set<Channel.ID> {
    |                 `- note: add @available attribute to enclosing static method
 58 |         var updatedChannels = channels
 59 |         var onlyDeltas = true
    :
 66 |                         onlyDeltas = false
 67 |                     case "-":
 68 |                         updatedChannels.remove(Channel.ID(item.dropFirst()))
    |                                                        |- error: 'ID' is only available in macOS 10.15 or newer
    |                                                        `- note: add 'if #available' version check
 69 |                     case "+":
 70 |                         newItems.insert(Channel.ID(item.dropFirst()))
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:70:49: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 55 |      */
 56 |
 57 |     static func updateChannels(_ channels: Set<Channel.ID>, applyingModifiers modifiers: String) -> Set<Channel.ID> {
    |                 `- note: add @available attribute to enclosing static method
 58 |         var updatedChannels = channels
 59 |         var onlyDeltas = true
    :
 68 |                         updatedChannels.remove(Channel.ID(item.dropFirst()))
 69 |                     case "+":
 70 |                         newItems.insert(Channel.ID(item.dropFirst()))
    |                                                 |- error: 'ID' is only available in macOS 10.15 or newer
    |                                                 `- note: add 'if #available' version check
 71 |                     default:
 72 |                         newItems.insert(Channel.ID(item))
/Users/admin/builder/spi-builder-workspace/Sources/Logger/UserDefaultsManagerSettings.swift:72:49: error: 'ID' is only available in macOS 10.15 or newer
 10 | /// settings, and in normal situations it should be all you need.
 11 |
 12 | struct UserDefaultsManagerSettings: ManagerSettings {
    |        `- note: add @available attribute to enclosing struct
 13 |     let defaults: UserDefaults
 14 |
    :
 55 |      */
 56 |
 57 |     static func updateChannels(_ channels: Set<Channel.ID>, applyingModifiers modifiers: String) -> Set<Channel.ID> {
    |                 `- note: add @available attribute to enclosing static method
 58 |         var updatedChannels = channels
 59 |         var onlyDeltas = true
    :
 70 |                         newItems.insert(Channel.ID(item.dropFirst()))
 71 |                     default:
 72 |                         newItems.insert(Channel.ID(item))
    |                                                 |- error: 'ID' is only available in macOS 10.15 or newer
    |                                                 `- note: add 'if #available' version check
 73 |                 }
 74 |             }
BUILD FAILURE 6.0 macosSpm
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.