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 SwiftFormat, reference main (da3695), with Swift 6.1 for macOS (SPM) on 2 May 2025 23:04:44 UTC.

Swift 6 data race errors: 278

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.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

251 |         }
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
    |                                                              |- warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
    |                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
255 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:254:58: warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
    |                                                          |- warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
    |                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
255 |                 return
256 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:265:13: warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
263 |             }
264 |         } catch {
265 |             onComplete { throw error }
    |             |- warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
266 |             return
267 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:268:9: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
266 |             return
267 |         }
268 |         enumerate(inputURL: inputURL, outputURL: outputURL, options: options)
    |         |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 |     }
270 |     group.wait()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:145:10: warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
143 |     let queue = concurrent ? DispatchQueue.global(qos: .userInitiated) : completionQueue
144 |
145 |     func resolveInputURL(_ inputURL: URL, options: Options) -> (URL, URLResourceValues, Options)? {
    |          `- warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
146 |         let fileOptions = options.fileOptions ?? .default
147 |         let inputURL = inputURL.standardizedFileURL
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:137:10: warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
135 |     var completionBlocks = [() throws -> Void]()
136 |     let completionQueue = DispatchQueue(label: "swiftformat.enumeration")
137 |     func onComplete(_ block: @escaping () throws -> Void) {
    |          `- warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:351:33: warning: reference to captured var 'args' in concurrently-executing code
349 |     }
350 |     configQueue.async {
351 |         configCache[inputURL] = args
    |                                 `- warning: reference to captured var 'args' in concurrently-executing code
352 |     }
353 |     assert(options.formatOptions != nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:17: warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                 `- warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:34: warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                                  `- warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/Formatter.swift:40:14: note: class 'Formatter' does not conform to the 'Sendable' protocol
 38 | /// directly is that it allows mutation during enumeration, and
 39 | /// transparently handles changes that affect the current token index.
 40 | public class Formatter: NSObject {
    |              `- note: class 'Formatter' does not conform to the 'Sendable' protocol
 41 |     private var enumerationIndex = -1
 42 |     private var disabledCount = 0
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapAttributes.swift:12:16: warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | public extension FormatRule {
 12 |     static let wrapAttributes = FormatRule(
    |                |- warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapAttributes' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |         help: "Wrap @attributes onto a separate line, or keep them on the same line.",
 14 |         options: ["funcattributes", "typeattributes", "varattributes", "storedvarattrs", "computedvarattrs", "complexattrs", "noncomplexattrs"],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapConditionalBodies.swift:12:16: warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapConditionalBodies = FormatRule(
   |                |- warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapConditionalBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline conditional statements onto a new line.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapEnumCases.swift:13:16: warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Formats enum cases declaration into one case per line
 13 |     static let wrapEnumCases = FormatRule(
    |                |- warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapEnumCases' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Rewrite comma-delimited enum cases to one case per line.",
 15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapLoopBodies.swift:12:16: warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapLoopBodies = FormatRule(
   |                |- warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapLoopBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline loop statements onto a new line.",
14 |         orderAfter: [.preferForLoop],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineConditionalAssignment.swift:12:16: warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineConditionalAssignment = FormatRule(
   |                |- warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineConditionalAssignment' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap multiline conditional assignment expressions after the assignment operator.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineStatementBraces.swift:12:16: warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineStatementBraces = FormatRule(
   |                |- warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineStatementBraces' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the opening brace of multiline statements.",
14 |         orderAfter: [.braces, .indent, .wrapArguments],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSingleLineComments.swift:13:16: warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Wrap single-line comments that exceed given `FormatOptions.maxWidth` setting.
13 |     static let wrapSingleLineComments = FormatRule(
   |                |- warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSingleLineComments' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap single line `//` comments that exceed the specified `--maxwidth`.",
15 |         sharedOptions: ["maxwidth", "indent", "tabwidth", "assetliterals", "linebreaks"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSwitchCases.swift:13:16: warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Writes one switch case per line
13 |     static let wrapSwitchCases = FormatRule(
   |                |- warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSwitchCases' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap comma-delimited switch cases onto multiple lines.",
15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/YodaConditions.swift:13:16: warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Reorders "yoda conditions" where constant is placed on lhs of a comparison
 13 |     static let yodaConditions = FormatRule(
    |                |- warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'yodaConditions' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Prefer constant values to be on the right-hand-side of expressions.",
 15 |         options: ["yodaswap"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:314:13: warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
312 |
313 | /// Process configuration files in specified directory.
314 | private var configCache = [URL: [String: String]]()
    |             |- warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'configCache' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'configCache' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
315 | private let configQueue = DispatchQueue(label: "swiftformat.config", qos: .userInteractive)
316 | private func processDirectory(_ inputURL: URL, with options: inout Options, logger: Logger?) throws {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             |- warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:37: warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |                                     |- warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
    |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: mutation of captured var 'completionBlocks' in concurrently-executing code
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             `- warning: mutation of captured var 'completionBlocks' in concurrently-executing code
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:21: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                     |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:77: warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                                                                             `- warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:194:10: warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
192 |     }
193 |
194 |     func enumerate(inputURL: URL,
    |          `- warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
195 |                    outputURL: URL?,
196 |                    options: Options)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:247:23: warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
245 |
246 |     queue.async(group: group) {
247 |         var options = baseOptions
    |                       `- warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
248 |         var inputURL = inputURL
249 |         if options.formatOptions == nil {
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:253:62: warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
251 |         }
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
    |                                                              |- warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
    |                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
255 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:254:58: warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
    |                                                          |- warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
    |                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
255 |                 return
256 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:265:13: warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
263 |             }
264 |         } catch {
265 |             onComplete { throw error }
    |             |- warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
266 |             return
267 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:268:9: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
266 |             return
267 |         }
268 |         enumerate(inputURL: inputURL, outputURL: outputURL, options: options)
    |         |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 |     }
270 |     group.wait()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:145:10: warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
143 |     let queue = concurrent ? DispatchQueue.global(qos: .userInitiated) : completionQueue
144 |
145 |     func resolveInputURL(_ inputURL: URL, options: Options) -> (URL, URLResourceValues, Options)? {
    |          `- warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
146 |         let fileOptions = options.fileOptions ?? .default
147 |         let inputURL = inputURL.standardizedFileURL
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:137:10: warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
135 |     var completionBlocks = [() throws -> Void]()
136 |     let completionQueue = DispatchQueue(label: "swiftformat.enumeration")
137 |     func onComplete(_ block: @escaping () throws -> Void) {
    |          `- warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:351:33: warning: reference to captured var 'args' in concurrently-executing code
349 |     }
350 |     configQueue.async {
351 |         configCache[inputURL] = args
    |                                 `- warning: reference to captured var 'args' in concurrently-executing code
352 |     }
353 |     assert(options.formatOptions != nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:17: warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                 `- warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:34: warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                                  `- warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/Formatter.swift:40:14: note: class 'Formatter' does not conform to the 'Sendable' protocol
 38 | /// directly is that it allows mutation during enumeration, and
 39 | /// transparently handles changes that affect the current token index.
 40 | public class Formatter: NSObject {
    |              `- note: class 'Formatter' does not conform to the 'Sendable' protocol
 41 |     private var enumerationIndex = -1
 42 |     private var disabledCount = 0
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapAttributes.swift:12:16: warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | public extension FormatRule {
 12 |     static let wrapAttributes = FormatRule(
    |                |- warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapAttributes' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |         help: "Wrap @attributes onto a separate line, or keep them on the same line.",
 14 |         options: ["funcattributes", "typeattributes", "varattributes", "storedvarattrs", "computedvarattrs", "complexattrs", "noncomplexattrs"],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapConditionalBodies.swift:12:16: warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapConditionalBodies = FormatRule(
   |                |- warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapConditionalBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline conditional statements onto a new line.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapEnumCases.swift:13:16: warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Formats enum cases declaration into one case per line
 13 |     static let wrapEnumCases = FormatRule(
    |                |- warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapEnumCases' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Rewrite comma-delimited enum cases to one case per line.",
 15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapLoopBodies.swift:12:16: warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapLoopBodies = FormatRule(
   |                |- warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapLoopBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline loop statements onto a new line.",
14 |         orderAfter: [.preferForLoop],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineConditionalAssignment.swift:12:16: warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineConditionalAssignment = FormatRule(
   |                |- warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineConditionalAssignment' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap multiline conditional assignment expressions after the assignment operator.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineStatementBraces.swift:12:16: warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineStatementBraces = FormatRule(
   |                |- warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineStatementBraces' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the opening brace of multiline statements.",
14 |         orderAfter: [.braces, .indent, .wrapArguments],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSingleLineComments.swift:13:16: warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Wrap single-line comments that exceed given `FormatOptions.maxWidth` setting.
13 |     static let wrapSingleLineComments = FormatRule(
   |                |- warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSingleLineComments' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap single line `//` comments that exceed the specified `--maxwidth`.",
15 |         sharedOptions: ["maxwidth", "indent", "tabwidth", "assetliterals", "linebreaks"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSwitchCases.swift:13:16: warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Writes one switch case per line
13 |     static let wrapSwitchCases = FormatRule(
   |                |- warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSwitchCases' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap comma-delimited switch cases onto multiple lines.",
15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/YodaConditions.swift:13:16: warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Reorders "yoda conditions" where constant is placed on lhs of a comparison
 13 |     static let yodaConditions = FormatRule(
    |                |- warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'yodaConditions' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Prefer constant values to be on the right-hand-side of expressions.",
 15 |         options: ["yodaswap"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:314:13: warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
312 |
313 | /// Process configuration files in specified directory.
314 | private var configCache = [URL: [String: String]]()
    |             |- warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'configCache' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'configCache' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
315 | private let configQueue = DispatchQueue(label: "swiftformat.config", qos: .userInteractive)
316 | private func processDirectory(_ inputURL: URL, with options: inout Options, logger: Logger?) throws {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             |- warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:37: warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |                                     |- warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
    |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: mutation of captured var 'completionBlocks' in concurrently-executing code
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             `- warning: mutation of captured var 'completionBlocks' in concurrently-executing code
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:21: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                     |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:77: warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                                                                             `- warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:194:10: warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
192 |     }
193 |
194 |     func enumerate(inputURL: URL,
    |          `- warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
195 |                    outputURL: URL?,
196 |                    options: Options)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:247:23: warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
245 |
246 |     queue.async(group: group) {
247 |         var options = baseOptions
    |                       `- warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
248 |         var inputURL = inputURL
249 |         if options.formatOptions == nil {
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:253:62: warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
251 |         }
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
    |                                                              |- warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
    |                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
255 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:254:58: warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
    |                                                          |- warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
    |                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
255 |                 return
256 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:265:13: warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
263 |             }
264 |         } catch {
265 |             onComplete { throw error }
    |             |- warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
266 |             return
267 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:268:9: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
266 |             return
267 |         }
268 |         enumerate(inputURL: inputURL, outputURL: outputURL, options: options)
    |         |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 |     }
270 |     group.wait()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:145:10: warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
143 |     let queue = concurrent ? DispatchQueue.global(qos: .userInitiated) : completionQueue
144 |
145 |     func resolveInputURL(_ inputURL: URL, options: Options) -> (URL, URLResourceValues, Options)? {
    |          `- warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
146 |         let fileOptions = options.fileOptions ?? .default
147 |         let inputURL = inputURL.standardizedFileURL
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:137:10: warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
135 |     var completionBlocks = [() throws -> Void]()
136 |     let completionQueue = DispatchQueue(label: "swiftformat.enumeration")
137 |     func onComplete(_ block: @escaping () throws -> Void) {
    |          `- warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:351:33: warning: reference to captured var 'args' in concurrently-executing code
349 |     }
350 |     configQueue.async {
351 |         configCache[inputURL] = args
    |                                 `- warning: reference to captured var 'args' in concurrently-executing code
352 |     }
353 |     assert(options.formatOptions != nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:17: warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                 `- warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:34: warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                                  `- warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/Formatter.swift:40:14: note: class 'Formatter' does not conform to the 'Sendable' protocol
 38 | /// directly is that it allows mutation during enumeration, and
 39 | /// transparently handles changes that affect the current token index.
 40 | public class Formatter: NSObject {
    |              `- note: class 'Formatter' does not conform to the 'Sendable' protocol
 41 |     private var enumerationIndex = -1
 42 |     private var disabledCount = 0
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapAttributes.swift:12:16: warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | public extension FormatRule {
 12 |     static let wrapAttributes = FormatRule(
    |                |- warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapAttributes' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |         help: "Wrap @attributes onto a separate line, or keep them on the same line.",
 14 |         options: ["funcattributes", "typeattributes", "varattributes", "storedvarattrs", "computedvarattrs", "complexattrs", "noncomplexattrs"],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapConditionalBodies.swift:12:16: warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapConditionalBodies = FormatRule(
   |                |- warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapConditionalBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline conditional statements onto a new line.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapEnumCases.swift:13:16: warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Formats enum cases declaration into one case per line
 13 |     static let wrapEnumCases = FormatRule(
    |                |- warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapEnumCases' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Rewrite comma-delimited enum cases to one case per line.",
 15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapLoopBodies.swift:12:16: warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapLoopBodies = FormatRule(
   |                |- warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapLoopBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline loop statements onto a new line.",
14 |         orderAfter: [.preferForLoop],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineConditionalAssignment.swift:12:16: warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineConditionalAssignment = FormatRule(
   |                |- warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineConditionalAssignment' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap multiline conditional assignment expressions after the assignment operator.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineStatementBraces.swift:12:16: warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineStatementBraces = FormatRule(
   |                |- warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineStatementBraces' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the opening brace of multiline statements.",
14 |         orderAfter: [.braces, .indent, .wrapArguments],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSingleLineComments.swift:13:16: warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Wrap single-line comments that exceed given `FormatOptions.maxWidth` setting.
13 |     static let wrapSingleLineComments = FormatRule(
   |                |- warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSingleLineComments' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap single line `//` comments that exceed the specified `--maxwidth`.",
15 |         sharedOptions: ["maxwidth", "indent", "tabwidth", "assetliterals", "linebreaks"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSwitchCases.swift:13:16: warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Writes one switch case per line
13 |     static let wrapSwitchCases = FormatRule(
   |                |- warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSwitchCases' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap comma-delimited switch cases onto multiple lines.",
15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/YodaConditions.swift:13:16: warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Reorders "yoda conditions" where constant is placed on lhs of a comparison
 13 |     static let yodaConditions = FormatRule(
    |                |- warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'yodaConditions' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Prefer constant values to be on the right-hand-side of expressions.",
 15 |         options: ["yodaswap"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:314:13: warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
312 |
313 | /// Process configuration files in specified directory.
314 | private var configCache = [URL: [String: String]]()
    |             |- warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'configCache' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'configCache' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
315 | private let configQueue = DispatchQueue(label: "swiftformat.config", qos: .userInteractive)
316 | private func processDirectory(_ inputURL: URL, with options: inout Options, logger: Logger?) throws {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             |- warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:37: warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |                                     |- warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
    |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: mutation of captured var 'completionBlocks' in concurrently-executing code
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             `- warning: mutation of captured var 'completionBlocks' in concurrently-executing code
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:21: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                     |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:77: warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                                                                             `- warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:194:10: warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
192 |     }
193 |
194 |     func enumerate(inputURL: URL,
    |          `- warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
195 |                    outputURL: URL?,
196 |                    options: Options)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:247:23: warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
245 |
246 |     queue.async(group: group) {
247 |         var options = baseOptions
    |                       `- warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
248 |         var inputURL = inputURL
249 |         if options.formatOptions == nil {
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:253:62: warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
251 |         }
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
    |                                                              |- warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
    |                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
255 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:254:58: warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
    |                                                          |- warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
    |                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
255 |                 return
256 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:265:13: warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
263 |             }
264 |         } catch {
265 |             onComplete { throw error }
    |             |- warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
266 |             return
267 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:268:9: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
266 |             return
267 |         }
268 |         enumerate(inputURL: inputURL, outputURL: outputURL, options: options)
    |         |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 |     }
270 |     group.wait()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:145:10: warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
143 |     let queue = concurrent ? DispatchQueue.global(qos: .userInitiated) : completionQueue
144 |
145 |     func resolveInputURL(_ inputURL: URL, options: Options) -> (URL, URLResourceValues, Options)? {
    |          `- warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
146 |         let fileOptions = options.fileOptions ?? .default
147 |         let inputURL = inputURL.standardizedFileURL
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:137:10: warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
135 |     var completionBlocks = [() throws -> Void]()
136 |     let completionQueue = DispatchQueue(label: "swiftformat.enumeration")
137 |     func onComplete(_ block: @escaping () throws -> Void) {
    |          `- warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:351:33: warning: reference to captured var 'args' in concurrently-executing code
349 |     }
350 |     configQueue.async {
351 |         configCache[inputURL] = args
    |                                 `- warning: reference to captured var 'args' in concurrently-executing code
352 |     }
353 |     assert(options.formatOptions != nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:17: warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                 `- warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:34: warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                                  `- warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/Formatter.swift:40:14: note: class 'Formatter' does not conform to the 'Sendable' protocol
 38 | /// directly is that it allows mutation during enumeration, and
 39 | /// transparently handles changes that affect the current token index.
 40 | public class Formatter: NSObject {
    |              `- note: class 'Formatter' does not conform to the 'Sendable' protocol
 41 |     private var enumerationIndex = -1
 42 |     private var disabledCount = 0
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapAttributes.swift:12:16: warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | public extension FormatRule {
 12 |     static let wrapAttributes = FormatRule(
    |                |- warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapAttributes' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |         help: "Wrap @attributes onto a separate line, or keep them on the same line.",
 14 |         options: ["funcattributes", "typeattributes", "varattributes", "storedvarattrs", "computedvarattrs", "complexattrs", "noncomplexattrs"],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapConditionalBodies.swift:12:16: warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapConditionalBodies = FormatRule(
   |                |- warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapConditionalBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline conditional statements onto a new line.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapEnumCases.swift:13:16: warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Formats enum cases declaration into one case per line
 13 |     static let wrapEnumCases = FormatRule(
    |                |- warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapEnumCases' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Rewrite comma-delimited enum cases to one case per line.",
 15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapLoopBodies.swift:12:16: warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapLoopBodies = FormatRule(
   |                |- warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapLoopBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline loop statements onto a new line.",
14 |         orderAfter: [.preferForLoop],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineConditionalAssignment.swift:12:16: warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineConditionalAssignment = FormatRule(
   |                |- warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineConditionalAssignment' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap multiline conditional assignment expressions after the assignment operator.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineStatementBraces.swift:12:16: warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineStatementBraces = FormatRule(
   |                |- warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineStatementBraces' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the opening brace of multiline statements.",
14 |         orderAfter: [.braces, .indent, .wrapArguments],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSingleLineComments.swift:13:16: warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Wrap single-line comments that exceed given `FormatOptions.maxWidth` setting.
13 |     static let wrapSingleLineComments = FormatRule(
   |                |- warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSingleLineComments' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap single line `//` comments that exceed the specified `--maxwidth`.",
15 |         sharedOptions: ["maxwidth", "indent", "tabwidth", "assetliterals", "linebreaks"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSwitchCases.swift:13:16: warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Writes one switch case per line
13 |     static let wrapSwitchCases = FormatRule(
   |                |- warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSwitchCases' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap comma-delimited switch cases onto multiple lines.",
15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/YodaConditions.swift:13:16: warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Reorders "yoda conditions" where constant is placed on lhs of a comparison
 13 |     static let yodaConditions = FormatRule(
    |                |- warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'yodaConditions' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Prefer constant values to be on the right-hand-side of expressions.",
 15 |         options: ["yodaswap"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:314:13: warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
312 |
313 | /// Process configuration files in specified directory.
314 | private var configCache = [URL: [String: String]]()
    |             |- warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'configCache' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'configCache' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
315 | private let configQueue = DispatchQueue(label: "swiftformat.config", qos: .userInteractive)
316 | private func processDirectory(_ inputURL: URL, with options: inout Options, logger: Logger?) throws {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             |- warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:37: warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |                                     |- warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
    |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: mutation of captured var 'completionBlocks' in concurrently-executing code
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             `- warning: mutation of captured var 'completionBlocks' in concurrently-executing code
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:21: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                     |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:77: warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                                                                             `- warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:194:10: warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
192 |     }
193 |
194 |     func enumerate(inputURL: URL,
    |          `- warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
195 |                    outputURL: URL?,
196 |                    options: Options)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:247:23: warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
245 |
246 |     queue.async(group: group) {
247 |         var options = baseOptions
    |                       `- warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
248 |         var inputURL = inputURL
249 |         if options.formatOptions == nil {
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:253:62: warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
251 |         }
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
    |                                                              |- warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
    |                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
255 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:254:58: warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
    |                                                          |- warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
    |                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
255 |                 return
256 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:265:13: warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
263 |             }
264 |         } catch {
265 |             onComplete { throw error }
    |             |- warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
266 |             return
267 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:268:9: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
266 |             return
267 |         }
268 |         enumerate(inputURL: inputURL, outputURL: outputURL, options: options)
    |         |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 |     }
270 |     group.wait()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:145:10: warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
143 |     let queue = concurrent ? DispatchQueue.global(qos: .userInitiated) : completionQueue
144 |
145 |     func resolveInputURL(_ inputURL: URL, options: Options) -> (URL, URLResourceValues, Options)? {
    |          `- warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
146 |         let fileOptions = options.fileOptions ?? .default
147 |         let inputURL = inputURL.standardizedFileURL
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:137:10: warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
135 |     var completionBlocks = [() throws -> Void]()
136 |     let completionQueue = DispatchQueue(label: "swiftformat.enumeration")
137 |     func onComplete(_ block: @escaping () throws -> Void) {
    |          `- warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:351:33: warning: reference to captured var 'args' in concurrently-executing code
349 |     }
350 |     configQueue.async {
351 |         configCache[inputURL] = args
    |                                 `- warning: reference to captured var 'args' in concurrently-executing code
352 |     }
353 |     assert(options.formatOptions != nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:17: warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                 `- warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:34: warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                                  `- warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/Formatter.swift:40:14: note: class 'Formatter' does not conform to the 'Sendable' protocol
 38 | /// directly is that it allows mutation during enumeration, and
 39 | /// transparently handles changes that affect the current token index.
 40 | public class Formatter: NSObject {
    |              `- note: class 'Formatter' does not conform to the 'Sendable' protocol
 41 |     private var enumerationIndex = -1
 42 |     private var disabledCount = 0
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapAttributes.swift:12:16: warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | public extension FormatRule {
 12 |     static let wrapAttributes = FormatRule(
    |                |- warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapAttributes' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |         help: "Wrap @attributes onto a separate line, or keep them on the same line.",
 14 |         options: ["funcattributes", "typeattributes", "varattributes", "storedvarattrs", "computedvarattrs", "complexattrs", "noncomplexattrs"],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapConditionalBodies.swift:12:16: warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapConditionalBodies = FormatRule(
   |                |- warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapConditionalBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline conditional statements onto a new line.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapEnumCases.swift:13:16: warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Formats enum cases declaration into one case per line
 13 |     static let wrapEnumCases = FormatRule(
    |                |- warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapEnumCases' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Rewrite comma-delimited enum cases to one case per line.",
 15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapLoopBodies.swift:12:16: warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapLoopBodies = FormatRule(
   |                |- warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapLoopBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline loop statements onto a new line.",
14 |         orderAfter: [.preferForLoop],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineConditionalAssignment.swift:12:16: warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineConditionalAssignment = FormatRule(
   |                |- warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineConditionalAssignment' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap multiline conditional assignment expressions after the assignment operator.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineStatementBraces.swift:12:16: warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineStatementBraces = FormatRule(
   |                |- warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineStatementBraces' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the opening brace of multiline statements.",
14 |         orderAfter: [.braces, .indent, .wrapArguments],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSingleLineComments.swift:13:16: warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Wrap single-line comments that exceed given `FormatOptions.maxWidth` setting.
13 |     static let wrapSingleLineComments = FormatRule(
   |                |- warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSingleLineComments' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap single line `//` comments that exceed the specified `--maxwidth`.",
15 |         sharedOptions: ["maxwidth", "indent", "tabwidth", "assetliterals", "linebreaks"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSwitchCases.swift:13:16: warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Writes one switch case per line
13 |     static let wrapSwitchCases = FormatRule(
   |                |- warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSwitchCases' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap comma-delimited switch cases onto multiple lines.",
15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/YodaConditions.swift:13:16: warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Reorders "yoda conditions" where constant is placed on lhs of a comparison
 13 |     static let yodaConditions = FormatRule(
    |                |- warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'yodaConditions' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Prefer constant values to be on the right-hand-side of expressions.",
 15 |         options: ["yodaswap"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:314:13: warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
312 |
313 | /// Process configuration files in specified directory.
314 | private var configCache = [URL: [String: String]]()
    |             |- warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'configCache' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'configCache' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
315 | private let configQueue = DispatchQueue(label: "swiftformat.config", qos: .userInteractive)
316 | private func processDirectory(_ inputURL: URL, with options: inout Options, logger: Logger?) throws {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             |- warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:37: warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |                                     |- warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
    |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: mutation of captured var 'completionBlocks' in concurrently-executing code
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             `- warning: mutation of captured var 'completionBlocks' in concurrently-executing code
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:21: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                     |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:77: warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                                                                             `- warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:194:10: warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
192 |     }
193 |
194 |     func enumerate(inputURL: URL,
    |          `- warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
195 |                    outputURL: URL?,
196 |                    options: Options)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:247:23: warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
245 |
246 |     queue.async(group: group) {
247 |         var options = baseOptions
    |                       `- warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
248 |         var inputURL = inputURL
249 |         if options.formatOptions == nil {
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:253:62: warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
251 |         }
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
    |                                                              |- warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
    |                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
255 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:254:58: warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
    |                                                          |- warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
    |                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
255 |                 return
256 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:265:13: warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
263 |             }
264 |         } catch {
265 |             onComplete { throw error }
    |             |- warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
266 |             return
267 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:268:9: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
266 |             return
267 |         }
268 |         enumerate(inputURL: inputURL, outputURL: outputURL, options: options)
    |         |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 |     }
270 |     group.wait()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:145:10: warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
143 |     let queue = concurrent ? DispatchQueue.global(qos: .userInitiated) : completionQueue
144 |
145 |     func resolveInputURL(_ inputURL: URL, options: Options) -> (URL, URLResourceValues, Options)? {
    |          `- warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
146 |         let fileOptions = options.fileOptions ?? .default
147 |         let inputURL = inputURL.standardizedFileURL
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:137:10: warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
135 |     var completionBlocks = [() throws -> Void]()
136 |     let completionQueue = DispatchQueue(label: "swiftformat.enumeration")
137 |     func onComplete(_ block: @escaping () throws -> Void) {
    |          `- warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:351:33: warning: reference to captured var 'args' in concurrently-executing code
349 |     }
350 |     configQueue.async {
351 |         configCache[inputURL] = args
    |                                 `- warning: reference to captured var 'args' in concurrently-executing code
352 |     }
353 |     assert(options.formatOptions != nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:17: warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                 `- warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:34: warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                                  `- warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/Formatter.swift:40:14: note: class 'Formatter' does not conform to the 'Sendable' protocol
 38 | /// directly is that it allows mutation during enumeration, and
 39 | /// transparently handles changes that affect the current token index.
 40 | public class Formatter: NSObject {
    |              `- note: class 'Formatter' does not conform to the 'Sendable' protocol
 41 |     private var enumerationIndex = -1
 42 |     private var disabledCount = 0
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapAttributes.swift:12:16: warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | public extension FormatRule {
 12 |     static let wrapAttributes = FormatRule(
    |                |- warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapAttributes' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |         help: "Wrap @attributes onto a separate line, or keep them on the same line.",
 14 |         options: ["funcattributes", "typeattributes", "varattributes", "storedvarattrs", "computedvarattrs", "complexattrs", "noncomplexattrs"],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapConditionalBodies.swift:12:16: warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapConditionalBodies = FormatRule(
   |                |- warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapConditionalBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline conditional statements onto a new line.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapEnumCases.swift:13:16: warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Formats enum cases declaration into one case per line
 13 |     static let wrapEnumCases = FormatRule(
    |                |- warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapEnumCases' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Rewrite comma-delimited enum cases to one case per line.",
 15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapLoopBodies.swift:12:16: warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapLoopBodies = FormatRule(
   |                |- warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapLoopBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline loop statements onto a new line.",
14 |         orderAfter: [.preferForLoop],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineConditionalAssignment.swift:12:16: warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineConditionalAssignment = FormatRule(
   |                |- warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineConditionalAssignment' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap multiline conditional assignment expressions after the assignment operator.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineStatementBraces.swift:12:16: warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineStatementBraces = FormatRule(
   |                |- warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineStatementBraces' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the opening brace of multiline statements.",
14 |         orderAfter: [.braces, .indent, .wrapArguments],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSingleLineComments.swift:13:16: warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Wrap single-line comments that exceed given `FormatOptions.maxWidth` setting.
13 |     static let wrapSingleLineComments = FormatRule(
   |                |- warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSingleLineComments' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap single line `//` comments that exceed the specified `--maxwidth`.",
15 |         sharedOptions: ["maxwidth", "indent", "tabwidth", "assetliterals", "linebreaks"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSwitchCases.swift:13:16: warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Writes one switch case per line
13 |     static let wrapSwitchCases = FormatRule(
   |                |- warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSwitchCases' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap comma-delimited switch cases onto multiple lines.",
15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/YodaConditions.swift:13:16: warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Reorders "yoda conditions" where constant is placed on lhs of a comparison
 13 |     static let yodaConditions = FormatRule(
    |                |- warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'yodaConditions' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Prefer constant values to be on the right-hand-side of expressions.",
 15 |         options: ["yodaswap"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:314:13: warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
312 |
313 | /// Process configuration files in specified directory.
314 | private var configCache = [URL: [String: String]]()
    |             |- warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'configCache' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'configCache' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
315 | private let configQueue = DispatchQueue(label: "swiftformat.config", qos: .userInteractive)
316 | private func processDirectory(_ inputURL: URL, with options: inout Options, logger: Logger?) throws {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             |- warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:37: warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |                                     |- warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
    |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: mutation of captured var 'completionBlocks' in concurrently-executing code
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             `- warning: mutation of captured var 'completionBlocks' in concurrently-executing code
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:21: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                     |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:77: warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                                                                             `- warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:194:10: warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
192 |     }
193 |
194 |     func enumerate(inputURL: URL,
    |          `- warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
195 |                    outputURL: URL?,
196 |                    options: Options)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:247:23: warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
245 |
246 |     queue.async(group: group) {
247 |         var options = baseOptions
    |                       `- warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
248 |         var inputURL = inputURL
249 |         if options.formatOptions == nil {
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:253:62: warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
251 |         }
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
    |                                                              |- warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
    |                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
255 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:254:58: warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
    |                                                          |- warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
    |                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
255 |                 return
256 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:265:13: warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
263 |             }
264 |         } catch {
265 |             onComplete { throw error }
    |             |- warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
266 |             return
267 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:268:9: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
266 |             return
267 |         }
268 |         enumerate(inputURL: inputURL, outputURL: outputURL, options: options)
    |         |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 |     }
270 |     group.wait()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:145:10: warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
143 |     let queue = concurrent ? DispatchQueue.global(qos: .userInitiated) : completionQueue
144 |
145 |     func resolveInputURL(_ inputURL: URL, options: Options) -> (URL, URLResourceValues, Options)? {
    |          `- warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
146 |         let fileOptions = options.fileOptions ?? .default
147 |         let inputURL = inputURL.standardizedFileURL
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:137:10: warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
135 |     var completionBlocks = [() throws -> Void]()
136 |     let completionQueue = DispatchQueue(label: "swiftformat.enumeration")
137 |     func onComplete(_ block: @escaping () throws -> Void) {
    |          `- warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:351:33: warning: reference to captured var 'args' in concurrently-executing code
349 |     }
350 |     configQueue.async {
351 |         configCache[inputURL] = args
    |                                 `- warning: reference to captured var 'args' in concurrently-executing code
352 |     }
353 |     assert(options.formatOptions != nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:17: warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                 `- warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:34: warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                                  `- warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/Formatter.swift:40:14: note: class 'Formatter' does not conform to the 'Sendable' protocol
 38 | /// directly is that it allows mutation during enumeration, and
 39 | /// transparently handles changes that affect the current token index.
 40 | public class Formatter: NSObject {
    |              `- note: class 'Formatter' does not conform to the 'Sendable' protocol
 41 |     private var enumerationIndex = -1
 42 |     private var disabledCount = 0
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapAttributes.swift:12:16: warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 10 |
 11 | public extension FormatRule {
 12 |     static let wrapAttributes = FormatRule(
    |                |- warning: static property 'wrapAttributes' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapAttributes' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 13 |         help: "Wrap @attributes onto a separate line, or keep them on the same line.",
 14 |         options: ["funcattributes", "typeattributes", "varattributes", "storedvarattrs", "computedvarattrs", "complexattrs", "noncomplexattrs"],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapConditionalBodies.swift:12:16: warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapConditionalBodies = FormatRule(
   |                |- warning: static property 'wrapConditionalBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapConditionalBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline conditional statements onto a new line.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapEnumCases.swift:13:16: warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Formats enum cases declaration into one case per line
 13 |     static let wrapEnumCases = FormatRule(
    |                |- warning: static property 'wrapEnumCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'wrapEnumCases' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Rewrite comma-delimited enum cases to one case per line.",
 15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapLoopBodies.swift:12:16: warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapLoopBodies = FormatRule(
   |                |- warning: static property 'wrapLoopBodies' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapLoopBodies' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the bodies of inline loop statements onto a new line.",
14 |         orderAfter: [.preferForLoop],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineConditionalAssignment.swift:12:16: warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineConditionalAssignment = FormatRule(
   |                |- warning: static property 'wrapMultilineConditionalAssignment' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineConditionalAssignment' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap multiline conditional assignment expressions after the assignment operator.",
14 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapMultilineStatementBraces.swift:12:16: warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | public extension FormatRule {
12 |     static let wrapMultilineStatementBraces = FormatRule(
   |                |- warning: static property 'wrapMultilineStatementBraces' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapMultilineStatementBraces' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |         help: "Wrap the opening brace of multiline statements.",
14 |         orderAfter: [.braces, .indent, .wrapArguments],
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSingleLineComments.swift:13:16: warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Wrap single-line comments that exceed given `FormatOptions.maxWidth` setting.
13 |     static let wrapSingleLineComments = FormatRule(
   |                |- warning: static property 'wrapSingleLineComments' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSingleLineComments' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap single line `//` comments that exceed the specified `--maxwidth`.",
15 |         sharedOptions: ["maxwidth", "indent", "tabwidth", "assetliterals", "linebreaks"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/WrapSwitchCases.swift:13:16: warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
11 | public extension FormatRule {
12 |     /// Writes one switch case per line
13 |     static let wrapSwitchCases = FormatRule(
   |                |- warning: static property 'wrapSwitchCases' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: add '@MainActor' to make static property 'wrapSwitchCases' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 |         help: "Wrap comma-delimited switch cases onto multiple lines.",
15 |         disabledByDefault: true,
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/Rules/YodaConditions.swift:13:16: warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
 11 | public extension FormatRule {
 12 |     /// Reorders "yoda conditions" where constant is placed on lhs of a comparison
 13 |     static let yodaConditions = FormatRule(
    |                |- warning: static property 'yodaConditions' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'yodaConditions' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 14 |         help: "Prefer constant values to be on the right-hand-side of expressions.",
 15 |         options: ["yodaswap"]
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:314:13: warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
312 |
313 | /// Process configuration files in specified directory.
314 | private var configCache = [URL: [String: String]]()
    |             |- warning: var 'configCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |             |- note: convert 'configCache' to a 'let' constant to make 'Sendable' shared state immutable
    |             |- note: add '@MainActor' to make var 'configCache' part of global actor 'MainActor'
    |             `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
315 | private let configQueue = DispatchQueue(label: "swiftformat.config", qos: .userInteractive)
316 | private func processDirectory(_ inputURL: URL, with options: inout Options, logger: Logger?) throws {
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             |- warning: capture of 'completionBlocks' with non-sendable type '[() throws -> Void]' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:37: warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |                                     |- warning: capture of 'block' with non-sendable type '() throws -> Void' in a '@Sendable' closure
    |                                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:139:13: warning: mutation of captured var 'completionBlocks' in concurrently-executing code
137 |     func onComplete(_ block: @escaping () throws -> Void) {
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
    |             `- warning: mutation of captured var 'completionBlocks' in concurrently-executing code
140 |         }
141 |     }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:21: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                     |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |                     `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:240:77: warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
238 |                         URL(fileURLWithPath: $0.path + url.path[inputURL.path.endIndex ..< url.path.endIndex])
239 |                     }
240 |                     enumerate(inputURL: url, outputURL: outputURL, options: options)
    |                                                                             `- warning: capture of 'options' with non-sendable type 'Options' in a '@Sendable' closure
241 |                 }
242 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:194:10: warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
192 |     }
193 |
194 |     func enumerate(inputURL: URL,
    |          `- warning: concurrently-executed local function 'enumerate(inputURL:outputURL:options:)' must be marked as '@Sendable'
195 |                    outputURL: URL?,
196 |                    options: Options)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:247:23: warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
245 |
246 |     queue.async(group: group) {
247 |         var options = baseOptions
    |                       `- warning: capture of 'baseOptions' with non-sendable type 'Options' in a '@Sendable' closure
248 |         var inputURL = inputURL
249 |         if options.formatOptions == nil {
/Users/admin/builder/spi-builder-workspace/Sources/Options.swift:1018:15: note: consider making struct 'Options' conform to the 'Sendable' protocol
1016 |
1017 | /// All options
1018 | public struct Options {
     |               `- note: consider making struct 'Options' conform to the 'Sendable' protocol
1019 |     public var fileOptions: FileOptions?
1020 |     public var formatOptions: FormatOptions?
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:253:62: warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
251 |         }
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
    |                                                              |- warning: capture of 'logger' with non-sendable type 'Logger?' (aka 'Optional<(String) -> ()>') in a '@Sendable' closure
    |                                                              `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
255 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:254:58: warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
252 |         do {
253 |             try gatherOptions(&options, for: inputURL, with: logger)
254 |             guard let (resolvedURL, resourceValues, _) = resolveInputURL(inputURL, options: options) else {
    |                                                          |- warning: capture of 'resolveInputURL(_:options:)' with non-sendable type '(URL, Options) -> (URL, URLResourceValues, Options)?' in a '@Sendable' closure
    |                                                          `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
255 |                 return
256 |             }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:265:13: warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
263 |             }
264 |         } catch {
265 |             onComplete { throw error }
    |             |- warning: capture of 'onComplete' with non-sendable type '(@escaping () throws -> Void) -> ()' in a '@Sendable' closure
    |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
266 |             return
267 |         }
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:268:9: warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
266 |             return
267 |         }
268 |         enumerate(inputURL: inputURL, outputURL: outputURL, options: options)
    |         |- warning: capture of 'enumerate(inputURL:outputURL:options:)' with non-sendable type '(URL, URL?, Options) -> ()' in a '@Sendable' closure
    |         `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
269 |     }
270 |     group.wait()
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:145:10: warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
143 |     let queue = concurrent ? DispatchQueue.global(qos: .userInitiated) : completionQueue
144 |
145 |     func resolveInputURL(_ inputURL: URL, options: Options) -> (URL, URLResourceValues, Options)? {
    |          `- warning: concurrently-executed local function 'resolveInputURL(_:options:)' must be marked as '@Sendable'
146 |         let fileOptions = options.fileOptions ?? .default
147 |         let inputURL = inputURL.standardizedFileURL
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:137:10: warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
135 |     var completionBlocks = [() throws -> Void]()
136 |     let completionQueue = DispatchQueue(label: "swiftformat.enumeration")
137 |     func onComplete(_ block: @escaping () throws -> Void) {
    |          `- warning: concurrently-executed local function 'onComplete' must be marked as '@Sendable'
138 |         completionQueue.async(group: group) {
139 |             completionBlocks.append(block)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:351:33: warning: reference to captured var 'args' in concurrently-executing code
349 |     }
350 |     configQueue.async {
351 |         configCache[inputURL] = args
    |                                 `- warning: reference to captured var 'args' in concurrently-executing code
352 |     }
353 |     assert(options.formatOptions != nil)
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:17: warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                 `- warning: capture of 'rule' with non-sendable type 'FormatRule' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/FormatRule.swift:34:20: note: class 'FormatRule' does not conform to the 'Sendable' protocol
 32 | import Foundation
 33 |
 34 | public final class FormatRule: Hashable, Comparable, CustomStringConvertible {
    |                    `- note: class 'FormatRule' does not conform to the 'Sendable' protocol
 35 |     static let unnamedRule = "[unnamed rule]"
 36 |
/Users/admin/builder/spi-builder-workspace/Sources/SwiftFormat.swift:571:34: warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
569 |         for rule in rules {
570 |             queue.async(group: group) {
571 |                 rule.apply(with: formatter)
    |                                  `- warning: capture of 'formatter' with non-sendable type 'Formatter' in a '@Sendable' closure
572 |             }
573 |             guard group.wait(timeout: .now() + timeout) != .timedOut else {
/Users/admin/builder/spi-builder-workspace/Sources/Formatter.swift:40:14: note: class 'Formatter' does not conform to the 'Sendable' protocol
 38 | /// directly is that it allows mutation during enumeration, and
 39 | /// transparently handles changes that affect the current token index.
 40 | public class Formatter: NSObject {
    |              `- note: class 'Formatter' does not conform to the 'Sendable' protocol
 41 |     private var enumerationIndex = -1
 42 |     private var disabledCount = 0
[272/278] Compiling CommandLineTool main.swift
/Users/admin/builder/spi-builder-workspace/CommandLineTool/main.swift:69:5: warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
67 | private let printQueue = DispatchQueue(label: "swiftformat.print")
68 |
69 | CLI.print = { message, type in
   |     `- warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
70 |     printQueue.sync {
71 |         switch type {
/Users/admin/builder/spi-builder-workspace/Sources/CommandLine.swift:49:16: note: static property declared here
  47 |
  48 |     /// Output handler - override this to intercept output from the CLI
  49 |     static var print: (String, OutputType) -> Void = { _, _ in
     |                `- note: static property declared here
  50 |         fatalError("No print hook set.")
  51 |     }
[273/278] Emitting module CommandLineTool
/Users/admin/builder/spi-builder-workspace/CommandLineTool/main.swift:69:5: warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
67 | private let printQueue = DispatchQueue(label: "swiftformat.print")
68 |
69 | CLI.print = { message, type in
   |     `- warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
70 |     printQueue.sync {
71 |         switch type {
/Users/admin/builder/spi-builder-workspace/Sources/CommandLine.swift:49:16: note: static property declared here
  47 |
  48 |     /// Output handler - override this to intercept output from the CLI
  49 |     static var print: (String, OutputType) -> Void = { _, _ in
     |                `- note: static property declared here
  50 |         fatalError("No print hook set.")
  51 |     }
/Users/admin/builder/spi-builder-workspace/CommandLineTool/main.swift:69:5: warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
67 | private let printQueue = DispatchQueue(label: "swiftformat.print")
68 |
69 | CLI.print = { message, type in
   |     `- warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
70 |     printQueue.sync {
71 |         switch type {
/Users/admin/builder/spi-builder-workspace/Sources/CommandLine.swift:49:16: note: static property declared here
  47 |
  48 |     /// Output handler - override this to intercept output from the CLI
  49 |     static var print: (String, OutputType) -> Void = { _, _ in
     |                `- note: static property declared here
  50 |         fatalError("No print hook set.")
  51 |     }
[275/278] Compiling CommandLineTool main.swift
/Users/admin/builder/spi-builder-workspace/CommandLineTool/main.swift:69:5: warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
67 | private let printQueue = DispatchQueue(label: "swiftformat.print")
68 |
69 | CLI.print = { message, type in
   |     `- warning: reference to static property 'print' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
70 |     printQueue.sync {
71 |         switch type {
/Users/admin/builder/spi-builder-workspace/Sources/CommandLine.swift:49:16: note: static property declared here
  47 |
  48 |     /// Output handler - override this to intercept output from the CLI
  49 |     static var print: (String, OutputType) -> Void = { _, _ in
     |                `- note: static property declared here
  50 |         fatalError("No print hook set.")
  51 |     }
[275/278] Write Objects.LinkFileList
[276/278] Linking swiftformat
[277/278] Applying swiftformat
Build complete! (13.89s)
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "SwiftFormat",
  "name" : "SwiftFormat",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "swiftformat",
      "targets" : [
        "CommandLineTool"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "SwiftFormat",
      "targets" : [
        "SwiftFormat"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "SwiftFormatPlugin",
      "targets" : [
        "SwiftFormatPlugin"
      ],
      "type" : {
        "plugin" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "SwiftFormatTests",
      "module_type" : "SwiftTarget",
      "name" : "SwiftFormatTests",
      "path" : "Tests",
      "sources" : [
        "ArgumentsTests.swift",
        "BadConfig/Test.swift",
        "CodeOrganizationTests.swift",
        "CommandLineTests.swift",
        "EnumAssociableTests.swift",
        "FormatterTests.swift",
        "GlobsTests.swift",
        "InferenceTests.swift",
        "MetadataTests.swift",
        "OptionDescriptorTests.swift",
        "ParsingHelpersTests.swift",
        "ProjectFilePaths.swift",
        "ReporterTests.swift",
        "Rules/AcronymsTests.swift",
        "Rules/AndOperatorTests.swift",
        "Rules/AnyObjectProtocolTests.swift",
        "Rules/ApplicationMainTests.swift",
        "Rules/AssertionFailuresTests.swift",
        "Rules/BlankLineAfterImportsTests.swift",
        "Rules/BlankLineAfterSwitchCaseTests.swift",
        "Rules/BlankLinesAroundMarkTests.swift",
        "Rules/BlankLinesAtEndOfScopeTests.swift",
        "Rules/BlankLinesAtStartOfScopeTests.swift",
        "Rules/BlankLinesBetweenChainedFunctionsTests.swift",
        "Rules/BlankLinesBetweenImportsTests.swift",
        "Rules/BlankLinesBetweenScopesTests.swift",
        "Rules/BlockCommentsTests.swift",
        "Rules/BracesTests.swift",
        "Rules/ConditionalAssignmentTests.swift",
        "Rules/ConsecutiveBlankLinesTests.swift",
        "Rules/ConsecutiveSpacesTests.swift",
        "Rules/ConsistentSwitchCaseSpacingTests.swift",
        "Rules/DocCommentsBeforeModifiersTests.swift",
        "Rules/DocCommentsTests.swift",
        "Rules/DuplicateImportsTests.swift",
        "Rules/ElseOnSameLineTests.swift",
        "Rules/EmptyBracesTests.swift",
        "Rules/EnumNamespacesTests.swift",
        "Rules/ExtensionAccessControlTests.swift",
        "Rules/FileHeaderTests.swift",
        "Rules/GenericExtensionsTests.swift",
        "Rules/HeaderFileNameTests.swift",
        "Rules/HoistAwaitTests.swift",
        "Rules/HoistPatternLetTests.swift",
        "Rules/HoistTryTests.swift",
        "Rules/IndentTests.swift",
        "Rules/InitCoderUnavailableTests.swift",
        "Rules/IsEmptyTests.swift",
        "Rules/LeadingDelimitersTests.swift",
        "Rules/LinebreakAtEndOfFileTests.swift",
        "Rules/LinebreaksTests.swift",
        "Rules/MarkTypesTests.swift",
        "Rules/ModifierOrderTests.swift",
        "Rules/NoExplicitOwnershipTests.swift",
        "Rules/NumberFormattingTests.swift",
        "Rules/OpaqueGenericParametersTests.swift",
        "Rules/OrganizeDeclarationsTests.swift",
        "Rules/PreferForLoopTests.swift",
        "Rules/PreferKeyPathTests.swift",
        "Rules/PropertyTypesTests.swift",
        "Rules/RedundantBackticksTests.swift",
        "Rules/RedundantBreakTests.swift",
        "Rules/RedundantClosureTests.swift",
        "Rules/RedundantExtensionACLTests.swift",
        "Rules/RedundantFileprivateTests.swift",
        "Rules/RedundantGetTests.swift",
        "Rules/RedundantInitTests.swift",
        "Rules/RedundantInternalTests.swift",
        "Rules/RedundantLetErrorTests.swift",
        "Rules/RedundantLetTests.swift",
        "Rules/RedundantNilInitTests.swift",
        "Rules/RedundantObjcTests.swift",
        "Rules/RedundantOptionalBindingTests.swift",
        "Rules/RedundantParensTests.swift",
        "Rules/RedundantPatternTests.swift",
        "Rules/RedundantPropertyTests.swift",
        "Rules/RedundantRawValuesTests.swift",
        "Rules/RedundantReturnTests.swift",
        "Rules/RedundantSelfTests.swift",
        "Rules/RedundantStaticSelfTests.swift",
        "Rules/RedundantTypeTests.swift",
        "Rules/RedundantTypedThrowsTests.swift",
        "Rules/RedundantVoidReturnTypeTests.swift",
        "Rules/SemicolonsTests.swift",
        "Rules/SortDeclarationsTests.swift",
        "Rules/SortImportsTests.swift",
        "Rules/SortSwitchCasesTests.swift",
        "Rules/SortTypealiasesTests.swift",
        "Rules/SpaceAroundBracesTests.swift",
        "Rules/SpaceAroundBracketsTests.swift",
        "Rules/SpaceAroundCommentsTests.swift",
        "Rules/SpaceAroundGenericsTests.swift",
        "Rules/SpaceAroundOperatorsTests.swift",
        "Rules/SpaceAroundParensTests.swift",
        "Rules/SpaceInsideBracesTests.swift",
        "Rules/SpaceInsideBracketsTests.swift",
        "Rules/SpaceInsideCommentsTests.swift",
        "Rules/SpaceInsideGenericsTests.swift",
        "Rules/SpaceInsideParensTests.swift",
        "Rules/StrongOutletsTests.swift",
        "Rules/StrongifiedSelfTests.swift",
        "Rules/TodosTests.swift",
        "Rules/TrailingClosuresTests.swift",
        "Rules/TrailingCommasTests.swift",
        "Rules/TrailingSpaceTests.swift",
        "Rules/TypeSugarTests.swift",
        "Rules/UnusedArgumentsTests.swift",
        "Rules/UnusedPrivateDeclarationsTests.swift",
        "Rules/VoidTests.swift",
        "Rules/WrapArgumentsTests.swift",
        "Rules/WrapAttributesTests.swift",
        "Rules/WrapConditionalBodiesTests.swift",
        "Rules/WrapEnumCasesTests.swift",
        "Rules/WrapLoopBodiesTests.swift",
        "Rules/WrapMultilineConditionalAssignmentTests.swift",
        "Rules/WrapMultilineStatementBracesTests.swift",
        "Rules/WrapSingleLineCommentsTests.swift",
        "Rules/WrapSwitchCasesTests.swift",
        "Rules/WrapTests.swift",
        "Rules/YodaConditionsTests.swift",
        "SingularizeTests.swift",
        "SwiftFormatTests.swift",
        "TokenizerTests.swift",
        "VersionTests.swift",
        "XCTestCase+testFormatting.swift",
        "ZRegressionTests.swift"
      ],
      "target_dependencies" : [
        "SwiftFormat"
      ],
      "type" : "test"
    },
    {
      "c99name" : "SwiftFormatPlugin",
      "module_type" : "PluginTarget",
      "name" : "SwiftFormatPlugin",
      "path" : "Plugins/SwiftFormatPlugin",
      "plugin_capability" : {
        "intent" : {
          "description" : "Formats Swift source files using SwiftFormat",
          "type" : "custom",
          "verb" : "swiftformat"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "This command reformats source files",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "SwiftFormatPlugin"
      ],
      "sources" : [
        "Shared/CommandPlugin+Extension.swift",
        "Shared/PluginToolProviding.swift",
        "SwiftFormatPlugin.swift",
        "SwiftFormatPluginXcode.swift"
      ],
      "target_dependencies" : [
        "CommandLineTool"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "SwiftFormat",
      "module_type" : "SwiftTarget",
      "name" : "SwiftFormat",
      "path" : "Sources",
      "product_memberships" : [
        "swiftformat",
        "SwiftFormat",
        "SwiftFormatPlugin"
      ],
      "sources" : [
        "Arguments.swift",
        "CommandLine.swift",
        "DeclarationHelpers.swift",
        "EnumAssociable.swift",
        "FormatRule.swift",
        "Formatter.swift",
        "FormattingHelpers.swift",
        "GitFileInfo.swift",
        "GithubActionsLogReporter.swift",
        "Globs.swift",
        "Inference.swift",
        "JSONReporter.swift",
        "OptionDescriptor.swift",
        "Options.swift",
        "ParsingHelpers.swift",
        "Reporter.swift",
        "RuleRegistry.generated.swift",
        "Rules/Acronyms.swift",
        "Rules/AndOperator.swift",
        "Rules/AnyObjectProtocol.swift",
        "Rules/ApplicationMain.swift",
        "Rules/AssertionFailures.swift",
        "Rules/BlankLineAfterImports.swift",
        "Rules/BlankLineAfterSwitchCase.swift",
        "Rules/BlankLinesAroundMark.swift",
        "Rules/BlankLinesAtEndOfScope.swift",
        "Rules/BlankLinesAtStartOfScope.swift",
        "Rules/BlankLinesBetweenChainedFunctions.swift",
        "Rules/BlankLinesBetweenImports.swift",
        "Rules/BlankLinesBetweenScopes.swift",
        "Rules/BlockComments.swift",
        "Rules/Braces.swift",
        "Rules/ConditionalAssignment.swift",
        "Rules/ConsecutiveBlankLines.swift",
        "Rules/ConsecutiveSpaces.swift",
        "Rules/ConsistentSwitchCaseSpacing.swift",
        "Rules/DocComments.swift",
        "Rules/DocCommentsBeforeModifiers.swift",
        "Rules/DuplicateImports.swift",
        "Rules/ElseOnSameLine.swift",
        "Rules/EmptyBraces.swift",
        "Rules/EnumNamespaces.swift",
        "Rules/ExtensionAccessControl.swift",
        "Rules/FileHeader.swift",
        "Rules/GenericExtensions.swift",
        "Rules/HeaderFileName.swift",
        "Rules/HoistAwait.swift",
        "Rules/HoistPatternLet.swift",
        "Rules/HoistTry.swift",
        "Rules/Indent.swift",
        "Rules/InitCoderUnavailable.swift",
        "Rules/IsEmpty.swift",
        "Rules/LeadingDelimiters.swift",
        "Rules/LinebreakAtEndOfFile.swift",
        "Rules/Linebreaks.swift",
        "Rules/MarkTypes.swift",
        "Rules/ModifierOrder.swift",
        "Rules/NoExplicitOwnership.swift",
        "Rules/NumberFormatting.swift",
        "Rules/OpaqueGenericParameters.swift",
        "Rules/OrganizeDeclarations.swift",
        "Rules/PreferForLoop.swift",
        "Rules/PreferKeyPath.swift",
        "Rules/PropertyTypes.swift",
        "Rules/RedundantBackticks.swift",
        "Rules/RedundantBreak.swift",
        "Rules/RedundantClosure.swift",
        "Rules/RedundantExtensionACL.swift",
        "Rules/RedundantFileprivate.swift",
        "Rules/RedundantGet.swift",
        "Rules/RedundantInit.swift",
        "Rules/RedundantInternal.swift",
        "Rules/RedundantLet.swift",
        "Rules/RedundantLetError.swift",
        "Rules/RedundantNilInit.swift",
        "Rules/RedundantObjc.swift",
        "Rules/RedundantOptionalBinding.swift",
        "Rules/RedundantParens.swift",
        "Rules/RedundantPattern.swift",
        "Rules/RedundantProperty.swift",
        "Rules/RedundantRawValues.swift",
        "Rules/RedundantReturn.swift",
        "Rules/RedundantSelf.swift",
        "Rules/RedundantStaticSelf.swift",
        "Rules/RedundantType.swift",
        "Rules/RedundantTypedThrows.swift",
        "Rules/RedundantVoidReturnType.swift",
        "Rules/Semicolons.swift",
        "Rules/SortDeclarations.swift",
        "Rules/SortImports.swift",
        "Rules/SortSwitchCases.swift",
        "Rules/SortTypealiases.swift",
        "Rules/SortedImports.swift",
        "Rules/SortedSwitchCases.swift",
        "Rules/SpaceAroundBraces.swift",
        "Rules/SpaceAroundBrackets.swift",
        "Rules/SpaceAroundComments.swift",
        "Rules/SpaceAroundGenerics.swift",
        "Rules/SpaceAroundOperators.swift",
        "Rules/SpaceAroundParens.swift",
        "Rules/SpaceInsideBraces.swift",
        "Rules/SpaceInsideBrackets.swift",
        "Rules/SpaceInsideComments.swift",
        "Rules/SpaceInsideGenerics.swift",
        "Rules/SpaceInsideParens.swift",
        "Rules/Specifiers.swift",
        "Rules/StrongOutlets.swift",
        "Rules/StrongifiedSelf.swift",
        "Rules/Todos.swift",
        "Rules/TrailingClosures.swift",
        "Rules/TrailingCommas.swift",
        "Rules/TrailingSpace.swift",
        "Rules/TypeSugar.swift",
        "Rules/UnusedArguments.swift",
        "Rules/UnusedPrivateDeclarations.swift",
        "Rules/Void.swift",
        "Rules/Wrap.swift",
        "Rules/WrapArguments.swift",
        "Rules/WrapAttributes.swift",
        "Rules/WrapConditionalBodies.swift",
        "Rules/WrapEnumCases.swift",
        "Rules/WrapLoopBodies.swift",
        "Rules/WrapMultilineConditionalAssignment.swift",
        "Rules/WrapMultilineStatementBraces.swift",
        "Rules/WrapSingleLineComments.swift",
        "Rules/WrapSwitchCases.swift",
        "Rules/YodaConditions.swift",
        "Singularize.swift",
        "SwiftFormat.swift",
        "Tokenizer.swift",
        "XMLReporter.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CommandLineTool",
      "module_type" : "SwiftTarget",
      "name" : "CommandLineTool",
      "path" : "CommandLineTool",
      "product_memberships" : [
        "swiftformat",
        "SwiftFormatPlugin"
      ],
      "sources" : [
        "main.swift"
      ],
      "target_dependencies" : [
        "SwiftFormat"
      ],
      "type" : "executable"
    }
  ],
  "tools_version" : "5.6"
}
Done.