Build Information
Successful build of SwiftFormat, reference 0.55.6 (aa34bc
), with Swift 6.1 for Linux on 2 May 2025 23:05:37 UTC.
Swift 6 data race errors: 282
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
Build Log
| |- note: add '@MainActor' to make static property 'readLine' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | Swift.readLine(strippingNewline: false)
57 | }
/host/spi-builder-workspace/Sources/CommandLine.swift:70:13: warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
68 | }
69 |
70 | private var quietMode = false
| |- warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'quietMode' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'quietMode' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | private func print(_ message: String, as type: CLI.OutputType = .info) {
72 | if !quietMode || [.raw, .content, .error].contains(type) {
/host/spi-builder-workspace/Sources/CommandLine.swift:777:17: warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
775 | // If no input file, try stdin
776 | DispatchQueue.global(qos: .userInitiated).async {
777 | processFromStdin()
| |- warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
778 | }
779 | // Wait for input
/host/spi-builder-workspace/Sources/CommandLine.swift:682:14: warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
680 | var input: String?
681 | var status = Status.idle
682 | func processFromStdin() {
| `- warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
683 | status = .started
684 | while let line = CLI.readLine() {
/host/spi-builder-workspace/Sources/FormatRule.swift:50:16: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
48 |
49 | /// Null rule, used for testing
50 | static let none: FormatRule = .init(help: "") { _ in } examples: { nil }
| |- warning: static property 'none' 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 'none' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 |
52 | var isDeprecated: Bool {
/host/spi-builder-workspace/Sources/FormatRule.swift:100:12: warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | public let FormatRules = _FormatRules()
| |- warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'FormatRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 |
102 | private let rulesByName: [String: FormatRule] = {
:
187 | }
188 |
189 | public struct _FormatRules {
| `- note: consider making struct '_FormatRules' conform to the 'Sendable' protocol
190 | fileprivate init() {}
191 | }
/host/spi-builder-workspace/Sources/FormatRule.swift:102:13: warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
100 | public let FormatRules = _FormatRules()
101 |
102 | private let rulesByName: [String: FormatRule] = {
| |- warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'rulesByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 | var rules = [String: FormatRule]()
104 | for (name, rule) in ruleRegistry {
/host/spi-builder-workspace/Sources/FormatRule.swift:134:13: warning: let '_allRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
132 | }
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
| |- warning: let '_allRules' 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 let '_allRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:135:13: warning: let '_deprecatedRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
| |- warning: let '_deprecatedRules' 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 let '_deprecatedRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:136:13: warning: let '_disabledByDefault' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
| |- warning: let '_disabledByDefault' 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 let '_disabledByDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
137 | private let _defaultRules = allRules(except: _disabledByDefault)
138 |
/host/spi-builder-workspace/Sources/FormatRule.swift:137:13: warning: let '_defaultRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
| |- warning: let '_defaultRules' 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 let '_defaultRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |
139 | public extension _FormatRules {
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2789:16: warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2787 |
2788 | extension Date {
2789 | static var yearFormatter: (Date) -> String = {
| |- warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'yearFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2790 | let formatter = DateFormatter()
2791 | formatter.dateFormat = "yyyy"
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2795:16: warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2793 | }()
2794 |
2795 | static var currentYear = yearFormatter(Date())
| |- warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'currentYear' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'currentYear' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2796 |
2797 | var yearString: String {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:100:13: warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | private let getGitRoot: (URL) -> URL? = memoize({ $0.relativePath }) { url in
| |- warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getGitRoot' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | let dir = "git rev-parse --show-toplevel".shellOutput(cwd: url)
102 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:111:13: warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | // If a file has never been committed, default to the local git user for the repository
111 | private let getDefaultGitInfo: (URL) -> GitFileInfo = memoize({ $0.relativePath }) { url in
| |- warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getDefaultGitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 | let name = "git config user.name".shellOutput(cwd: url)
113 | let email = "git config user.email".shellOutput(cwd: url)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:118:13: warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
116 | }
117 |
118 | private let getMovedFiles: (URL) -> [(from: URL, to: URL)] = memoize({ $0.relativePath }) { root in
| |- warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getMovedFiles' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | let command = "git diff --diff-filter=R --staged --name-status"
120 | let output = command.shellOutput(cwd: root)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:167:13: warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
165 | }
166 |
167 | private let getCommitInfo: ((String?, URL)) -> GitFileInfo? = memoize(
| |- warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getCommitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
168 | { hash, root in (hash ?? "none") + root.relativePath },
169 | { hash, root in
/host/spi-builder-workspace/Sources/Inference.swift:1520:16: warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
46 | }
47 |
48 | private struct OptionInferrer {
| `- note: consider making struct 'OptionInferrer' conform to the 'Sendable' protocol
49 | let fn: (Formatter, inout FormatOptions) -> Void
50 |
:
1518 | }()
1519 |
1520 | static let byName: [String: OptionInferrer] = {
| |- warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'byName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1521 | var inferrers = [String: OptionInferrer]()
1522 | for (label, value) in Mirror(reflecting: Inference()).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:383:5: warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
381 | }
382 |
383 | let Descriptors = _Descriptors()
| |- warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'Descriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
:
441 | }
442 |
443 | struct _Descriptors {
| `- note: consider making struct '_Descriptors' conform to the 'Sendable' protocol
444 | let lineAfterMarks = OptionDescriptor(
445 | argumentName: "lineaftermarks",
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:385:13: warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
383 | let Descriptors = _Descriptors()
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
| |- warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_allDescriptors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_allDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
386 | var descriptors = [OptionDescriptor]()
387 | for (label, value) in Mirror(reflecting: Descriptors).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:406:13: warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
404 | }()
405 |
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
| |- warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_descriptorsByName' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_descriptorsByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:408:13: warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
32 | import Foundation
33 |
34 | class OptionDescriptor {
| `- note: class 'OptionDescriptor' does not conform to the 'Sendable' protocol
35 | enum ArgumentType: EnumAssociable {
36 | /// index 0 is official value, others are acceptable
:
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
| |- warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let '_formattingDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
409 | let internalDescriptors = Descriptors.internal.map(\.argumentName)
410 | return _allDescriptors.filter { !internalDescriptors.contains($0.argumentName) }
/host/spi-builder-workspace/Sources/Options.swift:180:23: warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
175 |
176 | /// Version number wrapper
177 | public struct Version: RawRepresentable, Comparable, ExpressibleByStringLiteral, CustomStringConvertible {
| `- note: consider making struct 'Version' conform to the 'Sendable' protocol
178 | public let rawValue: String
179 |
180 | public static let undefined = Version(rawValue: "0")!
| |- warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'undefined' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
181 |
182 | public init(stringLiteral value: String) {
/host/spi-builder-workspace/Sources/Options.swift:332:16: warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
330 | /// File info, used for constructing header comments
331 | public struct FileInfo: Equatable, CustomStringConvertible {
332 | static var defaultReplacements: [ReplacementKey: ReplacementType] = [
| |- warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultReplacements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultReplacements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
333 | .createdDate: .dynamic { info, options in
334 | info.creationDate?.format(with: options.dateFormat,
/host/spi-builder-workspace/Sources/Options.swift:709:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
584 | /// Configuration options for formatting. These aren't actually used by the
585 | /// Formatter class itself, but it makes them available to the format rules.
586 | public struct FormatOptions: CustomStringConvertible {
| `- note: consider making struct 'FormatOptions' conform to the 'Sendable' protocol
587 | public var lineAfterMarks: Bool
588 | public var indent: String
:
707 | var enabledRules: Set<String> = []
708 |
709 | public static let `default` = FormatOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
710 |
711 | public init(lineAfterMarks: Bool = true,
/host/spi-builder-workspace/Sources/Options.swift:985:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
976 |
977 | /// File enumeration options
978 | public struct FileOptions {
| `- note: consider making struct 'FileOptions' conform to the 'Sendable' protocol
979 | public var followSymlinks: Bool
980 | public var supportedFileExtensions: [String]
:
983 | public var minVersion: Version
984 |
985 | public static let `default` = FileOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
986 |
987 | public init(followSymlinks: Bool = false,
/host/spi-builder-workspace/Sources/Options.swift:1025:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
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?
:
1023 | public var lint: Bool
1024 |
1025 | public static let `default` = Options(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1026 | fileOptions: .default,
1027 | formatOptions: .default,
/host/spi-builder-workspace/Sources/RuleRegistry.generated.swift:11:5: warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | /// All of the rules defined in the Rules directory.
10 | /// **Generated automatically when running tests. Do not modify.**
11 | let ruleRegistry: [String: FormatRule] = [
| |- warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'ruleRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | "acronyms": .acronyms,
13 | "andOperator": .andOperator,
/host/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 |
/host/spi-builder-workspace/Sources/CommandLine.swift:49:16: warning: static property 'print' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// Output handler - override this to intercept output from the CLI
49 | static var print: (String, OutputType) -> Void = { _, _ in
| |- warning: static property 'print' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'print' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'print' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 | fatalError("No print hook set.")
51 | }
/host/spi-builder-workspace/Sources/CommandLine.swift:55:16: warning: static property 'readLine' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 | /// Input handler - override this to inject input into the CLI
54 | /// Injected lines should include the terminating newline character
55 | static var readLine: () -> String? = {
| |- warning: static property 'readLine' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'readLine' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'readLine' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | Swift.readLine(strippingNewline: false)
57 | }
/host/spi-builder-workspace/Sources/CommandLine.swift:70:13: warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
68 | }
69 |
70 | private var quietMode = false
| |- warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'quietMode' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'quietMode' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | private func print(_ message: String, as type: CLI.OutputType = .info) {
72 | if !quietMode || [.raw, .content, .error].contains(type) {
/host/spi-builder-workspace/Sources/CommandLine.swift:777:17: warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
775 | // If no input file, try stdin
776 | DispatchQueue.global(qos: .userInitiated).async {
777 | processFromStdin()
| |- warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
778 | }
779 | // Wait for input
/host/spi-builder-workspace/Sources/CommandLine.swift:682:14: warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
680 | var input: String?
681 | var status = Status.idle
682 | func processFromStdin() {
| `- warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
683 | status = .started
684 | while let line = CLI.readLine() {
/host/spi-builder-workspace/Sources/FormatRule.swift:50:16: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
48 |
49 | /// Null rule, used for testing
50 | static let none: FormatRule = .init(help: "") { _ in } examples: { nil }
| |- warning: static property 'none' 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 'none' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 |
52 | var isDeprecated: Bool {
/host/spi-builder-workspace/Sources/FormatRule.swift:100:12: warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | public let FormatRules = _FormatRules()
| |- warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'FormatRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 |
102 | private let rulesByName: [String: FormatRule] = {
:
187 | }
188 |
189 | public struct _FormatRules {
| `- note: consider making struct '_FormatRules' conform to the 'Sendable' protocol
190 | fileprivate init() {}
191 | }
/host/spi-builder-workspace/Sources/FormatRule.swift:102:13: warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
100 | public let FormatRules = _FormatRules()
101 |
102 | private let rulesByName: [String: FormatRule] = {
| |- warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'rulesByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 | var rules = [String: FormatRule]()
104 | for (name, rule) in ruleRegistry {
/host/spi-builder-workspace/Sources/FormatRule.swift:134:13: warning: let '_allRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
132 | }
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
| |- warning: let '_allRules' 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 let '_allRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:135:13: warning: let '_deprecatedRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
| |- warning: let '_deprecatedRules' 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 let '_deprecatedRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:136:13: warning: let '_disabledByDefault' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
| |- warning: let '_disabledByDefault' 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 let '_disabledByDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
137 | private let _defaultRules = allRules(except: _disabledByDefault)
138 |
/host/spi-builder-workspace/Sources/FormatRule.swift:137:13: warning: let '_defaultRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
| |- warning: let '_defaultRules' 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 let '_defaultRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |
139 | public extension _FormatRules {
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2789:16: warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2787 |
2788 | extension Date {
2789 | static var yearFormatter: (Date) -> String = {
| |- warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'yearFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2790 | let formatter = DateFormatter()
2791 | formatter.dateFormat = "yyyy"
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2795:16: warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2793 | }()
2794 |
2795 | static var currentYear = yearFormatter(Date())
| |- warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'currentYear' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'currentYear' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2796 |
2797 | var yearString: String {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:100:13: warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | private let getGitRoot: (URL) -> URL? = memoize({ $0.relativePath }) { url in
| |- warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getGitRoot' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | let dir = "git rev-parse --show-toplevel".shellOutput(cwd: url)
102 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:111:13: warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | // If a file has never been committed, default to the local git user for the repository
111 | private let getDefaultGitInfo: (URL) -> GitFileInfo = memoize({ $0.relativePath }) { url in
| |- warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getDefaultGitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 | let name = "git config user.name".shellOutput(cwd: url)
113 | let email = "git config user.email".shellOutput(cwd: url)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:118:13: warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
116 | }
117 |
118 | private let getMovedFiles: (URL) -> [(from: URL, to: URL)] = memoize({ $0.relativePath }) { root in
| |- warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getMovedFiles' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | let command = "git diff --diff-filter=R --staged --name-status"
120 | let output = command.shellOutput(cwd: root)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:167:13: warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
165 | }
166 |
167 | private let getCommitInfo: ((String?, URL)) -> GitFileInfo? = memoize(
| |- warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getCommitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
168 | { hash, root in (hash ?? "none") + root.relativePath },
169 | { hash, root in
/host/spi-builder-workspace/Sources/Inference.swift:1520:16: warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
46 | }
47 |
48 | private struct OptionInferrer {
| `- note: consider making struct 'OptionInferrer' conform to the 'Sendable' protocol
49 | let fn: (Formatter, inout FormatOptions) -> Void
50 |
:
1518 | }()
1519 |
1520 | static let byName: [String: OptionInferrer] = {
| |- warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'byName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1521 | var inferrers = [String: OptionInferrer]()
1522 | for (label, value) in Mirror(reflecting: Inference()).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:383:5: warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
381 | }
382 |
383 | let Descriptors = _Descriptors()
| |- warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'Descriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
:
441 | }
442 |
443 | struct _Descriptors {
| `- note: consider making struct '_Descriptors' conform to the 'Sendable' protocol
444 | let lineAfterMarks = OptionDescriptor(
445 | argumentName: "lineaftermarks",
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:385:13: warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
383 | let Descriptors = _Descriptors()
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
| |- warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_allDescriptors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_allDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
386 | var descriptors = [OptionDescriptor]()
387 | for (label, value) in Mirror(reflecting: Descriptors).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:406:13: warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
404 | }()
405 |
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
| |- warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_descriptorsByName' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_descriptorsByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:408:13: warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
32 | import Foundation
33 |
34 | class OptionDescriptor {
| `- note: class 'OptionDescriptor' does not conform to the 'Sendable' protocol
35 | enum ArgumentType: EnumAssociable {
36 | /// index 0 is official value, others are acceptable
:
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
| |- warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let '_formattingDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
409 | let internalDescriptors = Descriptors.internal.map(\.argumentName)
410 | return _allDescriptors.filter { !internalDescriptors.contains($0.argumentName) }
/host/spi-builder-workspace/Sources/Options.swift:180:23: warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
175 |
176 | /// Version number wrapper
177 | public struct Version: RawRepresentable, Comparable, ExpressibleByStringLiteral, CustomStringConvertible {
| `- note: consider making struct 'Version' conform to the 'Sendable' protocol
178 | public let rawValue: String
179 |
180 | public static let undefined = Version(rawValue: "0")!
| |- warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'undefined' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
181 |
182 | public init(stringLiteral value: String) {
/host/spi-builder-workspace/Sources/Options.swift:332:16: warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
330 | /// File info, used for constructing header comments
331 | public struct FileInfo: Equatable, CustomStringConvertible {
332 | static var defaultReplacements: [ReplacementKey: ReplacementType] = [
| |- warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultReplacements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultReplacements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
333 | .createdDate: .dynamic { info, options in
334 | info.creationDate?.format(with: options.dateFormat,
/host/spi-builder-workspace/Sources/Options.swift:709:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
584 | /// Configuration options for formatting. These aren't actually used by the
585 | /// Formatter class itself, but it makes them available to the format rules.
586 | public struct FormatOptions: CustomStringConvertible {
| `- note: consider making struct 'FormatOptions' conform to the 'Sendable' protocol
587 | public var lineAfterMarks: Bool
588 | public var indent: String
:
707 | var enabledRules: Set<String> = []
708 |
709 | public static let `default` = FormatOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
710 |
711 | public init(lineAfterMarks: Bool = true,
/host/spi-builder-workspace/Sources/Options.swift:985:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
976 |
977 | /// File enumeration options
978 | public struct FileOptions {
| `- note: consider making struct 'FileOptions' conform to the 'Sendable' protocol
979 | public var followSymlinks: Bool
980 | public var supportedFileExtensions: [String]
:
983 | public var minVersion: Version
984 |
985 | public static let `default` = FileOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
986 |
987 | public init(followSymlinks: Bool = false,
/host/spi-builder-workspace/Sources/Options.swift:1025:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
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?
:
1023 | public var lint: Bool
1024 |
1025 | public static let `default` = Options(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1026 | fileOptions: .default,
1027 | formatOptions: .default,
/host/spi-builder-workspace/Sources/RuleRegistry.generated.swift:11:5: warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | /// All of the rules defined in the Rules directory.
10 | /// **Generated automatically when running tests. Do not modify.**
11 | let ruleRegistry: [String: FormatRule] = [
| |- warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'ruleRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | "acronyms": .acronyms,
13 | "andOperator": .andOperator,
/host/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 |
/host/spi-builder-workspace/Sources/CommandLine.swift:49:16: warning: static property 'print' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// Output handler - override this to intercept output from the CLI
49 | static var print: (String, OutputType) -> Void = { _, _ in
| |- warning: static property 'print' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'print' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'print' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 | fatalError("No print hook set.")
51 | }
/host/spi-builder-workspace/Sources/CommandLine.swift:55:16: warning: static property 'readLine' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 | /// Input handler - override this to inject input into the CLI
54 | /// Injected lines should include the terminating newline character
55 | static var readLine: () -> String? = {
| |- warning: static property 'readLine' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'readLine' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'readLine' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | Swift.readLine(strippingNewline: false)
57 | }
/host/spi-builder-workspace/Sources/CommandLine.swift:70:13: warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
68 | }
69 |
70 | private var quietMode = false
| |- warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'quietMode' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'quietMode' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | private func print(_ message: String, as type: CLI.OutputType = .info) {
72 | if !quietMode || [.raw, .content, .error].contains(type) {
/host/spi-builder-workspace/Sources/CommandLine.swift:777:17: warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
775 | // If no input file, try stdin
776 | DispatchQueue.global(qos: .userInitiated).async {
777 | processFromStdin()
| |- warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
778 | }
779 | // Wait for input
/host/spi-builder-workspace/Sources/CommandLine.swift:682:14: warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
680 | var input: String?
681 | var status = Status.idle
682 | func processFromStdin() {
| `- warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
683 | status = .started
684 | while let line = CLI.readLine() {
/host/spi-builder-workspace/Sources/FormatRule.swift:50:16: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
48 |
49 | /// Null rule, used for testing
50 | static let none: FormatRule = .init(help: "") { _ in } examples: { nil }
| |- warning: static property 'none' 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 'none' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 |
52 | var isDeprecated: Bool {
/host/spi-builder-workspace/Sources/FormatRule.swift:100:12: warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | public let FormatRules = _FormatRules()
| |- warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'FormatRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 |
102 | private let rulesByName: [String: FormatRule] = {
:
187 | }
188 |
189 | public struct _FormatRules {
| `- note: consider making struct '_FormatRules' conform to the 'Sendable' protocol
190 | fileprivate init() {}
191 | }
/host/spi-builder-workspace/Sources/FormatRule.swift:102:13: warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
100 | public let FormatRules = _FormatRules()
101 |
102 | private let rulesByName: [String: FormatRule] = {
| |- warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'rulesByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 | var rules = [String: FormatRule]()
104 | for (name, rule) in ruleRegistry {
/host/spi-builder-workspace/Sources/FormatRule.swift:134:13: warning: let '_allRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
132 | }
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
| |- warning: let '_allRules' 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 let '_allRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:135:13: warning: let '_deprecatedRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
| |- warning: let '_deprecatedRules' 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 let '_deprecatedRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:136:13: warning: let '_disabledByDefault' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
| |- warning: let '_disabledByDefault' 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 let '_disabledByDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
137 | private let _defaultRules = allRules(except: _disabledByDefault)
138 |
/host/spi-builder-workspace/Sources/FormatRule.swift:137:13: warning: let '_defaultRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
| |- warning: let '_defaultRules' 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 let '_defaultRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |
139 | public extension _FormatRules {
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2789:16: warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2787 |
2788 | extension Date {
2789 | static var yearFormatter: (Date) -> String = {
| |- warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'yearFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2790 | let formatter = DateFormatter()
2791 | formatter.dateFormat = "yyyy"
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2795:16: warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2793 | }()
2794 |
2795 | static var currentYear = yearFormatter(Date())
| |- warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'currentYear' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'currentYear' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2796 |
2797 | var yearString: String {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:100:13: warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | private let getGitRoot: (URL) -> URL? = memoize({ $0.relativePath }) { url in
| |- warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getGitRoot' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | let dir = "git rev-parse --show-toplevel".shellOutput(cwd: url)
102 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:111:13: warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | // If a file has never been committed, default to the local git user for the repository
111 | private let getDefaultGitInfo: (URL) -> GitFileInfo = memoize({ $0.relativePath }) { url in
| |- warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getDefaultGitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 | let name = "git config user.name".shellOutput(cwd: url)
113 | let email = "git config user.email".shellOutput(cwd: url)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:118:13: warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
116 | }
117 |
118 | private let getMovedFiles: (URL) -> [(from: URL, to: URL)] = memoize({ $0.relativePath }) { root in
| |- warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getMovedFiles' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | let command = "git diff --diff-filter=R --staged --name-status"
120 | let output = command.shellOutput(cwd: root)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:167:13: warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
165 | }
166 |
167 | private let getCommitInfo: ((String?, URL)) -> GitFileInfo? = memoize(
| |- warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getCommitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
168 | { hash, root in (hash ?? "none") + root.relativePath },
169 | { hash, root in
/host/spi-builder-workspace/Sources/Inference.swift:1520:16: warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
46 | }
47 |
48 | private struct OptionInferrer {
| `- note: consider making struct 'OptionInferrer' conform to the 'Sendable' protocol
49 | let fn: (Formatter, inout FormatOptions) -> Void
50 |
:
1518 | }()
1519 |
1520 | static let byName: [String: OptionInferrer] = {
| |- warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'byName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1521 | var inferrers = [String: OptionInferrer]()
1522 | for (label, value) in Mirror(reflecting: Inference()).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:383:5: warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
381 | }
382 |
383 | let Descriptors = _Descriptors()
| |- warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'Descriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
:
441 | }
442 |
443 | struct _Descriptors {
| `- note: consider making struct '_Descriptors' conform to the 'Sendable' protocol
444 | let lineAfterMarks = OptionDescriptor(
445 | argumentName: "lineaftermarks",
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:385:13: warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
383 | let Descriptors = _Descriptors()
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
| |- warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_allDescriptors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_allDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
386 | var descriptors = [OptionDescriptor]()
387 | for (label, value) in Mirror(reflecting: Descriptors).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:406:13: warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
404 | }()
405 |
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
| |- warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_descriptorsByName' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_descriptorsByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:408:13: warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
32 | import Foundation
33 |
34 | class OptionDescriptor {
| `- note: class 'OptionDescriptor' does not conform to the 'Sendable' protocol
35 | enum ArgumentType: EnumAssociable {
36 | /// index 0 is official value, others are acceptable
:
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
| |- warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let '_formattingDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
409 | let internalDescriptors = Descriptors.internal.map(\.argumentName)
410 | return _allDescriptors.filter { !internalDescriptors.contains($0.argumentName) }
/host/spi-builder-workspace/Sources/Options.swift:180:23: warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
175 |
176 | /// Version number wrapper
177 | public struct Version: RawRepresentable, Comparable, ExpressibleByStringLiteral, CustomStringConvertible {
| `- note: consider making struct 'Version' conform to the 'Sendable' protocol
178 | public let rawValue: String
179 |
180 | public static let undefined = Version(rawValue: "0")!
| |- warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'undefined' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
181 |
182 | public init(stringLiteral value: String) {
/host/spi-builder-workspace/Sources/Options.swift:332:16: warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
330 | /// File info, used for constructing header comments
331 | public struct FileInfo: Equatable, CustomStringConvertible {
332 | static var defaultReplacements: [ReplacementKey: ReplacementType] = [
| |- warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultReplacements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultReplacements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
333 | .createdDate: .dynamic { info, options in
334 | info.creationDate?.format(with: options.dateFormat,
/host/spi-builder-workspace/Sources/Options.swift:709:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
584 | /// Configuration options for formatting. These aren't actually used by the
585 | /// Formatter class itself, but it makes them available to the format rules.
586 | public struct FormatOptions: CustomStringConvertible {
| `- note: consider making struct 'FormatOptions' conform to the 'Sendable' protocol
587 | public var lineAfterMarks: Bool
588 | public var indent: String
:
707 | var enabledRules: Set<String> = []
708 |
709 | public static let `default` = FormatOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
710 |
711 | public init(lineAfterMarks: Bool = true,
/host/spi-builder-workspace/Sources/Options.swift:985:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
976 |
977 | /// File enumeration options
978 | public struct FileOptions {
| `- note: consider making struct 'FileOptions' conform to the 'Sendable' protocol
979 | public var followSymlinks: Bool
980 | public var supportedFileExtensions: [String]
:
983 | public var minVersion: Version
984 |
985 | public static let `default` = FileOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
986 |
987 | public init(followSymlinks: Bool = false,
/host/spi-builder-workspace/Sources/Options.swift:1025:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
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?
:
1023 | public var lint: Bool
1024 |
1025 | public static let `default` = Options(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1026 | fileOptions: .default,
1027 | formatOptions: .default,
/host/spi-builder-workspace/Sources/RuleRegistry.generated.swift:11:5: warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | /// All of the rules defined in the Rules directory.
10 | /// **Generated automatically when running tests. Do not modify.**
11 | let ruleRegistry: [String: FormatRule] = [
| |- warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'ruleRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | "acronyms": .acronyms,
13 | "andOperator": .andOperator,
/host/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 |
/host/spi-builder-workspace/Sources/CommandLine.swift:49:16: warning: static property 'print' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// Output handler - override this to intercept output from the CLI
49 | static var print: (String, OutputType) -> Void = { _, _ in
| |- warning: static property 'print' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'print' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'print' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 | fatalError("No print hook set.")
51 | }
/host/spi-builder-workspace/Sources/CommandLine.swift:55:16: warning: static property 'readLine' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 | /// Input handler - override this to inject input into the CLI
54 | /// Injected lines should include the terminating newline character
55 | static var readLine: () -> String? = {
| |- warning: static property 'readLine' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'readLine' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'readLine' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | Swift.readLine(strippingNewline: false)
57 | }
/host/spi-builder-workspace/Sources/CommandLine.swift:70:13: warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
68 | }
69 |
70 | private var quietMode = false
| |- warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'quietMode' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'quietMode' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | private func print(_ message: String, as type: CLI.OutputType = .info) {
72 | if !quietMode || [.raw, .content, .error].contains(type) {
/host/spi-builder-workspace/Sources/CommandLine.swift:777:17: warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
775 | // If no input file, try stdin
776 | DispatchQueue.global(qos: .userInitiated).async {
777 | processFromStdin()
| |- warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
778 | }
779 | // Wait for input
/host/spi-builder-workspace/Sources/CommandLine.swift:682:14: warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
680 | var input: String?
681 | var status = Status.idle
682 | func processFromStdin() {
| `- warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
683 | status = .started
684 | while let line = CLI.readLine() {
/host/spi-builder-workspace/Sources/FormatRule.swift:50:16: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
48 |
49 | /// Null rule, used for testing
50 | static let none: FormatRule = .init(help: "") { _ in } examples: { nil }
| |- warning: static property 'none' 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 'none' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 |
52 | var isDeprecated: Bool {
/host/spi-builder-workspace/Sources/FormatRule.swift:100:12: warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | public let FormatRules = _FormatRules()
| |- warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'FormatRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 |
102 | private let rulesByName: [String: FormatRule] = {
:
187 | }
188 |
189 | public struct _FormatRules {
| `- note: consider making struct '_FormatRules' conform to the 'Sendable' protocol
190 | fileprivate init() {}
191 | }
/host/spi-builder-workspace/Sources/FormatRule.swift:102:13: warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
100 | public let FormatRules = _FormatRules()
101 |
102 | private let rulesByName: [String: FormatRule] = {
| |- warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'rulesByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 | var rules = [String: FormatRule]()
104 | for (name, rule) in ruleRegistry {
/host/spi-builder-workspace/Sources/FormatRule.swift:134:13: warning: let '_allRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
132 | }
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
| |- warning: let '_allRules' 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 let '_allRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:135:13: warning: let '_deprecatedRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
| |- warning: let '_deprecatedRules' 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 let '_deprecatedRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:136:13: warning: let '_disabledByDefault' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
| |- warning: let '_disabledByDefault' 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 let '_disabledByDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
137 | private let _defaultRules = allRules(except: _disabledByDefault)
138 |
/host/spi-builder-workspace/Sources/FormatRule.swift:137:13: warning: let '_defaultRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
| |- warning: let '_defaultRules' 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 let '_defaultRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |
139 | public extension _FormatRules {
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2789:16: warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2787 |
2788 | extension Date {
2789 | static var yearFormatter: (Date) -> String = {
| |- warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'yearFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2790 | let formatter = DateFormatter()
2791 | formatter.dateFormat = "yyyy"
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2795:16: warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2793 | }()
2794 |
2795 | static var currentYear = yearFormatter(Date())
| |- warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'currentYear' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'currentYear' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2796 |
2797 | var yearString: String {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:100:13: warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | private let getGitRoot: (URL) -> URL? = memoize({ $0.relativePath }) { url in
| |- warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getGitRoot' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | let dir = "git rev-parse --show-toplevel".shellOutput(cwd: url)
102 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:111:13: warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | // If a file has never been committed, default to the local git user for the repository
111 | private let getDefaultGitInfo: (URL) -> GitFileInfo = memoize({ $0.relativePath }) { url in
| |- warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getDefaultGitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 | let name = "git config user.name".shellOutput(cwd: url)
113 | let email = "git config user.email".shellOutput(cwd: url)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:118:13: warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
116 | }
117 |
118 | private let getMovedFiles: (URL) -> [(from: URL, to: URL)] = memoize({ $0.relativePath }) { root in
| |- warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getMovedFiles' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | let command = "git diff --diff-filter=R --staged --name-status"
120 | let output = command.shellOutput(cwd: root)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:167:13: warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
165 | }
166 |
167 | private let getCommitInfo: ((String?, URL)) -> GitFileInfo? = memoize(
| |- warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getCommitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
168 | { hash, root in (hash ?? "none") + root.relativePath },
169 | { hash, root in
/host/spi-builder-workspace/Sources/Inference.swift:1520:16: warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
46 | }
47 |
48 | private struct OptionInferrer {
| `- note: consider making struct 'OptionInferrer' conform to the 'Sendable' protocol
49 | let fn: (Formatter, inout FormatOptions) -> Void
50 |
:
1518 | }()
1519 |
1520 | static let byName: [String: OptionInferrer] = {
| |- warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'byName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1521 | var inferrers = [String: OptionInferrer]()
1522 | for (label, value) in Mirror(reflecting: Inference()).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:383:5: warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
381 | }
382 |
383 | let Descriptors = _Descriptors()
| |- warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'Descriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
:
441 | }
442 |
443 | struct _Descriptors {
| `- note: consider making struct '_Descriptors' conform to the 'Sendable' protocol
444 | let lineAfterMarks = OptionDescriptor(
445 | argumentName: "lineaftermarks",
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:385:13: warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
383 | let Descriptors = _Descriptors()
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
| |- warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_allDescriptors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_allDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
386 | var descriptors = [OptionDescriptor]()
387 | for (label, value) in Mirror(reflecting: Descriptors).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:406:13: warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
404 | }()
405 |
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
| |- warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_descriptorsByName' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_descriptorsByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:408:13: warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
32 | import Foundation
33 |
34 | class OptionDescriptor {
| `- note: class 'OptionDescriptor' does not conform to the 'Sendable' protocol
35 | enum ArgumentType: EnumAssociable {
36 | /// index 0 is official value, others are acceptable
:
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
| |- warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let '_formattingDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
409 | let internalDescriptors = Descriptors.internal.map(\.argumentName)
410 | return _allDescriptors.filter { !internalDescriptors.contains($0.argumentName) }
/host/spi-builder-workspace/Sources/Options.swift:180:23: warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
175 |
176 | /// Version number wrapper
177 | public struct Version: RawRepresentable, Comparable, ExpressibleByStringLiteral, CustomStringConvertible {
| `- note: consider making struct 'Version' conform to the 'Sendable' protocol
178 | public let rawValue: String
179 |
180 | public static let undefined = Version(rawValue: "0")!
| |- warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'undefined' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
181 |
182 | public init(stringLiteral value: String) {
/host/spi-builder-workspace/Sources/Options.swift:332:16: warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
330 | /// File info, used for constructing header comments
331 | public struct FileInfo: Equatable, CustomStringConvertible {
332 | static var defaultReplacements: [ReplacementKey: ReplacementType] = [
| |- warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultReplacements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultReplacements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
333 | .createdDate: .dynamic { info, options in
334 | info.creationDate?.format(with: options.dateFormat,
/host/spi-builder-workspace/Sources/Options.swift:709:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
584 | /// Configuration options for formatting. These aren't actually used by the
585 | /// Formatter class itself, but it makes them available to the format rules.
586 | public struct FormatOptions: CustomStringConvertible {
| `- note: consider making struct 'FormatOptions' conform to the 'Sendable' protocol
587 | public var lineAfterMarks: Bool
588 | public var indent: String
:
707 | var enabledRules: Set<String> = []
708 |
709 | public static let `default` = FormatOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
710 |
711 | public init(lineAfterMarks: Bool = true,
/host/spi-builder-workspace/Sources/Options.swift:985:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
976 |
977 | /// File enumeration options
978 | public struct FileOptions {
| `- note: consider making struct 'FileOptions' conform to the 'Sendable' protocol
979 | public var followSymlinks: Bool
980 | public var supportedFileExtensions: [String]
:
983 | public var minVersion: Version
984 |
985 | public static let `default` = FileOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
986 |
987 | public init(followSymlinks: Bool = false,
/host/spi-builder-workspace/Sources/Options.swift:1025:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
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?
:
1023 | public var lint: Bool
1024 |
1025 | public static let `default` = Options(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1026 | fileOptions: .default,
1027 | formatOptions: .default,
/host/spi-builder-workspace/Sources/RuleRegistry.generated.swift:11:5: warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | /// All of the rules defined in the Rules directory.
10 | /// **Generated automatically when running tests. Do not modify.**
11 | let ruleRegistry: [String: FormatRule] = [
| |- warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'ruleRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | "acronyms": .acronyms,
13 | "andOperator": .andOperator,
/host/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 |
/host/spi-builder-workspace/Sources/CommandLine.swift:49:16: warning: static property 'print' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// Output handler - override this to intercept output from the CLI
49 | static var print: (String, OutputType) -> Void = { _, _ in
| |- warning: static property 'print' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'print' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'print' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 | fatalError("No print hook set.")
51 | }
/host/spi-builder-workspace/Sources/CommandLine.swift:55:16: warning: static property 'readLine' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 | /// Input handler - override this to inject input into the CLI
54 | /// Injected lines should include the terminating newline character
55 | static var readLine: () -> String? = {
| |- warning: static property 'readLine' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'readLine' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'readLine' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | Swift.readLine(strippingNewline: false)
57 | }
/host/spi-builder-workspace/Sources/CommandLine.swift:70:13: warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
68 | }
69 |
70 | private var quietMode = false
| |- warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'quietMode' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'quietMode' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | private func print(_ message: String, as type: CLI.OutputType = .info) {
72 | if !quietMode || [.raw, .content, .error].contains(type) {
/host/spi-builder-workspace/Sources/CommandLine.swift:777:17: warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
775 | // If no input file, try stdin
776 | DispatchQueue.global(qos: .userInitiated).async {
777 | processFromStdin()
| |- warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
778 | }
779 | // Wait for input
/host/spi-builder-workspace/Sources/CommandLine.swift:682:14: warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
680 | var input: String?
681 | var status = Status.idle
682 | func processFromStdin() {
| `- warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
683 | status = .started
684 | while let line = CLI.readLine() {
/host/spi-builder-workspace/Sources/FormatRule.swift:50:16: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
48 |
49 | /// Null rule, used for testing
50 | static let none: FormatRule = .init(help: "") { _ in } examples: { nil }
| |- warning: static property 'none' 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 'none' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 |
52 | var isDeprecated: Bool {
/host/spi-builder-workspace/Sources/FormatRule.swift:100:12: warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | public let FormatRules = _FormatRules()
| |- warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'FormatRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 |
102 | private let rulesByName: [String: FormatRule] = {
:
187 | }
188 |
189 | public struct _FormatRules {
| `- note: consider making struct '_FormatRules' conform to the 'Sendable' protocol
190 | fileprivate init() {}
191 | }
/host/spi-builder-workspace/Sources/FormatRule.swift:102:13: warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
100 | public let FormatRules = _FormatRules()
101 |
102 | private let rulesByName: [String: FormatRule] = {
| |- warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'rulesByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 | var rules = [String: FormatRule]()
104 | for (name, rule) in ruleRegistry {
/host/spi-builder-workspace/Sources/FormatRule.swift:134:13: warning: let '_allRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
132 | }
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
| |- warning: let '_allRules' 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 let '_allRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:135:13: warning: let '_deprecatedRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
| |- warning: let '_deprecatedRules' 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 let '_deprecatedRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:136:13: warning: let '_disabledByDefault' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
| |- warning: let '_disabledByDefault' 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 let '_disabledByDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
137 | private let _defaultRules = allRules(except: _disabledByDefault)
138 |
/host/spi-builder-workspace/Sources/FormatRule.swift:137:13: warning: let '_defaultRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
| |- warning: let '_defaultRules' 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 let '_defaultRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |
139 | public extension _FormatRules {
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2789:16: warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2787 |
2788 | extension Date {
2789 | static var yearFormatter: (Date) -> String = {
| |- warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'yearFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2790 | let formatter = DateFormatter()
2791 | formatter.dateFormat = "yyyy"
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2795:16: warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2793 | }()
2794 |
2795 | static var currentYear = yearFormatter(Date())
| |- warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'currentYear' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'currentYear' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2796 |
2797 | var yearString: String {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:100:13: warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | private let getGitRoot: (URL) -> URL? = memoize({ $0.relativePath }) { url in
| |- warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getGitRoot' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | let dir = "git rev-parse --show-toplevel".shellOutput(cwd: url)
102 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:111:13: warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | // If a file has never been committed, default to the local git user for the repository
111 | private let getDefaultGitInfo: (URL) -> GitFileInfo = memoize({ $0.relativePath }) { url in
| |- warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getDefaultGitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 | let name = "git config user.name".shellOutput(cwd: url)
113 | let email = "git config user.email".shellOutput(cwd: url)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:118:13: warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
116 | }
117 |
118 | private let getMovedFiles: (URL) -> [(from: URL, to: URL)] = memoize({ $0.relativePath }) { root in
| |- warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getMovedFiles' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | let command = "git diff --diff-filter=R --staged --name-status"
120 | let output = command.shellOutput(cwd: root)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:167:13: warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
165 | }
166 |
167 | private let getCommitInfo: ((String?, URL)) -> GitFileInfo? = memoize(
| |- warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getCommitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
168 | { hash, root in (hash ?? "none") + root.relativePath },
169 | { hash, root in
/host/spi-builder-workspace/Sources/Inference.swift:1520:16: warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
46 | }
47 |
48 | private struct OptionInferrer {
| `- note: consider making struct 'OptionInferrer' conform to the 'Sendable' protocol
49 | let fn: (Formatter, inout FormatOptions) -> Void
50 |
:
1518 | }()
1519 |
1520 | static let byName: [String: OptionInferrer] = {
| |- warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'byName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1521 | var inferrers = [String: OptionInferrer]()
1522 | for (label, value) in Mirror(reflecting: Inference()).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:383:5: warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
381 | }
382 |
383 | let Descriptors = _Descriptors()
| |- warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'Descriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
:
441 | }
442 |
443 | struct _Descriptors {
| `- note: consider making struct '_Descriptors' conform to the 'Sendable' protocol
444 | let lineAfterMarks = OptionDescriptor(
445 | argumentName: "lineaftermarks",
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:385:13: warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
383 | let Descriptors = _Descriptors()
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
| |- warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_allDescriptors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_allDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
386 | var descriptors = [OptionDescriptor]()
387 | for (label, value) in Mirror(reflecting: Descriptors).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:406:13: warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
404 | }()
405 |
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
| |- warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_descriptorsByName' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_descriptorsByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:408:13: warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
32 | import Foundation
33 |
34 | class OptionDescriptor {
| `- note: class 'OptionDescriptor' does not conform to the 'Sendable' protocol
35 | enum ArgumentType: EnumAssociable {
36 | /// index 0 is official value, others are acceptable
:
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
| |- warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let '_formattingDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
409 | let internalDescriptors = Descriptors.internal.map(\.argumentName)
410 | return _allDescriptors.filter { !internalDescriptors.contains($0.argumentName) }
/host/spi-builder-workspace/Sources/Options.swift:180:23: warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
175 |
176 | /// Version number wrapper
177 | public struct Version: RawRepresentable, Comparable, ExpressibleByStringLiteral, CustomStringConvertible {
| `- note: consider making struct 'Version' conform to the 'Sendable' protocol
178 | public let rawValue: String
179 |
180 | public static let undefined = Version(rawValue: "0")!
| |- warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'undefined' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
181 |
182 | public init(stringLiteral value: String) {
/host/spi-builder-workspace/Sources/Options.swift:332:16: warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
330 | /// File info, used for constructing header comments
331 | public struct FileInfo: Equatable, CustomStringConvertible {
332 | static var defaultReplacements: [ReplacementKey: ReplacementType] = [
| |- warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultReplacements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultReplacements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
333 | .createdDate: .dynamic { info, options in
334 | info.creationDate?.format(with: options.dateFormat,
/host/spi-builder-workspace/Sources/Options.swift:709:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
584 | /// Configuration options for formatting. These aren't actually used by the
585 | /// Formatter class itself, but it makes them available to the format rules.
586 | public struct FormatOptions: CustomStringConvertible {
| `- note: consider making struct 'FormatOptions' conform to the 'Sendable' protocol
587 | public var lineAfterMarks: Bool
588 | public var indent: String
:
707 | var enabledRules: Set<String> = []
708 |
709 | public static let `default` = FormatOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
710 |
711 | public init(lineAfterMarks: Bool = true,
/host/spi-builder-workspace/Sources/Options.swift:985:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
976 |
977 | /// File enumeration options
978 | public struct FileOptions {
| `- note: consider making struct 'FileOptions' conform to the 'Sendable' protocol
979 | public var followSymlinks: Bool
980 | public var supportedFileExtensions: [String]
:
983 | public var minVersion: Version
984 |
985 | public static let `default` = FileOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
986 |
987 | public init(followSymlinks: Bool = false,
/host/spi-builder-workspace/Sources/Options.swift:1025:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
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?
:
1023 | public var lint: Bool
1024 |
1025 | public static let `default` = Options(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1026 | fileOptions: .default,
1027 | formatOptions: .default,
/host/spi-builder-workspace/Sources/RuleRegistry.generated.swift:11:5: warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | /// All of the rules defined in the Rules directory.
10 | /// **Generated automatically when running tests. Do not modify.**
11 | let ruleRegistry: [String: FormatRule] = [
| |- warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'ruleRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | "acronyms": .acronyms,
13 | "andOperator": .andOperator,
/host/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 |
/host/spi-builder-workspace/Sources/CommandLine.swift:49:16: warning: static property 'print' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
47 |
48 | /// Output handler - override this to intercept output from the CLI
49 | static var print: (String, OutputType) -> Void = { _, _ in
| |- warning: static property 'print' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'print' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'print' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
50 | fatalError("No print hook set.")
51 | }
/host/spi-builder-workspace/Sources/CommandLine.swift:55:16: warning: static property 'readLine' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
53 | /// Input handler - override this to inject input into the CLI
54 | /// Injected lines should include the terminating newline character
55 | static var readLine: () -> String? = {
| |- warning: static property 'readLine' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'readLine' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'readLine' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
56 | Swift.readLine(strippingNewline: false)
57 | }
/host/spi-builder-workspace/Sources/CommandLine.swift:70:13: warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
68 | }
69 |
70 | private var quietMode = false
| |- warning: var 'quietMode' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'quietMode' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'quietMode' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | private func print(_ message: String, as type: CLI.OutputType = .info) {
72 | if !quietMode || [.raw, .content, .error].contains(type) {
/host/spi-builder-workspace/Sources/CommandLine.swift:777:17: warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
775 | // If no input file, try stdin
776 | DispatchQueue.global(qos: .userInitiated).async {
777 | processFromStdin()
| |- warning: capture of 'processFromStdin()' with non-sendable type '() -> ()' in a '@Sendable' closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
778 | }
779 | // Wait for input
/host/spi-builder-workspace/Sources/CommandLine.swift:682:14: warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
680 | var input: String?
681 | var status = Status.idle
682 | func processFromStdin() {
| `- warning: concurrently-executed local function 'processFromStdin()' must be marked as '@Sendable'; this is an error in the Swift 6 language mode
683 | status = .started
684 | while let line = CLI.readLine() {
/host/spi-builder-workspace/Sources/FormatRule.swift:50:16: warning: static property 'none' is not concurrency-safe because non-'Sendable' type 'FormatRule' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
48 |
49 | /// Null rule, used for testing
50 | static let none: FormatRule = .init(help: "") { _ in } examples: { nil }
| |- warning: static property 'none' 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 'none' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
51 |
52 | var isDeprecated: Bool {
/host/spi-builder-workspace/Sources/FormatRule.swift:100:12: warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | public let FormatRules = _FormatRules()
| |- warning: let 'FormatRules' is not concurrency-safe because non-'Sendable' type '_FormatRules' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'FormatRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 |
102 | private let rulesByName: [String: FormatRule] = {
:
187 | }
188 |
189 | public struct _FormatRules {
| `- note: consider making struct '_FormatRules' conform to the 'Sendable' protocol
190 | fileprivate init() {}
191 | }
/host/spi-builder-workspace/Sources/FormatRule.swift:102:13: warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
100 | public let FormatRules = _FormatRules()
101 |
102 | private let rulesByName: [String: FormatRule] = {
| |- warning: let 'rulesByName' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'rulesByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 | var rules = [String: FormatRule]()
104 | for (name, rule) in ruleRegistry {
/host/spi-builder-workspace/Sources/FormatRule.swift:134:13: warning: let '_allRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
132 | }
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
| |- warning: let '_allRules' 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 let '_allRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:135:13: warning: let '_deprecatedRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
133 |
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
| |- warning: let '_deprecatedRules' 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 let '_deprecatedRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
/host/spi-builder-workspace/Sources/FormatRule.swift:136:13: warning: let '_disabledByDefault' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
134 | private let _allRules = rulesByName.sorted(by: { $0.key < $1.key }).map(\.value)
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
| |- warning: let '_disabledByDefault' 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 let '_disabledByDefault' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
137 | private let _defaultRules = allRules(except: _disabledByDefault)
138 |
/host/spi-builder-workspace/Sources/FormatRule.swift:137:13: warning: let '_defaultRules' is not concurrency-safe because non-'Sendable' type '[FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
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 |
:
135 | private let _deprecatedRules = _allRules.filter(\.isDeprecated)
136 | private let _disabledByDefault = _allRules.filter(\.disabledByDefault)
137 | private let _defaultRules = allRules(except: _disabledByDefault)
| |- warning: let '_defaultRules' 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 let '_defaultRules' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |
139 | public extension _FormatRules {
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2789:16: warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2787 |
2788 | extension Date {
2789 | static var yearFormatter: (Date) -> String = {
| |- warning: static property 'yearFormatter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'yearFormatter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'yearFormatter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2790 | let formatter = DateFormatter()
2791 | formatter.dateFormat = "yyyy"
/host/spi-builder-workspace/Sources/FormattingHelpers.swift:2795:16: warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
2793 | }()
2794 |
2795 | static var currentYear = yearFormatter(Date())
| |- warning: static property 'currentYear' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'currentYear' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'currentYear' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
2796 |
2797 | var yearString: String {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:100:13: warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | private let getGitRoot: (URL) -> URL? = memoize({ $0.relativePath }) { url in
| |- warning: let 'getGitRoot' is not concurrency-safe because non-'Sendable' type '(URL) -> URL?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getGitRoot' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | let dir = "git rev-parse --show-toplevel".shellOutput(cwd: url)
102 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:111:13: warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | // If a file has never been committed, default to the local git user for the repository
111 | private let getDefaultGitInfo: (URL) -> GitFileInfo = memoize({ $0.relativePath }) { url in
| |- warning: let 'getDefaultGitInfo' is not concurrency-safe because non-'Sendable' type '(URL) -> GitFileInfo' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getDefaultGitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 | let name = "git config user.name".shellOutput(cwd: url)
113 | let email = "git config user.email".shellOutput(cwd: url)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:118:13: warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
116 | }
117 |
118 | private let getMovedFiles: (URL) -> [(from: URL, to: URL)] = memoize({ $0.relativePath }) { root in
| |- warning: let 'getMovedFiles' is not concurrency-safe because non-'Sendable' type '(URL) -> [(from: URL, to: URL)]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getMovedFiles' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | let command = "git diff --diff-filter=R --staged --name-status"
120 | let output = command.shellOutput(cwd: root)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/GitFileInfo.swift:167:13: warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
165 | }
166 |
167 | private let getCommitInfo: ((String?, URL)) -> GitFileInfo? = memoize(
| |- warning: let 'getCommitInfo' is not concurrency-safe because non-'Sendable' type '((String?, URL)) -> GitFileInfo?' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'getCommitInfo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
168 | { hash, root in (hash ?? "none") + root.relativePath },
169 | { hash, root in
/host/spi-builder-workspace/Sources/Inference.swift:1520:16: warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
46 | }
47 |
48 | private struct OptionInferrer {
| `- note: consider making struct 'OptionInferrer' conform to the 'Sendable' protocol
49 | let fn: (Formatter, inout FormatOptions) -> Void
50 |
:
1518 | }()
1519 |
1520 | static let byName: [String: OptionInferrer] = {
| |- warning: static property 'byName' is not concurrency-safe because non-'Sendable' type '[String : OptionInferrer]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'byName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1521 | var inferrers = [String: OptionInferrer]()
1522 | for (label, value) in Mirror(reflecting: Inference()).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:383:5: warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
381 | }
382 |
383 | let Descriptors = _Descriptors()
| |- warning: let 'Descriptors' is not concurrency-safe because non-'Sendable' type '_Descriptors' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'Descriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
:
441 | }
442 |
443 | struct _Descriptors {
| `- note: consider making struct '_Descriptors' conform to the 'Sendable' protocol
444 | let lineAfterMarks = OptionDescriptor(
445 | argumentName: "lineaftermarks",
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:385:13: warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
383 | let Descriptors = _Descriptors()
384 |
385 | private var _allDescriptors: [OptionDescriptor] = {
| |- warning: var '_allDescriptors' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_allDescriptors' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_allDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
386 | var descriptors = [OptionDescriptor]()
387 | for (label, value) in Mirror(reflecting: Descriptors).children {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:406:13: warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
404 | }()
405 |
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
| |- warning: var '_descriptorsByName' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_descriptorsByName' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var '_descriptorsByName' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
/host/spi-builder-workspace/Sources/OptionDescriptor.swift:408:13: warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
32 | import Foundation
33 |
34 | class OptionDescriptor {
| `- note: class 'OptionDescriptor' does not conform to the 'Sendable' protocol
35 | enum ArgumentType: EnumAssociable {
36 | /// index 0 is official value, others are acceptable
:
406 | private var _descriptorsByName: [String: OptionDescriptor] = Dictionary(uniqueKeysWithValues: _allDescriptors.map { ($0.argumentName, $0) })
407 |
408 | private let _formattingDescriptors: [OptionDescriptor] = {
| |- warning: let '_formattingDescriptors' is not concurrency-safe because non-'Sendable' type '[OptionDescriptor]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let '_formattingDescriptors' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
409 | let internalDescriptors = Descriptors.internal.map(\.argumentName)
410 | return _allDescriptors.filter { !internalDescriptors.contains($0.argumentName) }
/host/spi-builder-workspace/Sources/Options.swift:180:23: warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
175 |
176 | /// Version number wrapper
177 | public struct Version: RawRepresentable, Comparable, ExpressibleByStringLiteral, CustomStringConvertible {
| `- note: consider making struct 'Version' conform to the 'Sendable' protocol
178 | public let rawValue: String
179 |
180 | public static let undefined = Version(rawValue: "0")!
| |- warning: static property 'undefined' is not concurrency-safe because non-'Sendable' type 'Version' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'undefined' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
181 |
182 | public init(stringLiteral value: String) {
/host/spi-builder-workspace/Sources/Options.swift:332:16: warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
330 | /// File info, used for constructing header comments
331 | public struct FileInfo: Equatable, CustomStringConvertible {
332 | static var defaultReplacements: [ReplacementKey: ReplacementType] = [
| |- warning: static property 'defaultReplacements' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'defaultReplacements' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'defaultReplacements' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
333 | .createdDate: .dynamic { info, options in
334 | info.creationDate?.format(with: options.dateFormat,
/host/spi-builder-workspace/Sources/Options.swift:709:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
584 | /// Configuration options for formatting. These aren't actually used by the
585 | /// Formatter class itself, but it makes them available to the format rules.
586 | public struct FormatOptions: CustomStringConvertible {
| `- note: consider making struct 'FormatOptions' conform to the 'Sendable' protocol
587 | public var lineAfterMarks: Bool
588 | public var indent: String
:
707 | var enabledRules: Set<String> = []
708 |
709 | public static let `default` = FormatOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FormatOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
710 |
711 | public init(lineAfterMarks: Bool = true,
/host/spi-builder-workspace/Sources/Options.swift:985:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
976 |
977 | /// File enumeration options
978 | public struct FileOptions {
| `- note: consider making struct 'FileOptions' conform to the 'Sendable' protocol
979 | public var followSymlinks: Bool
980 | public var supportedFileExtensions: [String]
:
983 | public var minVersion: Version
984 |
985 | public static let `default` = FileOptions()
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'FileOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
986 |
987 | public init(followSymlinks: Bool = false,
/host/spi-builder-workspace/Sources/Options.swift:1025:23: warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
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?
:
1023 | public var lint: Bool
1024 |
1025 | public static let `default` = Options(
| |- warning: static property 'default' is not concurrency-safe because non-'Sendable' type 'Options' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'default' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
1026 | fileOptions: .default,
1027 | formatOptions: .default,
/host/spi-builder-workspace/Sources/RuleRegistry.generated.swift:11:5: warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
9 | /// All of the rules defined in the Rules directory.
10 | /// **Generated automatically when running tests. Do not modify.**
11 | let ruleRegistry: [String: FormatRule] = [
| |- warning: let 'ruleRegistry' is not concurrency-safe because non-'Sendable' type '[String : FormatRule]' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'ruleRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | "acronyms": .acronyms,
13 | "andOperator": .andOperator,
/host/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 |
[275/279] Wrapping AST for SwiftFormat for debugging
[277/281] Emitting module CommandLineTool
/host/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 {
/host/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 | }
[278/281] Compiling CommandLineTool main.swift
/host/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 {
/host/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 | }
[279/282] Wrapping AST for CommandLineTool for debugging
[280/282] Write Objects.LinkFileList
[281/282] Linking swiftformat
Build complete! (54.41s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SwiftFormat",
"name" : "SwiftFormat",
"path" : "/host/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"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.