The Swift Package Index logo.Swift Package Index

Build Information

Successful build of CucumberSwift, reference 6.8.1 (8be6a9), with Swift 6.1 for macOS (SPM) on 5 Nov 2026 09:42:34 UTC.

Swift 6 data race errors: 64

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64

Build Log

    |                                                                `- warning: main actor-isolated property 'bundle' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 51 |         loadFeaturesIfNeeded()
 52 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/StepImplementation.swift:13:9: note: property declared here
11 | @preconcurrency @MainActor @objc public protocol StepImplementation {
12 |     func setupSteps()
13 |     var bundle: Bundle { get }
   |         `- note: property declared here
14 |     @available(*, unavailable, renamed: "shouldRunWith(scenario:tags:)")
15 |     @objc optional func shouldRunWith(tags: [String]) -> Bool
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/CucumberTest.swift:177:24: warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
175 |         guard !stubs.isEmpty else { return }
176 |         if let (testCaseClass, methodSelector) = TestCaseGenerator.initWith(className: "Generated Steps", method: TestCaseMethod(withName: "GenerateStepsStubsIfNecessary", closure: {
177 |             XCTContext.runActivity(named: "Pending Steps") { activity in
    |                        `- warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
178 |                 let attachment = stubAttachment(named: "GENERATED_Unimplemented_Step_Definitions.swift",
179 |                                                 generatedSwift: generatedSwift)
XCTest.XCTContext.runActivity:2:46: note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
1 | class XCTContext {
2 | @MainActor @preconcurrency public class func runActivity<Result>(named name: String, block: @MainActor (any XCTActivity) throws -> Result) rethrows -> Result}
  |                                              `- note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/CucumberTest.swift:220:88: warning: main actor-isolated property 'continueTestingAfterFailure' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
218 |                     step.endTime = Date()
219 |                 }
220 |                 step.continueAfterFailure ?= (Cucumber.shared as? StepImplementation)?.continueTestingAfterFailure ?? testCase.continueAfterFailure
    |                                                                                        `- warning: main actor-isolated property 'continueTestingAfterFailure' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
221 |                 step.testCase = testCase
222 |                 StepTestCase.setStep(step, of: testCase)
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/StepImplementation.swift:17:24: note: property declared here
15 |     @objc optional func shouldRunWith(tags: [String]) -> Bool
16 |     @objc optional func shouldRunWith(scenario: Scenario?, tags: [String]) -> Bool
17 |     @objc optional var continueTestingAfterFailure: Bool { get }
   |                        `- note: property declared here
18 |     @objc optional var reverseOrderForAfterHooks: Bool { get }
19 |     /// How many seconds an async step or hook may run before it fails. Defaults to 60.
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/CucumberTest.swift:415:56: warning: call to main actor-isolated instance method 'didStart(step:at:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
413 |
414 |             func runAndReport() {
415 |                 Cucumber.shared.reporters.forEach { $0.didStart(step: self, at: startTime) }
    |                                                        `- warning: call to main actor-isolated instance method 'didStart(step:at:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
416 |                 self.runSkippingScenarioOnXCTSkip()
417 |                 self.endTime = Date()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/CucumberTestObserver.swift:16:10: note: calls to instance method 'didStart(step:at:)' from outside of its actor context are implicitly asynchronous
14 |     func didStart(feature: Feature, at date: Date)
15 |     func didStart(scenario: Scenario, at date: Date)
16 |     func didStart(step: Step, at date: Date)
   |          `- note: calls to instance method 'didStart(step:at:)' from outside of its actor context are implicitly asynchronous
17 |
18 |     func didFinish(feature: Feature, result: Reporter.Result, duration: Measurement<UnitDuration>)
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/CucumberTest.swift:418:56: warning: call to main actor-isolated instance method 'didFinish(step:result:duration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
416 |                 self.runSkippingScenarioOnXCTSkip()
417 |                 self.endTime = Date()
418 |                 Cucumber.shared.reporters.forEach { $0.didFinish(step: self, result: self.result, duration: self.executionDuration) }
    |                                                        `- warning: call to main actor-isolated instance method 'didFinish(step:result:duration:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
419 |             }
420 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/CucumberTestObserver.swift:20:10: note: calls to instance method 'didFinish(step:result:duration:)' from outside of its actor context are implicitly asynchronous
18 |     func didFinish(feature: Feature, result: Reporter.Result, duration: Measurement<UnitDuration>)
19 |     func didFinish(scenario: Scenario, result: Reporter.Result, duration: Measurement<UnitDuration>)
20 |     func didFinish(step: Step, result: Reporter.Result, duration: Measurement<UnitDuration>)
   |          `- note: calls to instance method 'didFinish(step:result:duration:)' from outside of its actor context are implicitly asynchronous
21 | }
22 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/CucumberTest.swift:422:24: warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
420 |
421 |             #if compiler(>=5)
422 |             XCTContext.runActivity(named: "\(self.writtenKeyword) \(self.match)") { _ in
    |                        `- warning: call to main actor-isolated class method 'runActivity(named:block:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
423 |                 runAndReport()
424 |             }
XCTest.XCTContext.runActivity:2:46: note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
1 | class XCTContext {
2 | @MainActor @preconcurrency public class func runActivity<Result>(named name: String, block: @MainActor (any XCTActivity) throws -> Result) rethrows -> Result}
  |                                              `- note: calls to class method 'runActivity(named:block:)' from outside of its actor context are implicitly asynchronous
3 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/AsyncStepRunner.swift:151:17: warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
149 |         let task = Task { @MainActor in
150 |             defer {
151 |                 state.done = true
    |                 |- warning: sending 'state' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: 'state' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
152 |                 state.endWait()
153 |             }
    :
175 |                 failureCheck.invalidate()
176 |                 cancelledOnFailure = true
177 |                 state.endWait()
    |                       `- note: access can happen concurrently
178 |             }
179 |         }
180 |         let timedOut = XCTWaiter().wait(for: [finished], timeout: timeout) == .timedOut && !state.done
    |                                                                                            `- note: access can happen concurrently
181 |         failureCheck.invalidate()
182 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/AsyncStepRunner.swift:81:58: warning: sending 'step' risks causing data races; this is an error in the Swift 6 language mode
 79 |     /// Turns an async step body into the synchronous `Step.Execute` the runner calls.
 80 |     static func blockingStep(_ body: @escaping Step.AsyncExecute) -> Step.Execute {
 81 |         { match, step in try run { try await body(match, step) } }
    |                                                          |- warning: sending 'step' risks causing data races; this is an error in the Swift 6 language mode
    |                                                          `- note: task-isolated 'step' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 82 |     }
 83 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/AsyncStepRunner.swift:95:42: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
 93 |             }
 94 |             do {
 95 |                 try run { try await hook(value) }
    |                                          |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                          `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 96 |             } catch {
 97 |                 print(outsideTestErrorMessage(error, for: value, file: file, line: line))
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/AsyncStepRunner.swift:91:52: warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
 89 |         { value in
 90 |             guard isOutsideTest else {
 91 |                 runFailingOnError({ try await hook(value) }, file: file, line: line)
    |                                                    |- warning: sending 'value' risks causing data races; this is an error in the Swift 6 language mode
    |                                                    `- note: task-isolated 'value' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 92 |                 return
 93 |             }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/Cucumber.swift:170:36: warning: sending 'feature' risks causing data races; this is an error in the Swift 6 language mode
168 |             feature.startDate = Date()
169 |             beforeFeatureHooks.forEach { $0.hook(feature) }
170 |             reporters.forEach { $0.didStart(feature: feature, at: Date()) }
    |                                    |- warning: sending 'feature' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: sending task-isolated 'feature' to main actor-isolated instance method 'didStart(feature:at:)' risks causing data races between main actor-isolated and task-isolated uses
171 |         }
172 |         if let scenario = step.scenario,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/Cucumber.swift:177:36: warning: sending 'scenario' risks causing data races; this is an error in the Swift 6 language mode
175 |             beforeScenarioHooks.forEach { $0.hook(scenario) }
176 |             scenario.startDate = Date()
177 |             reporters.forEach { $0.didStart(scenario: scenario, at: scenario.startDate) }
    |                                    |- warning: sending 'scenario' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: sending task-isolated 'scenario' to main actor-isolated instance method 'didStart(scenario:at:)' risks causing data races between main actor-isolated and task-isolated uses
178 |         }
179 |     }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/Cucumber.swift:188:36: warning: sending 'scenario' risks causing data races; this is an error in the Swift 6 language mode
186 |             scenario.internalState.removeAll()
187 |             let result: Reporter.Result = (scenario.steps.contains { $0.result == .failed || $0.result == .ambiguous }) ? .failed : .passed
188 |             reporters.forEach { $0.didFinish(scenario: scenario,
    |                                    |- warning: sending 'scenario' risks causing data races; this is an error in the Swift 6 language mode
    |                                    `- note: sending task-isolated 'scenario' to main actor-isolated instance method 'didFinish(scenario:result:duration:)' risks causing data races between main actor-isolated and task-isolated uses
189 |                                              result: result,
190 |                                              duration: Measurement(value: Date().timeIntervalSince(scenario.startDate),
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/Cucumber.swift:218:32: warning: sending 'feature' risks causing data races; this is an error in the Swift 6 language mode
216 |         Cucumber.shared.afterFeatureHooks.forEach { $0.hook(feature) }
217 |         let result: Reporter.Result = (feature.scenarios.contains { $0.steps.contains { $0.result == .failed || $0.result == .ambiguous } }) ? .failed : .passed
218 |         reporters.forEach { $0.didFinish(feature: feature,
    |                                |- warning: sending 'feature' risks causing data races; this is an error in the Swift 6 language mode
    |                                `- note: sending task-isolated 'feature' to main actor-isolated instance method 'didFinish(feature:result:duration:)' risks causing data races between main actor-isolated and task-isolated uses
219 |                                          result: result,
220 |                                          duration: Measurement(value: Date().timeIntervalSince(feature.startDate),
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/Cucumber.swift:404:98: warning: sending 'expression' risks causing data races; this is an error in the Swift 6 language mode
402 |         DuplicateStepDefinition.register(pattern: expression.regex, keyword: keyword, file: file, line: line)
403 |         attachClosureToSteps(keyword: keyword,
404 |                              body: .async { match, step in try await asyncCallback(try XCTUnwrap(expression.match(in: match)), step) },
    |                                                                                                  |- warning: sending 'expression' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                                  `- note: task-isolated 'expression' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
405 |                              matchesExpression: { str in expression.match(in: str) != nil },
406 |                              line: line,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/Cucumber.swift:431:98: warning: sending 'regex' risks causing data races; this is an error in the Swift 6 language mode
429 |                                       file: StaticString) {
430 |         attachClosureToSteps(keyword: keyword,
431 |                              body: .async { match, step in try await asyncCallback(try XCTUnwrap(regex.wholeMatch(in: match)), step) },
    |                                                                                                  |- warning: sending 'regex' risks causing data races; this is an error in the Swift 6 language mode
    |                                                                                                  `- note: task-isolated 'regex' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
432 |                              matchesExpression: { str in (try? regex.wholeMatch(in: str)) != nil },
433 |                              line: line,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/CucumberTest.swift:215:22: warning: sending 'step' risks causing data races; this is an error in the Swift 6 language mode
213 |             .forEach { step, testCase in
214 |                 testCase.addTeardownBlock {
215 |                     (step.executeInstance as? XCTestCase)?.tearDown()
    |                      |- warning: sending 'step' risks causing data races; this is an error in the Swift 6 language mode
    |                      `- note: task-isolated 'step' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
216 |                     Cucumber.shared.afterStepHooks.forEach { $0.hook(step) }
217 |                     Cucumber.shared.setupAfterHooksFor(step)
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/CucumberTest.swift:423:17: warning: sending 'runAndReport' risks causing data races; this is an error in the Swift 6 language mode
421 |             #if compiler(>=5)
422 |             XCTContext.runActivity(named: "\(self.writtenKeyword) \(self.match)") { _ in
423 |                 runAndReport()
    |                 |- warning: sending 'runAndReport' risks causing data races; this is an error in the Swift 6 language mode
    |                 `- note: task-isolated 'runAndReport' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
424 |             }
425 |             #else
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/CucumberTest.swift:415:56: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
413 |
414 |             func runAndReport() {
415 |                 Cucumber.shared.reporters.forEach { $0.didStart(step: self, at: startTime) }
    |                                                        |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                                        `- note: sending task-isolated 'self' to main actor-isolated instance method 'didStart(step:at:)' risks causing data races between main actor-isolated and task-isolated uses
416 |                 self.runSkippingScenarioOnXCTSkip()
417 |                 self.endTime = Date()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Runner/CucumberTest.swift:418:56: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
416 |                 self.runSkippingScenarioOnXCTSkip()
417 |                 self.endTime = Date()
418 |                 Cucumber.shared.reporters.forEach { $0.didFinish(step: self, result: self.result, duration: self.executionDuration) }
    |                                                        |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |                                                        `- note: sending task-isolated 'self' to main actor-isolated instance method 'didFinish(step:result:duration:)' risks causing data races between main actor-isolated and task-isolated uses
419 |             }
420 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:24:20: warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
22 |         }
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
   |                    |- warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'cleanAST' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:25:20: warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
   |                    |- warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'traverseToAppropriateDepth' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |         static let createNewNode = Rule {
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:27:20: warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
27 |         static let createNewNode = Rule {
   |                    |- warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'createNewNode' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |             switch $0 {
29 |                 case .feature:
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:43:20: warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
41 |         }
42 |
43 |         static let addToNearestParent = Rule {
   |                    |- warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'addToNearestParent' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |             let nodeLookup = $1.nodeLookup
45 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:52:20: warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
50 |         }
51 |
52 |         static let validateParentExists = Rule {
   |                    |- warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'validateParentExists' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |             let nodeLookup = $1.nodeLookup
54 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:66:20: warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
64 |         }
65 |
66 |         static let appendTags = Rule {
   |                    |- warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'appendTags' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |             $1.currentNode?.tokens.append(contentsOf: $1.tags)
68 |             $1.tags.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:24:20: warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
22 |         }
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
   |                    |- warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'cleanAST' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:25:20: warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
   |                    |- warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'traverseToAppropriateDepth' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |         static let createNewNode = Rule {
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:27:20: warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
27 |         static let createNewNode = Rule {
   |                    |- warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'createNewNode' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |             switch $0 {
29 |                 case .feature:
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:43:20: warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
41 |         }
42 |
43 |         static let addToNearestParent = Rule {
   |                    |- warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'addToNearestParent' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |             let nodeLookup = $1.nodeLookup
45 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:52:20: warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
50 |         }
51 |
52 |         static let validateParentExists = Rule {
   |                    |- warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'validateParentExists' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |             let nodeLookup = $1.nodeLookup
54 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:66:20: warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
64 |         }
65 |
66 |         static let appendTags = Rule {
   |                    |- warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'appendTags' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |             $1.currentNode?.tokens.append(contentsOf: $1.tags)
68 |             $1.tags.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:24:20: warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
22 |         }
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
   |                    |- warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'cleanAST' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:25:20: warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
   |                    |- warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'traverseToAppropriateDepth' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |         static let createNewNode = Rule {
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:27:20: warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
27 |         static let createNewNode = Rule {
   |                    |- warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'createNewNode' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |             switch $0 {
29 |                 case .feature:
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:43:20: warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
41 |         }
42 |
43 |         static let addToNearestParent = Rule {
   |                    |- warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'addToNearestParent' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |             let nodeLookup = $1.nodeLookup
45 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:52:20: warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
50 |         }
51 |
52 |         static let validateParentExists = Rule {
   |                    |- warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'validateParentExists' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |             let nodeLookup = $1.nodeLookup
54 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:66:20: warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
64 |         }
65 |
66 |         static let appendTags = Rule {
   |                    |- warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'appendTags' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |             $1.currentNode?.tokens.append(contentsOf: $1.tags)
68 |             $1.tags.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:24:20: warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
22 |         }
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
   |                    |- warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'cleanAST' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:25:20: warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
   |                    |- warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'traverseToAppropriateDepth' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |         static let createNewNode = Rule {
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:27:20: warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
27 |         static let createNewNode = Rule {
   |                    |- warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'createNewNode' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |             switch $0 {
29 |                 case .feature:
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:43:20: warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
41 |         }
42 |
43 |         static let addToNearestParent = Rule {
   |                    |- warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'addToNearestParent' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |             let nodeLookup = $1.nodeLookup
45 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:52:20: warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
50 |         }
51 |
52 |         static let validateParentExists = Rule {
   |                    |- warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'validateParentExists' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |             let nodeLookup = $1.nodeLookup
54 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:66:20: warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
64 |         }
65 |
66 |         static let appendTags = Rule {
   |                    |- warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'appendTags' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |             $1.currentNode?.tokens.append(contentsOf: $1.tags)
68 |             $1.tags.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:24:20: warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
22 |         }
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
   |                    |- warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'cleanAST' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:25:20: warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
   |                    |- warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'traverseToAppropriateDepth' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |         static let createNewNode = Rule {
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:27:20: warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
27 |         static let createNewNode = Rule {
   |                    |- warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'createNewNode' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |             switch $0 {
29 |                 case .feature:
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:43:20: warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
41 |         }
42 |
43 |         static let addToNearestParent = Rule {
   |                    |- warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'addToNearestParent' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |             let nodeLookup = $1.nodeLookup
45 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:52:20: warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
50 |         }
51 |
52 |         static let validateParentExists = Rule {
   |                    |- warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'validateParentExists' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |             let nodeLookup = $1.nodeLookup
54 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:66:20: warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
64 |         }
65 |
66 |         static let appendTags = Rule {
   |                    |- warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'appendTags' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |             $1.currentNode?.tokens.append(contentsOf: $1.tags)
68 |             $1.tags.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:24:20: warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
22 |         }
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
   |                    |- warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'cleanAST' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:25:20: warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
   |                    |- warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'traverseToAppropriateDepth' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |         static let createNewNode = Rule {
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:27:20: warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
27 |         static let createNewNode = Rule {
   |                    |- warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'createNewNode' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |             switch $0 {
29 |                 case .feature:
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:43:20: warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
41 |         }
42 |
43 |         static let addToNearestParent = Rule {
   |                    |- warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'addToNearestParent' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |             let nodeLookup = $1.nodeLookup
45 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:52:20: warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
50 |         }
51 |
52 |         static let validateParentExists = Rule {
   |                    |- warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'validateParentExists' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |             let nodeLookup = $1.nodeLookup
54 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:66:20: warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
64 |         }
65 |
66 |         static let appendTags = Rule {
   |                    |- warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'appendTags' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |             $1.currentNode?.tokens.append(contentsOf: $1.tags)
68 |             $1.tags.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:24:20: warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
22 |         }
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
   |                    |- warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'cleanAST' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:25:20: warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
   |                    |- warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'traverseToAppropriateDepth' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |         static let createNewNode = Rule {
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:27:20: warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
27 |         static let createNewNode = Rule {
   |                    |- warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'createNewNode' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |             switch $0 {
29 |                 case .feature:
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:43:20: warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
41 |         }
42 |
43 |         static let addToNearestParent = Rule {
   |                    |- warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'addToNearestParent' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |             let nodeLookup = $1.nodeLookup
45 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:52:20: warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
50 |         }
51 |
52 |         static let validateParentExists = Rule {
   |                    |- warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'validateParentExists' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |             let nodeLookup = $1.nodeLookup
54 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:66:20: warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
64 |         }
65 |
66 |         static let appendTags = Rule {
   |                    |- warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'appendTags' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |             $1.currentNode?.tokens.append(contentsOf: $1.tags)
68 |             $1.tags.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:24:20: warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
22 |         }
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
   |                    |- warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'cleanAST' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:25:20: warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
   |                    |- warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'traverseToAppropriateDepth' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |         static let createNewNode = Rule {
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:27:20: warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
27 |         static let createNewNode = Rule {
   |                    |- warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'createNewNode' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |             switch $0 {
29 |                 case .feature:
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:43:20: warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
41 |         }
42 |
43 |         static let addToNearestParent = Rule {
   |                    |- warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'addToNearestParent' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |             let nodeLookup = $1.nodeLookup
45 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:52:20: warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
50 |         }
51 |
52 |         static let validateParentExists = Rule {
   |                    |- warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'validateParentExists' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |             let nodeLookup = $1.nodeLookup
54 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:66:20: warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
64 |         }
65 |
66 |         static let appendTags = Rule {
   |                    |- warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'appendTags' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |             $1.currentNode?.tokens.append(contentsOf: $1.tags)
68 |             $1.tags.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:24:20: warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
22 |         }
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
   |                    |- warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'cleanAST' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:25:20: warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
   |                    |- warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'traverseToAppropriateDepth' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |         static let createNewNode = Rule {
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:27:20: warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
27 |         static let createNewNode = Rule {
   |                    |- warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'createNewNode' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |             switch $0 {
29 |                 case .feature:
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:43:20: warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
41 |         }
42 |
43 |         static let addToNearestParent = Rule {
   |                    |- warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'addToNearestParent' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |             let nodeLookup = $1.nodeLookup
45 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:52:20: warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
50 |         }
51 |
52 |         static let validateParentExists = Rule {
   |                    |- warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'validateParentExists' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |             let nodeLookup = $1.nodeLookup
54 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:66:20: warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
64 |         }
65 |
66 |         static let appendTags = Rule {
   |                    |- warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'appendTags' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |             $1.currentNode?.tokens.append(contentsOf: $1.tags)
68 |             $1.tags.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:24:20: warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
22 |         }
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
   |                    |- warning: static property 'cleanAST' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'cleanAST' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:25:20: warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
23 |
24 |         static let cleanAST = Rule { $1.nodeLookup = [:] }
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
   |                    |- warning: static property 'traverseToAppropriateDepth' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'traverseToAppropriateDepth' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 |
27 |         static let createNewNode = Rule {
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:27:20: warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
25 |         static let traverseToAppropriateDepth = Rule { $1.currentNode = $1.nodeLookup[$0.priority] }
26 |
27 |         static let createNewNode = Rule {
   |                    |- warning: static property 'createNewNode' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'createNewNode' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
28 |             switch $0 {
29 |                 case .feature:
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:43:20: warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
41 |         }
42 |
43 |         static let addToNearestParent = Rule {
   |                    |- warning: static property 'addToNearestParent' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'addToNearestParent' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 |             let nodeLookup = $1.nodeLookup
45 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:52:20: warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
50 |         }
51 |
52 |         static let validateParentExists = Rule {
   |                    |- warning: static property 'validateParentExists' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'validateParentExists' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
53 |             let nodeLookup = $1.nodeLookup
54 |             guard let current = $1.currentNode,
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Gherkin/Core/AST/ASTRule.swift:66:20: warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
 9 | import Foundation
10 | extension AST {
11 |     class Rule {
   |           `- note: class 'Rule' does not conform to the 'Sendable' protocol
12 |         private(set) var execute: (AST.Token, AST) -> Void
13 |         private init(_ closure: @escaping (AST.Token, AST) -> Void) {
   :
64 |         }
65 |
66 |         static let appendTags = Rule {
   |                    |- warning: static property 'appendTags' is not concurrency-safe because non-'Sendable' type 'AST.Rule' may have shared mutable state; this is an error in the Swift 6 language mode
   |                    |- note: add '@MainActor' to make static property 'appendTags' part of global actor 'MainActor'
   |                    `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 |             $1.currentNode?.tokens.append(contentsOf: $1.tags)
68 |             $1.tags.removeAll()
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/Taggable.swift:27:29: error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
23 |             let tags = tagNames.components(separatedBy: ",")
24 |             return filter { $0.containsTags(tags) }
25 |         } else if let shouldRunWith = (Cucumber.shared as? StepImplementation)?.shouldRunWith,
   |                       `- note: calls to let 'shouldRunWith' from outside of its actor context are implicitly asynchronous
26 |             askImplementor {
27 |             return filter { shouldRunWith($0 as? Scenario, $0.tags) }
   |                             `- error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
28 |         }
29 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:15:24: warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 | final class ReportFile: @unchecked Sendable {
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
    |                        |- warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'files' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'files' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:16:24: warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
 16 |     private static var warned = Set<String>()
    |                        |- warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'warned' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'warned' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:18:16: warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
    |                |- warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'warningSink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'warningSink' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     let url: URL
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/Taggable.swift:27:29: error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
23 |             let tags = tagNames.components(separatedBy: ",")
24 |             return filter { $0.containsTags(tags) }
25 |         } else if let shouldRunWith = (Cucumber.shared as? StepImplementation)?.shouldRunWith,
   |                       `- note: calls to let 'shouldRunWith' from outside of its actor context are implicitly asynchronous
26 |             askImplementor {
27 |             return filter { shouldRunWith($0 as? Scenario, $0.tags) }
   |                             `- error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
28 |         }
29 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:15:24: warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 | final class ReportFile: @unchecked Sendable {
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
    |                        |- warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'files' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'files' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:16:24: warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
 16 |     private static var warned = Set<String>()
    |                        |- warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'warned' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'warned' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:18:16: warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
    |                |- warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'warningSink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'warningSink' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     let url: URL
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/Taggable.swift:27:29: error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
23 |             let tags = tagNames.components(separatedBy: ",")
24 |             return filter { $0.containsTags(tags) }
25 |         } else if let shouldRunWith = (Cucumber.shared as? StepImplementation)?.shouldRunWith,
   |                       `- note: calls to let 'shouldRunWith' from outside of its actor context are implicitly asynchronous
26 |             askImplementor {
27 |             return filter { shouldRunWith($0 as? Scenario, $0.tags) }
   |                             `- error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
28 |         }
29 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:15:24: warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 | final class ReportFile: @unchecked Sendable {
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
    |                        |- warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'files' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'files' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:16:24: warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
 16 |     private static var warned = Set<String>()
    |                        |- warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'warned' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'warned' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:18:16: warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
    |                |- warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'warningSink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'warningSink' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     let url: URL
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/Taggable.swift:27:29: error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
23 |             let tags = tagNames.components(separatedBy: ",")
24 |             return filter { $0.containsTags(tags) }
25 |         } else if let shouldRunWith = (Cucumber.shared as? StepImplementation)?.shouldRunWith,
   |                       `- note: calls to let 'shouldRunWith' from outside of its actor context are implicitly asynchronous
26 |             askImplementor {
27 |             return filter { shouldRunWith($0 as? Scenario, $0.tags) }
   |                             `- error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
28 |         }
29 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:15:24: warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 | final class ReportFile: @unchecked Sendable {
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
    |                        |- warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'files' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'files' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:16:24: warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
 16 |     private static var warned = Set<String>()
    |                        |- warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'warned' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'warned' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:18:16: warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
    |                |- warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'warningSink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'warningSink' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     let url: URL
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/Taggable.swift:27:29: error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
23 |             let tags = tagNames.components(separatedBy: ",")
24 |             return filter { $0.containsTags(tags) }
25 |         } else if let shouldRunWith = (Cucumber.shared as? StepImplementation)?.shouldRunWith,
   |                       `- note: calls to let 'shouldRunWith' from outside of its actor context are implicitly asynchronous
26 |             askImplementor {
27 |             return filter { shouldRunWith($0 as? Scenario, $0.tags) }
   |                             `- error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
28 |         }
29 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:15:24: warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 | final class ReportFile: @unchecked Sendable {
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
    |                        |- warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'files' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'files' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:16:24: warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
 16 |     private static var warned = Set<String>()
    |                        |- warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'warned' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'warned' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:18:16: warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
    |                |- warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'warningSink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'warningSink' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     let url: URL
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/Taggable.swift:27:29: error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
23 |             let tags = tagNames.components(separatedBy: ",")
24 |             return filter { $0.containsTags(tags) }
25 |         } else if let shouldRunWith = (Cucumber.shared as? StepImplementation)?.shouldRunWith,
   |                       `- note: calls to let 'shouldRunWith' from outside of its actor context are implicitly asynchronous
26 |             askImplementor {
27 |             return filter { shouldRunWith($0 as? Scenario, $0.tags) }
   |                             `- error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
28 |         }
29 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:15:24: warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 | final class ReportFile: @unchecked Sendable {
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
    |                        |- warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'files' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'files' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:16:24: warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
 16 |     private static var warned = Set<String>()
    |                        |- warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'warned' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'warned' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:18:16: warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
    |                |- warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'warningSink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'warningSink' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     let url: URL
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/Taggable.swift:27:29: error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
23 |             let tags = tagNames.components(separatedBy: ",")
24 |             return filter { $0.containsTags(tags) }
25 |         } else if let shouldRunWith = (Cucumber.shared as? StepImplementation)?.shouldRunWith,
   |                       `- note: calls to let 'shouldRunWith' from outside of its actor context are implicitly asynchronous
26 |             askImplementor {
27 |             return filter { shouldRunWith($0 as? Scenario, $0.tags) }
   |                             `- error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
28 |         }
29 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:15:24: warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 | final class ReportFile: @unchecked Sendable {
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
    |                        |- warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'files' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'files' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:16:24: warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
 16 |     private static var warned = Set<String>()
    |                        |- warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'warned' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'warned' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:18:16: warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
    |                |- warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'warningSink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'warningSink' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     let url: URL
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/Taggable.swift:27:29: error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
23 |             let tags = tagNames.components(separatedBy: ",")
24 |             return filter { $0.containsTags(tags) }
25 |         } else if let shouldRunWith = (Cucumber.shared as? StepImplementation)?.shouldRunWith,
   |                       `- note: calls to let 'shouldRunWith' from outside of its actor context are implicitly asynchronous
26 |             askImplementor {
27 |             return filter { shouldRunWith($0 as? Scenario, $0.tags) }
   |                             `- error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
28 |         }
29 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:15:24: warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 | final class ReportFile: @unchecked Sendable {
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
    |                        |- warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'files' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'files' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:16:24: warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
 16 |     private static var warned = Set<String>()
    |                        |- warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'warned' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'warned' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:18:16: warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
    |                |- warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'warningSink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'warningSink' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     let url: URL
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/Taggable.swift:27:29: error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
23 |             let tags = tagNames.components(separatedBy: ",")
24 |             return filter { $0.containsTags(tags) }
25 |         } else if let shouldRunWith = (Cucumber.shared as? StepImplementation)?.shouldRunWith,
   |                       `- note: calls to let 'shouldRunWith' from outside of its actor context are implicitly asynchronous
26 |             askImplementor {
27 |             return filter { shouldRunWith($0 as? Scenario, $0.tags) }
   |                             `- error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
28 |         }
29 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:15:24: warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 | final class ReportFile: @unchecked Sendable {
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
    |                        |- warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'files' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'files' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:16:24: warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
 16 |     private static var warned = Set<String>()
    |                        |- warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'warned' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'warned' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:18:16: warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
    |                |- warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'warningSink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'warningSink' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     let url: URL
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Protocols/Taggable.swift:27:29: error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
23 |             let tags = tagNames.components(separatedBy: ",")
24 |             return filter { $0.containsTags(tags) }
25 |         } else if let shouldRunWith = (Cucumber.shared as? StepImplementation)?.shouldRunWith,
   |                       `- note: calls to let 'shouldRunWith' from outside of its actor context are implicitly asynchronous
26 |             askImplementor {
27 |             return filter { shouldRunWith($0 as? Scenario, $0.tags) }
   |                             `- error: call to main actor-isolated let 'shouldRunWith' in a synchronous nonisolated context
28 |         }
29 |         return self
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:15:24: warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 13 | final class ReportFile: @unchecked Sendable {
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
    |                        |- warning: static property 'files' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'files' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'files' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:16:24: warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 14 |     private static let filesLock = NSLock()
 15 |     private static var files = [String: ReportFile]()
 16 |     private static var warned = Set<String>()
    |                        |- warning: static property 'warned' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'warned' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'warned' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwift/Reporter/Core/ReportFile.swift:18:16: warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |     private static var warned = Set<String>()
 17 |     /// Where a warning goes: stderr, unless a test says otherwise.
 18 |     static var warningSink: (String) -> Void = { FileHandle.standardError.write(Data(($0 + "\n").utf8)) }
    |                |- warning: static property 'warningSink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'warningSink' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'warningSink' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     let url: URL
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'InferSendableFromCaptures' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'GlobalActorIsolatedTypesUsability' is already enabled as of Swift version 6
<unknown>:0: warning: upcoming feature 'DisableOutwardActorInference' is already enabled as of Swift version 6
Fetching https://github.com/kylef/JSONSchema.swift
Fetching https://github.com/cucumberswift/CucumberSwiftExpressions.git
Fetching https://github.com/apple/swift-docc-plugin
Fetching https://github.com/swiftlang/swift-syntax.git from cache
[1/2345] Fetching swift-docc-plugin
[2/4655] Fetching swift-docc-plugin, jsonschema.swift
[26/6480] Fetching swift-docc-plugin, jsonschema.swift, cucumberswiftexpressions
Fetched https://github.com/cucumberswift/CucumberSwiftExpressions.git from cache (1.40s)
Fetched https://github.com/apple/swift-docc-plugin from cache (1.40s)
Fetched https://github.com/kylef/JSONSchema.swift from cache (3.07s)
Fetched https://github.com/swiftlang/swift-syntax.git from cache (3.22s)
Computing version for https://github.com/kylef/JSONSchema.swift
Computed https://github.com/kylef/JSONSchema.swift at 0.6.0 (6.83s)
Fetching https://github.com/kylef/PathKit.git
[1/1460] Fetching pathkit
Fetched https://github.com/kylef/PathKit.git from cache (0.97s)
Computing version for https://github.com/apple/swift-docc-plugin
Computed https://github.com/apple/swift-docc-plugin at 1.5.0 (3.80s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (1.03s)
Computing version for https://github.com/cucumberswift/CucumberSwiftExpressions.git
Computed https://github.com/cucumberswift/CucumberSwiftExpressions.git at 1.4.2 (1.75s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (0.69s)
Computing version for https://github.com/kylef/PathKit.git
Computed https://github.com/kylef/PathKit.git at 1.0.1 (0.66s)
Fetching https://github.com/kylef/Spectre.git
[1/1021] Fetching spectre
Fetched https://github.com/kylef/Spectre.git from cache (1.01s)
Computing version for https://github.com/kylef/Spectre.git
Computed https://github.com/kylef/Spectre.git at 0.10.1 (1.64s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 604.0.0 (0.69s)
Creating working copy for https://github.com/apple/swift-docc-plugin
Working copy of https://github.com/apple/swift-docc-plugin resolved at 1.5.0
Creating working copy for https://github.com/cucumberswift/CucumberSwiftExpressions.git
Working copy of https://github.com/cucumberswift/CucumberSwiftExpressions.git resolved at 1.4.2
Creating working copy for https://github.com/kylef/PathKit.git
Working copy of https://github.com/kylef/PathKit.git resolved at 1.0.1
Creating working copy for https://github.com/kylef/JSONSchema.swift
Working copy of https://github.com/kylef/JSONSchema.swift resolved at 0.6.0
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Creating working copy for https://github.com/kylef/Spectre.git
Working copy of https://github.com/kylef/Spectre.git resolved at 0.10.1
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 604.0.0
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
[1/1] Compiling plugin CucumberSwiftTestingPlugin
[2/2] Compiling plugin Convert to Gherkin Macros
[3/3] Compiling plugin Fix Feature Files
[4/4] Compiling plugin CucumberSwiftLintPlugin
[5/5] Compiling plugin Swift-DocC Preview
[6/6] Compiling plugin Swift-DocC
Building for debugging...
[6/27] Write swift-version-2F0A5646E1D333AE.txt
[8/76] Compiling SwiftSyntax601 Empty.swift
[9/81] Compiling SwiftSyntax600 Empty.swift
[10/81] Compiling SwiftSyntax510 Empty.swift
[11/81] Emitting module SwiftSyntax510
[12/81] Emitting module SwiftSyntax601
[13/85] Compiling SwiftSyntax509 Empty.swift
[14/85] Compiling SwiftSyntax604 Empty.swift
[16/85] Emitting module SwiftSyntax600
[17/85] Emitting module SwiftSyntax604
[18/101] Emitting module SwiftSyntax509
[19/116] Emitting module SwiftSyntax602
[20/116] Compiling SwiftSyntax602 Empty.swift
[21/118] Emitting module SwiftSyntax604
[22/134] Emitting module SwiftSyntax603
[23/134] Compiling SwiftSyntax603 Empty.swift
[24/136] Compiling SwiftSyntax510 Empty.swift
[25/136] Compiling SwiftSyntax601 Empty.swift
[26/136] Emitting module SwiftSyntax601
[27/136] Emitting module SwiftSyntax602
[28/136] Compiling SwiftSyntax602 Empty.swift
[29/136] Emitting module SwiftSyntax510
[30/136] Compiling SwiftSyntax600 Empty.swift
[31/136] Emitting module SwiftSyntax600
[32/136] Compiling SwiftSyntax509 Empty.swift
[33/136] Emitting module SwiftSyntax509
[34/136] Emitting module SwiftSyntax603
[35/136] Compiling SwiftSyntax603 Empty.swift
[36/136] Compiling CucumberSwiftGherkin ASTToken.swift
[37/136] Compiling CucumberSwiftGherkin Nodes.swift
[38/138] Compiling CucumberSwiftGherkin SequenceExtensions.swift
[39/138] Compiling CucumberSwiftGherkin StringExtensions.swift
[40/138] Compiling CucumberSwiftGherkin CollectionExtensions.swift
[41/138] Compiling CucumberSwiftGherkin MightEqualOperator.swift
[42/138] Compiling CucumberSwiftGherkin AST.swift
[43/138] Compiling CucumberSwiftGherkin ASTRule.swift
[44/138] Compiling CucumberSwiftGherkin Errors.swift
[45/138] Compiling CucumberSwiftGherkin CharacterExtensions.swift
[46/157] Compiling CucumberSwiftExpressions Syntax.swift
[47/157] Compiling CucumberSwiftExpressions SyntaxError.swift
[48/157] Compiling CucumberSwiftExpressions CucumberExpression.swift
[49/157] Compiling CucumberSwiftExpressions CustomParameters.swift
[50/157] Compiling CucumberSwiftExpressions CharacterExtensions.swift
[51/157] Compiling CucumberSwiftExpressions InvalidRegularExpression.swift
[56/163] Compiling CucumberSwiftExpressions Position.swift
[57/163] Compiling CucumberSwiftExpressions StringReader.swift
[58/163] Compiling CucumberSwiftExpressions FloatParameter.swift
[59/163] Compiling CucumberSwiftExpressions IntParameter.swift
[66/163] Compiling CucumberSwiftExpressions Lexer.swift
[67/163] Compiling CucumberSwiftExpressions Match.swift
[68/163] Compiling CucumberSwiftExpressions AnonymousParameter.swift
[69/163] Compiling CucumberSwiftExpressions DoubleParameter.swift
[74/163] Compiling CucumberSwiftExpressions StringParameter.swift
[75/163] Compiling CucumberSwiftExpressions WordParameter.swift
[76/163] Compiling CucumberSwiftExpressions AnyParameter.swift
[77/163] Compiling CucumberSwiftExpressions Parameter.swift
[78/163] Compiling CucumberSwiftGherkin StepNodeContent.swift
[79/163] Compiling CucumberSwiftGherkin Method.swift
[80/163] Compiling CucumberSwiftGherkin RegexLiteralStyle.swift
[81/163] Emitting module CucumberSwiftGherkin
[86/163] Compiling CucumberSwiftGherkin StubGenerator.swift
[87/163] Compiling CucumberSwiftGherkin StubGeneratorLexer.swift
[88/163] Compiling CucumberSwiftGherkin StubGeneratorToken.swift
[89/228] Compiling SwiftSyntax SourcePresence.swift
[90/228] Compiling SwiftSyntax SwiftSyntaxCompatibility.swift
[91/228] Compiling SwiftSyntax Utils.swift
[92/293] Compiling SwiftSyntax SyntaxTreeViewMode.swift
[93/293] Compiling SwiftSyntax TokenDiagnostic.swift
[94/293] Compiling SwiftSyntax TokenSequence.swift
[95/293] Compiling SwiftSyntax TokenSyntax.swift
[96/293] Compiling SwiftSyntax RawSyntaxTokenView.swift
[97/293] Compiling SwiftSyntax SourceEdit.swift
[98/293] Compiling SwiftSyntax SourceLength.swift
[99/293] Compiling SwiftSyntax Trivia+commentValue.swift
[100/293] Compiling SwiftSyntax Trivia.swift
[101/293] Compiling SwiftSyntax RawSyntaxNodeProtocol.swift
[102/293] Compiling SwiftSyntax Tokens.swift
[103/293] Compiling SwiftSyntax TriviaPieces.swift
[104/293] Compiling SwiftSyntax RawSyntaxNodesAB.swift
[105/293] Compiling SwiftSyntax SourceLocation.swift
[106/293] Compiling SwiftSyntax SourcePresence.swift
[107/293] Compiling SwiftSyntax SwiftSyntaxCompatibility.swift
[114/293] Compiling SwiftSyntax SyntaxProtocol.swift
[115/293] Compiling SwiftSyntax SyntaxText.swift
[118/293] Compiling SwiftSyntax SyntaxIdentifier.swift
[119/293] Compiling SwiftSyntax SyntaxNodeStructure.swift
[122/295] Compiling CucumberSwiftExpressions SyntaxParser.swift
[123/295] Compiling CucumberSwiftExpressions Token.swift
[132/295] Compiling SwiftSyntax MemoryLayout.swift
[133/295] Compiling SwiftSyntax MissingNodeInitializers.swift
[134/295] Compiling SwiftSyntax RawSyntax.swift
[138/301] Compiling CucumberSwiftTestingGenerator main.swift
[162/308] Compiling SwiftSyntax Syntax.swift
[163/308] Compiling SwiftSyntax SyntaxChildren.swift
[164/308] Compiling SwiftSyntax SyntaxCollection.swift
[165/308] Compiling SwiftSyntax SyntaxHashable.swift
[169/315] Emitting module CucumberSwiftTestingGenerator
[170/315] Compiling CucumberSwiftTestingGenerator SwiftTestingSource.swift
[171/315] Emitting module CucumberSwiftTestingGenerator
[172/315] Compiling CucumberSwiftTestingGenerator SwiftTestingSource.swift
[172/315] Write Objects.LinkFileList
[174/315] Linking CucumberSwiftTestingGenerator
[175/315] Linking CucumberSwiftTestingGenerator-tool
[176/315] Applying CucumberSwiftTestingGenerator
[177/315] Applying CucumberSwiftTestingGenerator-tool
[179/315] Emitting module CucumberSwiftExpressions
[182/463] Compiling CucumberSwift I18n.swift
[183/463] Compiling CucumberSwift AST.swift
[184/463] Emitting module CucumberSwiftExpressions
[185/463] Compiling CucumberSwift StepDSL.swift
[186/463] Compiling CucumberSwift StepText.swift
[187/520] Compiling CucumberSwiftLintTool LocalizedDSLContainerNames.swift
[188/520] Compiling CucumberSwiftLintTool LocalizedStepDefinitionNames.swift
[189/520] Compiling CucumberSwiftLintTool StepDefinition.swift
[190/520] Compiling CucumberSwiftLintTool Linter.swift
[191/612] Compiling CucumberSwiftLintTool main.swift
[192/612] Emitting module CucumberSwiftTesting
[193/617] Compiling CucumberSwift StepDSL.swift
[194/617] Compiling CucumberSwift StepText.swift
[195/617] Compiling CucumberSwift I18n.swift
[196/617] Compiling CucumberSwift AST.swift
[197/617] Compiling CucumberSwift ASTRule.swift
[198/617] Compiling CucumberSwift ASTToken.swift
[199/617] Compiling CucumberSwift Nodes.swift
[200/617] Compiling CucumberSwift DataTable.swift
[201/617] Compiling CucumberSwift DocString.swift
[202/617] Compiling CucumberSwift Errors.swift
[203/626] Compiling CucumberSwift BackgroundDSL.swift
[204/626] Compiling CucumberSwift DSLScenarioOutline.swift
[205/626] Compiling CucumberSwift FeatureDSL.swift
[206/626] Compiling CucumberSwift GherkinDSL.swift
[207/626] Compiling CucumberSwift Matcher.swift
[208/626] Compiling CucumberSwift CoverageSettings.swift
[209/626] Compiling CucumberSwift NameHash.swift
[210/626] Compiling CucumberSwift ProfileCounters.swift
[211/626] Compiling CucumberSwift ReadableName.swift
[212/626] Compiling CucumberSwift ScenarioRule.swift
[213/626] Compiling CucumberSwiftLintTool FeatureFixer.swift
[214/626] Compiling CucumberSwiftLintTool DSLPlacementCheck.swift
[215/626] Compiling CucumberSwiftLintTool Diagnostic.swift
[218/626] Compiling CucumberSwiftLintTool FeatureChecker.swift
[219/626] Emitting module CucumberSwiftLintTool
[219/626] Write Objects.LinkFileList
[226/626] Compiling CucumberSwiftTesting StepTimeout.swift
[227/626] Compiling CucumberSwiftTesting TestBundle.swift
[228/626] Compiling CucumberSwiftTesting ClassNameString.swift
[229/626] Compiling CucumberSwiftTesting VerboseReporter.swift
[230/626] Compiling CucumberSwiftTesting WaitFailures.swift
[231/635] Emitting module CucumberSwift
[232/635] Compiling CucumberSwift Taggable.swift
[233/635] Compiling CucumberSwift FeatureFlagValue.swift
[234/635] Compiling CucumberSwift JSONReport.swift
[235/635] Compiling CucumberSwift ReportFile.swift
[236/635] Compiling CucumberSwift ReporterResult.swift
[237/635] Compiling CucumberSwift ScenarioState.swift
[238/635] Compiling CucumberSwift TestBundleFiles.swift
[239/635] Compiling CucumberSwift TestNames.swift
[240/635] Compiling CucumberSwift VerboseOutput.swift
[241/635] Compiling CucumberSwift JSONReporter.swift
[242/635] Compiling CucumberSwift ReporterReportURL.swift
[243/635] Compiling CucumberSwift VerboseReporter.swift
[244/635] Compiling CucumberSwift AsyncStepRunner.swift
[245/635] Compiling CucumberSwift CoverageFlags.swift
[246/635] Compiling CucumberSwift CoverageIssues.swift
[247/635] Compiling CucumberSwift CoverageScoreTests.swift
[248/635] Compiling CucumberSwift Cucumber.swift
[249/635] Compiling CucumberSwift CucumberTest.swift
[250/635] Compiling CucumberSwift CucumberTestSupport.swift
[251/635] Compiling CucumberSwift DuplicateStepDefinition.swift
[252/635] Emitting module CucumberSwiftTesting
[253/640] Compiling CucumberSwift CoverageMap.swift
[254/640] Compiling CucumberSwift CoverageRecorder.swift
[255/640] Compiling CucumberSwift CoverageReport.swift
[256/640] Compiling CucumberSwift CoverageReporter.swift
[257/640] Compiling CucumberSwift CoverageScores.swift
[263/640] Compiling CucumberSwift StubGenerator.swift
[264/640] Compiling CucumberSwift StubGeneratorLexer.swift
[265/640] Compiling CucumberSwift StubGeneratorToken.swift
[266/640] Compiling CucumberSwift Feature.swift
[267/640] Compiling CucumberSwift Scenario.swift
[268/640] Compiling CucumberSwift ScenarioOutlineScenarios.swift
[269/640] Compiling CucumberSwift Step.swift
[270/640] Compiling CucumberSwift CucumberTestObservable.swift
[271/640] Compiling CucumberSwift CucumberTestObserver.swift
[272/640] Compiling CucumberSwift Positionable.swift
[288/640] Compiling CucumberSwiftLintTool LocalizedStepDefinitionNames.swift
[289/640] Compiling CucumberSwiftLintTool StepDefinition.swift
[290/640] Compiling CucumberSwiftLintTool LocalizedDSLContainerNames.swift
[291/640] Emitting module CucumberSwiftLintTool
[292/640] Compiling CucumberSwiftLintTool Linter.swift
[293/640] Compiling CucumberSwiftLintTool FeatureFixer.swift
[294/640] Compiling CucumberSwiftLintTool Diagnostic.swift
[295/640] Compiling CucumberSwiftLintTool FeatureChecker.swift
[298/640] Compiling CucumberSwiftLintTool DSLPlacementCheck.swift
[298/641] Linking CucumberSwiftLintTool-tool
[299/641] Applying CucumberSwiftLintTool-tool
[321/641] Compiling CucumberSwiftTesting StepTimeout.swift
[322/641] Compiling CucumberSwiftTesting TestBundle.swift
[323/641] Compiling CucumberSwiftTesting ClassNameString.swift
[324/641] Compiling CucumberSwiftTesting VerboseReporter.swift
[325/641] Compiling CucumberSwiftTesting WaitFailures.swift
[336/641] Compiling CucumberSwift Token.swift
[337/641] Compiling CucumberSwift Locked.swift
[338/641] Compiling CucumberSwift NodeHeader.swift
[339/641] Compiling CucumberSwift ScenarioNodeContent.swift
[340/641] Compiling CucumberSwift ScenarioOutlineParser.swift
[341/641] Compiling CucumberSwift Scope.swift
[342/641] Compiling CucumberSwift StepKeyword.swift
[343/641] Compiling CucumberSwift StepNodeContent.swift
[344/641] Compiling CucumberSwift Method.swift
[345/641] Compiling CucumberSwift RegexLiteralStyle.swift
[346/641] Compiling CucumberSwiftLintTool main.swift
[346/641] Write Objects.LinkFileList
[348/641] Compiling CucumberSwift StepImplementation.swift
[349/641] Compiling CucumberSwift StepTestCase.swift
[350/641] Compiling CucumberSwift TestObservation.swift
[351/641] Compiling CucumberSwift StubGenerator+Features.swift
[352/641] Compiling CucumberSwift ClassNameString.swift
[353/641] Compiling CucumberSwift TestingExtensions.swift
[354/641] Compiling CucumberSwift WaitFailures.swift
[355/641] Compiling CucumberSwift TestCaseGenerator.swift
[356/641] Compiling CucumberSwift TestCaseMethod.swift
[361/641] Linking CucumberSwiftLintTool
[362/641] Applying CucumberSwiftLintTool
[404/641] Emitting module CucumberSwift
[424/641] Compiling CucumberSwift FeatureFlags.swift
[425/641] Compiling CucumberSwift GeneratedTestNames.swift
[426/641] Compiling CucumberSwift Globals.swift
[427/641] Compiling CucumberSwift FeatureHook.swift
[428/641] Compiling CucumberSwift Hook.swift
[429/641] Compiling CucumberSwift ScenarioHook.swift
[430/641] Compiling CucumberSwift StepHook.swift
[431/641] Compiling CucumberSwift ParallelTesting.swift
[432/641] Compiling CucumberSwift ScenarioRuns.swift
[433/641] Compiling CucumberSwift ScenarioTest.swift
[456/641] Compiling CucumberSwift CharacterExtensions.swift
[457/641] Compiling CucumberSwift CollectionExtensions.swift
[458/641] Compiling CucumberSwift MightEqualOperator.swift
[459/641] Compiling CucumberSwift SequenceExtensions.swift
[460/641] Compiling CucumberSwift StringExtensions.swift
[461/641] Compiling CucumberSwift Language.swift
[462/641] Compiling CucumberSwift Languages.swift
[463/641] Compiling CucumberSwift Lexer.swift
[464/641] Compiling CucumberSwift Position.swift
[465/641] Compiling CucumberSwift StringReader.swift
[506/641] Emitting module SwiftSyntax
[634/744] Compiling SwiftBasicFormat SyntaxProtocol+Formatted.swift
[635/744] Compiling SwiftBasicFormat Syntax+Extensions.swift
[636/744] Compiling SwiftBasicFormat Trivia+FormatExtensions.swift
[637/744] Compiling SwiftDiagnostics BasicDiagnosticDecorator.swift
[638/745] Compiling SwiftDiagnostics Convenience.swift
[639/745] Emitting module SwiftDiagnostics
[640/745] Compiling SwiftDiagnostics Diagnostic.swift
[641/745] Compiling SwiftDiagnostics ANSIDiagnosticDecorator.swift
[642/745] Compiling SwiftDiagnostics Message.swift
[643/745] Compiling SwiftDiagnostics Note.swift
[644/745] Compiling SwiftBasicFormat InferIndentation.swift
[645/745] Compiling SwiftDiagnostics GroupedDiagnostics.swift
[646/745] Compiling SwiftDiagnostics FixIt.swift
[647/745] Compiling SwiftDiagnostics DiagnosticDecorator.swift
[648/745] Compiling SwiftDiagnostics DiagnosticsFormatter.swift
[649/745] Emitting module SwiftBasicFormat
[650/745] Compiling SwiftBasicFormat Indenter.swift
[651/745] Compiling SwiftBasicFormat BasicFormat.swift
[652/745] Compiling SwiftParser StringLiterals.swift
[653/745] Compiling SwiftParser SwiftParserCompatibility.swift
[654/745] Compiling SwiftParser SwiftVersion.swift
[655/745] Compiling SwiftParser SyntaxUtils.swift
[656/749] Compiling SwiftParser TopLevel.swift
[657/749] Compiling SwiftParser TriviaParser.swift
[658/749] Compiling SwiftParser Types.swift
[659/749] Compiling SwiftParser ExperimentalFeatures.swift
[660/753] Compiling SwiftParser TokenConsumer.swift
[661/753] Compiling SwiftParser TokenPrecedence.swift
[662/753] Compiling SwiftParser TokenSpec.swift
[663/753] Compiling SwiftParser TokenSpecSet.swift
[668/753] Emitting module SwiftParser
[670/753] Compiling SwiftParser RegexLiteralLexer.swift
[671/753] Compiling SwiftParser UnicodeScalarExtensions.swift
[672/753] Compiling SwiftParser Lookahead.swift
[673/753] Compiling SwiftParser LoopProgressCondition.swift
[674/753] Compiling SwiftParser Modifiers.swift
[675/753] Compiling SwiftParser IsValidIdentifier.swift
[676/753] Compiling SwiftParser Cursor.swift
[677/753] Compiling SwiftParser Lexeme.swift
[678/753] Compiling SwiftParser LexemeSequence.swift
[680/753] Compiling SwiftParser Names.swift
[681/753] Compiling SwiftParser Nominals.swift
[682/753] Compiling SwiftParser Parameters.swift
[683/753] Compiling SwiftParser Lexer.swift
[691/753] Compiling SwiftParser ParseSourceFile.swift
[692/753] Compiling SwiftParser Parser.swift
[693/753] Compiling SwiftParser Patterns.swift
[694/753] Compiling SwiftParser Recovery.swift
[695/753] Compiling SwiftParser Specifiers.swift
[696/753] Compiling SwiftParser Statements.swift
[697/753] Compiling SwiftParser StringLiteralRepresentedLiteralValue.swift
[698/753] Compiling SwiftParser Declarations.swift
[699/753] Compiling SwiftParser Directives.swift
[700/753] Compiling SwiftParser ExpressionInterpretedAsVersionTuple.swift
[701/753] Compiling SwiftParser Expressions.swift
[702/753] Compiling SwiftParser IncrementalParseTransition.swift
[703/753] Compiling SwiftParser Attributes.swift
[704/753] Compiling SwiftParser Availability.swift
[705/753] Compiling SwiftParser CharacterInfo.swift
[706/753] Compiling SwiftParser CollectionNodes+Parsable.swift
[707/753] Compiling SwiftParser CompilerFiles.swift
[738/753] Compiling SwiftParser IsLexerClassified.swift
[739/753] Compiling SwiftParser LayoutNodes+Parsable.swift
[740/753] Compiling SwiftParser Parser+TokenSpecSet.swift
[741/753] Compiling SwiftParser TokenSpecStaticMembers.swift
[746/816] Compiling SwiftParserDiagnostics SyntaxKindNameForDiagnostics.swift
[747/817] Compiling SwiftOperators OperatorTable.swift
[748/817] Compiling SwiftOperators PrecedenceGroup.swift
[749/817] Compiling SwiftOperators PrecedenceGraph.swift
[750/818] Compiling SwiftParserDiagnostics TokenNameForDiagnostics.swift
[751/818] Compiling SwiftOperators OperatorTable+Semantics.swift
[752/818] Compiling SwiftOperators SyntaxSynthesis.swift
[753/818] Compiling SwiftOperators OperatorTable+Defaults.swift
[754/818] Compiling SwiftOperators OperatorError+Diagnostics.swift
[755/818] Compiling SwiftOperators OperatorError.swift
[756/818] Compiling SwiftOperators Operator.swift
[757/818] Emitting module SwiftOperators
[758/818] Compiling SwiftOperators OperatorTable+Folding.swift
[759/818] Compiling CucumberSwiftMacroConverterTool StepPattern.swift
[760/818] Compiling CucumberSwiftMacroConverterTool TriviaPiece+Classification.swift
[763/820] Compiling CucumberSwiftMacroConverterTool Runner.swift
[764/820] Compiling CucumberSwiftMacroConverterTool SetupAdvice.swift
[765/822] Compiling CucumberSwiftMacroConverterTool StepDefinitionCall.swift
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwiftMacroConverterTool/StepDefinitionCall.swift:67:19: warning: value 'found' was defined but never used; consider replacing with boolean test
 65 |
 66 |     func macro() throws -> MacroExpansionExprSyntax {
 67 |         guard let found = runner.found else { throw Unconvertible(reason: runner.problem ?? "") }
    |                   `- warning: value 'found' was defined but never used; consider replacing with boolean test
 68 |         let arguments = try arguments()
 69 |         let (pattern, closure) = (arguments.pattern, arguments.closure)
[766/822] Compiling CucumberSwiftMacroConverterTool StepDefinitionConverter.swift
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwiftMacroConverterTool/StepDefinitionCall.swift:67:19: warning: value 'found' was defined but never used; consider replacing with boolean test
 65 |
 66 |     func macro() throws -> MacroExpansionExprSyntax {
 67 |         guard let found = runner.found else { throw Unconvertible(reason: runner.problem ?? "") }
    |                   `- warning: value 'found' was defined but never used; consider replacing with boolean test
 68 |         let arguments = try arguments()
 69 |         let (pattern, closure) = (arguments.pattern, arguments.closure)
[767/822] Compiling SwiftParserDiagnostics Utils.swift
[768/822] Compiling SwiftParserDiagnostics SyntaxExtensions.swift
[769/822] Compiling SwiftParserDiagnostics PresenceUtils.swift
[770/822] Compiling SwiftParserDiagnostics ChildNameForDiagnostics.swift
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwiftMacroConverterTool/StepDefinitionCall.swift:67:19: warning: value 'found' was defined but never used; consider replacing with boolean test
 65 |
 66 |     func macro() throws -> MacroExpansionExprSyntax {
 67 |         guard let found = runner.found else { throw Unconvertible(reason: runner.problem ?? "") }
    |                   `- warning: value 'found' was defined but never used; consider replacing with boolean test
 68 |         let arguments = try arguments()
 69 |         let (pattern, closure) = (arguments.pattern, arguments.closure)
/Users/admin/builder/spi-builder-workspace/Sources/CucumberSwiftMacroConverterTool/StepDefinitionCall.swift:67:19: warning: value 'found' was defined but never used; consider replacing with boolean test
 65 |
 66 |     func macro() throws -> MacroExpansionExprSyntax {
 67 |         guard let found = runner.found else { throw Unconvertible(reason: runner.problem ?? "") }
    |                   `- warning: value 'found' was defined but never used; consider replacing with boolean test
 68 |         let arguments = try arguments()
 69 |         let (pattern, closure) = (arguments.pattern, arguments.closure)
[773/822] Emitting module CucumberSwiftMacroConverterTool
[774/822] Compiling CucumberSwiftMacroConverterTool ConversionOptions.swift
[775/822] Compiling CucumberSwiftMacroConverterTool HookCall.swift
[776/822] Compiling CucumberSwiftMacroConverterTool ImportAdder.swift
[777/822] Emitting module CucumberSwiftMacroConverterTool
[781/822] Compiling CucumberSwiftMacroConverterTool Unconvertible.swift
[782/822] Compiling CucumberSwiftMacroConverterTool main.swift
[783/822] Compiling CucumberSwiftMacroConverterTool StepDefinition.swift
[784/822] Compiling CucumberSwiftMacroConverterTool StepDefinitionCall+Reads.swift
[785/822] Compiling CucumberSwiftMacroConverterTool StepDefinitionCall+RegexReads.swift
[786/822] Compiling CucumberSwiftMacroConverterTool StepDefinitionCall+Rewriting.swift
[787/822] Compiling CucumberSwiftMacroConverterTool ImportCollector.swift
[788/822] Compiling CucumberSwiftMacroConverterTool LocalizedStepDefinitionNames.swift
[789/822] Compiling CucumberSwiftMacroConverterTool RegexLiteralPattern.swift
[790/822] Compiling CucumberSwiftMacroConverterTool Rewriter.swift
[799/822] Compiling SwiftParserDiagnostics ParserDiagnosticMessages.swift
[800/822] Emitting module SwiftParserDiagnostics
[804/822] Compiling CucumberSwiftMacroConverterTool MacroConversion.swift
[806/822] Compiling CucumberSwiftMacroConverterTool References.swift
[812/822] Write Objects.LinkFileList
[816/837] Linking CucumberSwiftMacroConverterTool
[816/837] Linking CucumberSwiftMacroConverterTool-tool
[818/837] Applying CucumberSwiftMacroConverterTool
[819/837] Applying CucumberSwiftMacroConverterTool-tool
[821/837] Compiling SwiftSyntaxBuilder RenamedChildrenBuilderCompatibility.swift
[822/837] Compiling SwiftSyntaxBuilder BuildableNodes.swift
[823/838] Compiling SwiftSyntaxBuilder SyntaxParsable+ExpressibleByStringInterpolation.swift
[824/838] Compiling SwiftSyntaxBuilder ValidatingSyntaxNodes.swift
[825/838] Compiling SwiftSyntaxBuilder WithTrailingCommaSyntax+EnsuringTrailingComma.swift
[826/838] Compiling SwiftSyntaxBuilder ResultBuilders.swift
[827/838] Compiling SwiftSyntaxBuilder SyntaxExpressibleByStringInterpolationConformances.swift
[828/838] Compiling SwiftSyntaxBuilder Indenter.swift
[829/838] Compiling SwiftSyntaxBuilder ListBuilder.swift
[830/838] Compiling SwiftSyntaxBuilder ResultBuilderExtensions.swift
[831/838] Compiling SwiftSyntaxBuilder SwiftSyntaxBuilderCompatibility.swift
[832/838] Compiling SwiftSyntaxBuilder ConvenienceInitializers.swift
[833/838] Compiling SwiftSyntaxBuilder DeclSyntaxParseable.swift
[834/838] Compiling SwiftSyntaxBuilder Syntax+StringInterpolation.swift
[835/838] Compiling SwiftSyntaxBuilder SyntaxNodeWithBody.swift
[836/838] Emitting module SwiftSyntaxBuilder
[837/853] Compiling SwiftIfConfig VersionTuple+Parsing.swift
[838/853] Compiling SwiftIfConfig SyntaxLiteralUtils.swift
[839/853] Compiling SwiftIfConfig SyntaxProtocol+IfConfig.swift
[840/854] Compiling SwiftIfConfig StaticBuildConfiguration.swift
[841/854] Compiling SwiftIfConfig IfConfigFunctions.swift
[842/854] Compiling SwiftIfConfig IfConfigRegionState.swift
[843/854] Compiling SwiftIfConfig ActiveSyntaxVisitor.swift
[844/854] Compiling SwiftIfConfig BuildConfiguration.swift
[845/854] Compiling SwiftIfConfig VersionTuple.swift
[846/854] Compiling SwiftIfConfig ActiveClauseEvaluator.swift
[847/854] Compiling SwiftIfConfig ActiveSyntaxRewriter.swift
[848/854] Compiling SwiftIfConfig ConfiguredRegions.swift
[849/854] Compiling SwiftIfConfig IfConfigDecl+IfConfig.swift
[850/854] Compiling SwiftIfConfig IfConfigDiagnostic.swift
[851/854] Compiling SwiftIfConfig IfConfigEvaluation.swift
[852/854] Emitting module SwiftIfConfig
[853/872] Compiling SwiftSyntaxMacros Macro.swift
[854/872] Compiling SwiftSyntaxMacros MemberAttributeMacro.swift
[855/872] Compiling SwiftSyntaxMacros PreambleMacro.swift
[856/872] Compiling SwiftSyntaxMacros FreestandingMacro.swift
[857/872] Compiling SwiftSyntaxMacros Macro+Format.swift
[858/872] Compiling SwiftSyntaxMacros CodeItemMacro.swift
[859/872] Compiling SwiftSyntaxMacros DeclarationMacro.swift
[860/872] Compiling SwiftSyntaxMacros AttachedMacro.swift
[861/872] Compiling SwiftSyntaxMacros BodyMacro.swift
[862/872] Compiling SwiftSyntaxMacros MemberMacro.swift
[863/872] Compiling SwiftSyntaxMacros PeerMacro.swift
[864/872] Compiling SwiftSyntaxMacros ExpressionMacro.swift
[865/872] Compiling SwiftSyntaxMacros ExtensionMacro.swift
[866/873] Compiling SwiftSyntaxMacros MacroExpansionDiagnosticMessages.swift
[867/873] Compiling SwiftSyntaxMacros AccessorMacro.swift
[868/873] Emitting module SwiftSyntaxMacros
[869/873] Compiling SwiftSyntaxMacros AbstractSourceLocation.swift
[870/873] Compiling SwiftSyntaxMacros MacroExpansionContext.swift
[871/873] Compiling SwiftSyntaxMacros Syntax+LexicalContext.swift
[872/883] Compiling SwiftSyntaxMacroExpansion MacroSpec.swift
[873/883] Compiling SwiftSyntaxMacroExpansion MacroReplacement.swift
[874/883] Compiling SwiftSyntaxMacroExpansion MacroExpansionDiagnosticMessages.swift
[875/883] Compiling SwiftSyntaxMacroExpansion MacroExpansion.swift
[876/883] Compiling SwiftSyntaxMacroExpansion IndentationUtils.swift
[877/883] Compiling SwiftSyntaxMacroExpansion MacroArgument.swift
[878/883] Compiling SwiftSyntaxMacroExpansion FunctionParameterUtils.swift
[879/883] Emitting module SwiftSyntaxMacroExpansion
[880/883] Compiling SwiftSyntaxMacroExpansion BasicMacroExpansionContext.swift
[881/883] Compiling SwiftSyntaxMacroExpansion MacroSystem.swift
[882/895] Compiling SwiftCompilerPluginMessageHandling PluginMessageCompatibility.swift
[883/896] Compiling SwiftCompilerPluginMessageHandling StandardIOMessageConnection.swift
[884/896] Compiling SwiftCompilerPluginMessageHandling LRUCache.swift
[885/896] Compiling SwiftCompilerPluginMessageHandling Macros.swift
[886/896] Compiling SwiftCompilerPluginMessageHandling PluginMacroExpansionContext.swift
[887/896] Compiling SwiftCompilerPluginMessageHandling JSONEncoding.swift
[888/896] Compiling SwiftCompilerPluginMessageHandling JSONDecoding.swift
[889/896] Compiling SwiftCompilerPluginMessageHandling CodingUtilities.swift
[890/896] Compiling SwiftCompilerPluginMessageHandling JSON.swift
[891/896] Compiling SwiftCompilerPluginMessageHandling CompilerPluginMessageHandler.swift
[892/896] Compiling SwiftCompilerPluginMessageHandling Diagnostics.swift
[893/896] Emitting module SwiftCompilerPluginMessageHandling
[894/896] Compiling SwiftCompilerPluginMessageHandling PluginMessages.swift
[895/898] Emitting module SwiftCompilerPlugin
[896/898] Compiling SwiftCompilerPlugin CompilerPlugin.swift
[897/908] Compiling CucumberSwiftMacrosPlugin RegexLiteralPattern.swift
[898/908] Compiling CucumberSwiftMacrosPlugin RegexLiteralStepDefinition.swift
[899/908] Compiling CucumberSwiftMacrosPlugin HookMacro.swift
[900/908] Compiling CucumberSwiftMacrosPlugin LocalizedStepDefinitionNames.swift
[901/908] Compiling CucumberSwiftMacrosPlugin DSLStepMacro.swift
[902/908] Compiling CucumberSwiftMacrosPlugin DSLPlacement.swift
[903/908] Compiling CucumberSwiftMacrosPlugin DSLContainerMacro.swift
[904/908] Compiling CucumberSwiftMacrosPlugin CucumberSwiftMacrosPlugin.swift
[905/908] Compiling CucumberSwiftMacrosPlugin StepDefinitionMacro.swift
[906/908] Emitting module CucumberSwiftMacrosPlugin
[907/909] Compiling CucumberSwiftMacrosPlugin StepPattern.swift
[907/909] Write Objects.LinkFileList
[908/909] Linking CucumberSwiftMacrosPlugin-tool
[910/925] Compiling CucumberSwiftTestingMacros StepDefinitionMacros.swift
[911/925] Compiling CucumberSwiftTestingMacros LocalizedStepDefinitionMacros.swift
[912/925] Compiling CucumberSwiftTestingMacros DSLStepMacros.swift
[913/925] Compiling CucumberSwiftTestingMacros HookMacros.swift
[914/925] Compiling CucumberSwiftTestingMacros Exports.swift
[915/925] Compiling CucumberSwiftTestingMacros LocalizedDSLStepMacros.swift
[916/925] Compiling CucumberSwiftMacros HookMacros.swift
[917/925] Compiling CucumberSwiftTestingMacros DSLContainerMacros.swift
[918/925] Compiling CucumberSwiftMacros StepDefinitionMacros.swift
[919/925] Compiling CucumberSwiftMacros LocalizedStepDefinitionMacros.swift
[920/925] Compiling CucumberSwiftMacros Exports.swift
[921/925] Compiling CucumberSwiftMacros DSLStepMacros.swift
[922/925] Compiling CucumberSwiftMacros DSLContainerMacros.swift
[923/925] Compiling CucumberSwiftMacros LocalizedDSLStepMacros.swift
[924/925] Emitting module CucumberSwiftMacros
[925/925] Emitting module CucumberSwiftTestingMacros
Build complete! (31.79s)
warning: 'spi-builder-workspace': found 2 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Tests/CucumberSwiftTests/Reporter/ParityReport.json
    /Users/admin/builder/spi-builder-workspace/Tests/CucumberSwiftTests/Reporter/Schema.json
Build complete.
{
  "dependencies" : [
    {
      "identity" : "cucumberswiftexpressions",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.4.2",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/cucumberswift/CucumberSwiftExpressions.git"
    },
    {
      "identity" : "swift-docc-plugin",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.5.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-docc-plugin"
    },
    {
      "identity" : "jsonschema.swift",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.6.0",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/kylef/JSONSchema.swift"
    },
    {
      "identity" : "swift-syntax",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "600.0.0",
            "upper_bound" : "605.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/swiftlang/swift-syntax.git"
    }
  ],
  "manifest_display_name" : "CucumberSwift",
  "name" : "CucumberSwift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    },
    {
      "name" : "watchos",
      "version" : "7.4"
    }
  ],
  "products" : [
    {
      "name" : "CucumberSwift",
      "targets" : [
        "CucumberSwift"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CucumberSwiftLint",
      "targets" : [
        "CucumberSwiftLintPlugin"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "FixFeatureFiles",
      "targets" : [
        "Fix Feature Files"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "ConvertToGherkinMacros",
      "targets" : [
        "Convert to Gherkin Macros"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "CucumberSwiftMacros",
      "targets" : [
        "CucumberSwiftMacros"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CucumberSwiftTesting",
      "targets" : [
        "CucumberSwiftTesting"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CucumberSwiftTestingMacros",
      "targets" : [
        "CucumberSwiftTestingMacros"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "CucumberSwiftTestingPlugin",
      "targets" : [
        "CucumberSwiftTestingPlugin"
      ],
      "type" : {
        "plugin" : null
      }
    },
    {
      "name" : "CucumberSwiftTestingGenerator",
      "targets" : [
        "CucumberSwiftTestingGenerator"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "CucumberSwiftMacroConverterTool",
      "targets" : [
        "CucumberSwiftMacroConverterTool"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "CucumberSwiftLintTool",
      "targets" : [
        "CucumberSwiftLintTool"
      ],
      "type" : {
        "executable" : null
      }
    },
    {
      "name" : "CucumberSwiftMacrosPlugin",
      "targets" : [
        "CucumberSwiftMacrosPlugin"
      ],
      "type" : {
        "macro" : null
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "Fix_Feature_Files",
      "module_type" : "PluginTarget",
      "name" : "Fix Feature Files",
      "path" : "Plugins/FixFeatureFilesPlugin",
      "plugin_capability" : {
        "intent" : {
          "description" : "Fixes the misspelt Gherkin keywords that CucumberSwiftLint reports in feature files",
          "type" : "custom",
          "verb" : "fix-feature-files"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "Fixes misspelt Gherkin keywords in your feature files",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "FixFeatureFiles"
      ],
      "sources" : [
        "Plugin.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftLintTool"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "CucumberSwiftTests",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftTests",
      "path" : "Tests/CucumberSwiftTests",
      "product_dependencies" : [
        "JSONSchema"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/CucumberSwiftTests/Features",
          "rule" : {
            "copy" : {
            }
          }
        },
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/Tests/CucumberSwiftTests/testdata",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Coverage/CoverageFlagsTests.swift",
        "Coverage/CoverageIssuesTests.swift",
        "Coverage/CoverageMapTests.swift",
        "Coverage/CoverageRecorderTests.swift",
        "Coverage/CoverageReportTests.swift",
        "Coverage/CoverageReporterTests.swift",
        "Coverage/CoverageScoreTestsTests.swift",
        "Coverage/CoverageScoresTests.swift",
        "Coverage/NameHashTests.swift",
        "CucumberSwiftTests.swift",
        "CucumberTests/CucumberTests.swift",
        "DSLTests/DSLBackgroundTests.swift",
        "DSLTests/DSLFeatureTests.swift",
        "DSLTests/DSLPlacementTests.swift",
        "DSLTests/DSLRuleTests.swift",
        "DSLTests/DSLScenarioOutlineTests.swift",
        "DSLTests/DSLScenarioTests.swift",
        "DSLTests/DSLStepTests.swift",
        "Extensions/CucumberExtensions.swift",
        "Extensions/SequenceExtensionsTests.swift",
        "Extensions/StringExtensionsTests.swift",
        "Gherkin/CommentTests.swift",
        "Gherkin/DocstringTests.swift",
        "Gherkin/ErrorTests.swift",
        "Gherkin/ParserTests.swift",
        "Gherkin/PositionTests.swift",
        "Gherkin/RuleTests.swift",
        "Gherkin/SharedHeaderKeywordTests.swift",
        "Gherkin/StepKeywordLanguageTests.swift",
        "Gherkin/StepTests.swift",
        "Gherkin/TableTests.swift",
        "Gherkin/TagTests.swift",
        "MightEqualOperatorTests.swift",
        "ParallelFixtures/AppLaunchRetry.swift",
        "ParallelFixtures/AppLaunchRetryTests.swift",
        "ParallelFixtures/ItemCountWait.swift",
        "ParallelFixtures/ItemCountWaitTests.swift",
        "Reporter/CustomReporterTests.swift",
        "Reporter/ReportFileTests.swift",
        "Reporter/ReportParityTests.swift",
        "Reporter/ReporterTests.swift",
        "Reporter/TestBundleFilesTests.swift",
        "Reporter/VerboseReporterTests.swift",
        "Runner/AmbiguousStepTests.swift",
        "Runner/AnchoredExpressionTests.swift",
        "Runner/AsyncIsolationTests.swift",
        "Runner/AsyncStepTests.swift",
        "Runner/AttachTests.swift",
        "Runner/DuplicateStepDefinitionTests.swift",
        "Runner/FeatureFlagsTests.swift",
        "Runner/HookTests.swift",
        "Runner/LockedTests.swift",
        "Runner/ParallelFeatureHooksTests.swift",
        "Runner/ParallelTestingTests.swift",
        "Runner/ReadableTestNameTests.swift",
        "Runner/RunWithLineNumberTests.swift",
        "Runner/ScenarioRunTests.swift",
        "Runner/ScenarioRunsTests.swift",
        "Runner/ScenarioTestTests.swift",
        "Runner/SkippedStepTests.swift",
        "Runner/StepFailureLocationTests.swift",
        "Runner/StepTestCaseTests.swift",
        "Runner/UndefinedStepTests.swift",
        "Runner/WaitTests.swift",
        "SendableTests.swift",
        "StepGenerationTests.swift",
        "StringReaderTests.swift",
        "StubGeneration/CucumberExpressionStepGenerationTests.swift",
        "StubGeneration/GeneratedStepDefinitionTests.swift",
        "StubGeneration/GeneratedStepDefinitions.swift",
        "StubGeneration/MacroStepGenerationTests.swift",
        "WaitUntil.swift"
      ],
      "target_dependencies" : [
        "CucumberSwift"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CucumberSwiftTestingTests",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftTestingTests",
      "path" : "Tests/CucumberSwiftTestingTests",
      "product_dependencies" : [
        "JSONSchema"
      ],
      "sources" : [
        "AttachTests.swift",
        "CoverageSettingsTests.swift",
        "CucumberTagsTests.swift",
        "CucumberTests.swift",
        "DSLTests.swift",
        "ExpectationTests.swift",
        "FeatureHookTests.swift",
        "GherkinExampleTests.swift",
        "HookLocationTests.swift",
        "ImplementationOptionsTests.swift",
        "LocalizedStepDefinitionTests.swift",
        "LocalizedStepTypeTests.swift",
        "ParallelScenarioTests.swift",
        "RegularExpressionStepDefinitionTests.swift",
        "ReportParityTests.swift",
        "ReportingTests.swift",
        "ScenarioCaseTests.swift",
        "ScenarioStateCaseTests.swift",
        "SelectorStepDefinitionTests.swift",
        "SkippedScenarioTests.swift",
        "SkippingCase.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftTesting"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CucumberSwiftTestingPlugin",
      "module_type" : "PluginTarget",
      "name" : "CucumberSwiftTestingPlugin",
      "path" : "Plugins/CucumberSwiftTestingPlugin",
      "plugin_capability" : {
        "type" : "buildTool"
      },
      "product_memberships" : [
        "CucumberSwiftTestingPlugin"
      ],
      "sources" : [
        "ExpandFolders.swift",
        "Plugin.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftTestingGenerator"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "CucumberSwiftTestingMacros",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftTestingMacros",
      "path" : "Sources/CucumberSwiftTestingMacros",
      "product_dependencies" : [
        "CucumberSwiftExpressions"
      ],
      "product_memberships" : [
        "CucumberSwiftTestingMacros"
      ],
      "sources" : [
        "DSLContainerMacros.swift",
        "DSLStepMacros.swift",
        "Exports.swift",
        "HookMacros.swift",
        "LocalizedDSLStepMacros.swift",
        "LocalizedStepDefinitionMacros.swift",
        "StepDefinitionMacros.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftTesting",
        "CucumberSwiftMacrosPlugin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CucumberSwiftTestingGeneratorTests",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftTestingGeneratorTests",
      "path" : "Tests/CucumberSwiftTestingGeneratorTests",
      "sources" : [
        "SwiftTestingSourceTests.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftTestingGenerator"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CucumberSwiftTestingGenerator",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftTestingGenerator",
      "path" : "Sources/CucumberSwiftTestingGenerator",
      "product_memberships" : [
        "CucumberSwiftTestingPlugin",
        "CucumberSwiftTestingGenerator"
      ],
      "sources" : [
        "SwiftTestingSource.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftGherkin"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "CucumberSwiftTesting",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftTesting",
      "path" : "Sources/CucumberSwiftTesting",
      "product_dependencies" : [
        "CucumberSwiftExpressions"
      ],
      "product_memberships" : [
        "CucumberSwiftTesting",
        "CucumberSwiftTestingMacros"
      ],
      "sources" : [
        "Attach.swift",
        "Coverage/CoverageMap.swift",
        "Coverage/CoverageRecorder.swift",
        "Coverage/CoverageReport.swift",
        "Coverage/CoverageReporter.swift",
        "Coverage/CoverageScores.swift",
        "Coverage/CoverageSettings.swift",
        "Coverage/NameHash.swift",
        "Coverage/ProfileCounters.swift",
        "Coverage/ReadableName.swift",
        "Coverage/ScenarioRule.swift",
        "CoverageFlags.swift",
        "CoverageIssues.swift",
        "Cucumber.swift",
        "CucumberScopes.swift",
        "CucumberTags.swift",
        "CucumberTestObserver.swift",
        "DSL/DSLScenarios.swift",
        "DSL/FeatureDSL.swift",
        "DSL/GherkinDSL.swift",
        "DSL/StepText.swift",
        "ExecuteFirstStep.swift",
        "Expectations.swift",
        "GherkinScenario.swift",
        "Hook.swift",
        "JSONReporter.swift",
        "LocalizedStepTypes.swift",
        "RegexLiteralStyle.swift",
        "Reporter/FeatureFlagValue.swift",
        "Reporter/JSONReport.swift",
        "Reporter/ReportFile.swift",
        "Reporter/ReporterResult.swift",
        "Reporter/ScenarioState.swift",
        "Reporter/TestBundleFiles.swift",
        "Reporter/TestNames.swift",
        "Reporter/VerboseOutput.swift",
        "RunningLocation.swift",
        "Scenario.swift",
        "ScenarioCase.swift",
        "ScenarioSelection.swift",
        "Settings.swift",
        "Step.swift",
        "StepDSL+RegularExpression.swift",
        "StepDSL+Selector.swift",
        "StepDSL.swift",
        "StepTimeout.swift",
        "TestBundle.swift",
        "TestNaming/ClassNameString.swift",
        "VerboseReporter.swift",
        "Waiting/WaitFailures.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CucumberSwiftObjC",
      "module_type" : "ClangTarget",
      "name" : "CucumberSwiftObjC",
      "path" : "Sources/CucumberSwiftObjC",
      "product_memberships" : [
        "CucumberSwift",
        "CucumberSwiftMacros"
      ],
      "sources" : [
        "CucumberScenarioTest.m",
        "CucumberStepTest.m"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CucumberSwiftMacrosTests",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftMacrosTests",
      "path" : "Tests/CucumberSwiftMacrosTests",
      "product_dependencies" : [
        "SwiftSyntaxMacrosTestSupport"
      ],
      "sources" : [
        "DSLContainerMacroTests.swift",
        "DSLStepMacroTests.swift",
        "HookMacroDiagnosticTests.swift",
        "HookMacroTests.swift",
        "LocalizedDSLStepMacroTests.swift",
        "LocalizedStepDefinitionMacroTests.swift",
        "RegexLiteralMacroDiagnosticTests.swift",
        "RegexLiteralMacroTests.swift",
        "RegexLiteralPatternTests.swift",
        "StepDefinitionMacroDiagnosticTests.swift",
        "StepDefinitionMacroTests.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftMacrosPlugin"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CucumberSwiftMacrosPlugin",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftMacrosPlugin",
      "path" : "Sources/CucumberSwiftMacrosPlugin",
      "product_dependencies" : [
        "CucumberSwiftExpressions",
        "SwiftSyntax",
        "SwiftSyntaxBuilder",
        "SwiftSyntaxMacros",
        "SwiftDiagnostics",
        "SwiftCompilerPlugin"
      ],
      "product_memberships" : [
        "CucumberSwiftMacros",
        "CucumberSwiftTestingMacros",
        "CucumberSwiftMacrosPlugin"
      ],
      "sources" : [
        "CucumberSwiftMacrosPlugin.swift",
        "DSLContainerMacro.swift",
        "DSLPlacement.swift",
        "DSLStepMacro.swift",
        "HookMacro.swift",
        "LocalizedStepDefinitionNames.swift",
        "RegexLiteralPattern.swift",
        "RegexLiteralStepDefinition.swift",
        "StepDefinitionMacro.swift",
        "StepPattern.swift"
      ],
      "type" : "macro"
    },
    {
      "c99name" : "CucumberSwiftMacros",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftMacros",
      "path" : "Sources/CucumberSwiftMacros",
      "product_dependencies" : [
        "CucumberSwiftExpressions"
      ],
      "product_memberships" : [
        "CucumberSwiftMacros"
      ],
      "sources" : [
        "DSLContainerMacros.swift",
        "DSLStepMacros.swift",
        "Exports.swift",
        "HookMacros.swift",
        "LocalizedDSLStepMacros.swift",
        "LocalizedStepDefinitionMacros.swift",
        "StepDefinitionMacros.swift"
      ],
      "target_dependencies" : [
        "CucumberSwift",
        "CucumberSwiftMacrosPlugin"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CucumberSwiftMacroConverterTool",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftMacroConverterTool",
      "path" : "Sources/CucumberSwiftMacroConverterTool",
      "product_dependencies" : [
        "CucumberSwiftExpressions",
        "SwiftSyntax",
        "SwiftParser"
      ],
      "product_memberships" : [
        "ConvertToGherkinMacros",
        "CucumberSwiftMacroConverterTool"
      ],
      "sources" : [
        "ConversionOptions.swift",
        "HookCall.swift",
        "ImportAdder.swift",
        "ImportCollector.swift",
        "LocalizedStepDefinitionNames.swift",
        "MacroConversion.swift",
        "References.swift",
        "RegexLiteralPattern.swift",
        "Rewriter.swift",
        "Runner.swift",
        "SetupAdvice.swift",
        "StepDefinition.swift",
        "StepDefinitionCall+Reads.swift",
        "StepDefinitionCall+RegexReads.swift",
        "StepDefinitionCall+Rewriting.swift",
        "StepDefinitionCall.swift",
        "StepDefinitionConverter.swift",
        "StepPattern.swift",
        "TriviaPiece+Classification.swift",
        "Unconvertible.swift",
        "main.swift"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "CucumberSwiftMacroConverterTests",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftMacroConverterTests",
      "path" : "Tests/CucumberSwiftMacroConverterTests",
      "product_dependencies" : [
        "CucumberSwiftExpressions",
        "SwiftSyntaxMacrosTestSupport"
      ],
      "sources" : [
        "ConvertedStepDefinitionExpansionTests.swift",
        "ConverterTestCase.swift",
        "ConverterTool.swift",
        "HookConverterTests.swift",
        "MacroConversionTests.swift",
        "RegexLiteralConversionTests.swift",
        "SetupAdviceTests.swift",
        "StepDefinitionConverterTests.swift",
        "StepDefinitionLeftUnchangedTests.swift",
        "StepDefinitionMarkerTests.swift",
        "StepDefinitionPreservationTests.swift",
        "StepDefinitionShadowingTests.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftMacrosPlugin"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CucumberSwiftLintToolTests",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftLintToolTests",
      "path" : "Tests/CucumberSwiftLintToolTests",
      "sources" : [
        "DSLPlacementCheckTests.swift",
        "EveryGherkinLanguageTests.swift",
        "FeatureFixerTests.swift",
        "GherkinCheckTests.swift",
        "LintTestCase.swift",
        "LocalizedDSLContainerNameTests.swift",
        "LocalizedStepDefinitionNameTests.swift",
        "SharedHeaderKeywordCheckTests.swift",
        "StepDefinitionCheckTests.swift",
        "StepKeywordLanguageCheckTests.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftLintTool"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CucumberSwiftLintTool",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftLintTool",
      "path" : "Sources/CucumberSwiftLintTool",
      "product_dependencies" : [
        "CucumberSwiftExpressions"
      ],
      "product_memberships" : [
        "CucumberSwiftLint",
        "FixFeatureFiles",
        "CucumberSwiftLintTool"
      ],
      "sources" : [
        "Arguments.swift",
        "CommentScanner.swift",
        "DSLPlacementCheck.swift",
        "Diagnostic.swift",
        "FeatureChecker.swift",
        "FeatureFixer.swift",
        "Linter.swift",
        "LocalizedDSLContainerNames.swift",
        "LocalizedStepDefinitionNames.swift",
        "StepDefinition.swift",
        "main.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftGherkin"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "CucumberSwiftLintPlugin",
      "module_type" : "PluginTarget",
      "name" : "CucumberSwiftLintPlugin",
      "path" : "Plugins/CucumberSwiftLintPlugin",
      "plugin_capability" : {
        "type" : "buildTool"
      },
      "product_memberships" : [
        "CucumberSwiftLint"
      ],
      "sources" : [
        "ExpandFolders.swift",
        "Plugin.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftLintTool"
      ],
      "type" : "plugin"
    },
    {
      "c99name" : "CucumberSwiftGherkinTests",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftGherkinTests",
      "path" : "Tests/CucumberSwiftGherkinTests",
      "sources" : [
        "FeatureFileTests.swift",
        "ParserParityTests.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftGherkin",
        "CucumberSwift"
      ],
      "type" : "test"
    },
    {
      "c99name" : "CucumberSwiftGherkin",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwiftGherkin",
      "path" : "Sources/CucumberSwiftGherkin",
      "product_memberships" : [
        "CucumberSwiftLint",
        "FixFeatureFiles",
        "CucumberSwiftTestingPlugin",
        "CucumberSwiftTestingGenerator",
        "CucumberSwiftLintTool"
      ],
      "sources" : [
        "Core/AST/AST.swift",
        "Core/AST/ASTRule.swift",
        "Core/AST/ASTToken.swift",
        "Core/AST/Nodes.swift",
        "Core/DataTable.swift",
        "Core/DocString.swift",
        "Core/Errors.swift",
        "Core/Extensions/CharacterExtensions.swift",
        "Core/Extensions/CollectionExtensions.swift",
        "Core/Extensions/MightEqualOperator.swift",
        "Core/Extensions/SequenceExtensions.swift",
        "Core/Extensions/StringExtensions.swift",
        "Core/Language.swift",
        "Core/Languages.swift",
        "Core/Lexer/Lexer.swift",
        "Core/Lexer/Position.swift",
        "Core/Lexer/StringReader.swift",
        "Core/Lexer/Token.swift",
        "Core/Locked.swift",
        "Core/NodeHeader.swift",
        "Core/ScenarioNodeContent.swift",
        "Core/ScenarioOutlineParser.swift",
        "Core/Scope.swift",
        "Core/StepKeyword.swift",
        "Core/StepNodeContent.swift",
        "Core/StubGeneration/Method.swift",
        "Core/StubGeneration/RegexLiteralStyle.swift",
        "Core/StubGeneration/StubGenerator.swift",
        "Core/StubGeneration/StubGeneratorLexer.swift",
        "Core/StubGeneration/StubGeneratorToken.swift",
        "FeatureFile.swift",
        "Keywords.swift",
        "TestNaming/ClassNameString.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "CucumberSwift",
      "module_type" : "SwiftTarget",
      "name" : "CucumberSwift",
      "path" : "Sources/CucumberSwift",
      "product_dependencies" : [
        "CucumberSwiftExpressions"
      ],
      "product_memberships" : [
        "CucumberSwift",
        "CucumberSwiftMacros"
      ],
      "sources" : [
        "Coverage/CoverageMap.swift",
        "Coverage/CoverageRecorder.swift",
        "Coverage/CoverageReport.swift",
        "Coverage/CoverageReporter.swift",
        "Coverage/CoverageScores.swift",
        "Coverage/CoverageSettings.swift",
        "Coverage/NameHash.swift",
        "Coverage/ProfileCounters.swift",
        "Coverage/ReadableName.swift",
        "Coverage/ScenarioRule.swift",
        "DSL/BackgroundDSL.swift",
        "DSL/DSLScenarioOutline.swift",
        "DSL/FeatureDSL.swift",
        "DSL/GherkinDSL.swift",
        "DSL/Matcher.swift",
        "DSL/MisplacedStepDefinition.swift",
        "DSL/RuleDSL.swift",
        "DSL/ScenarioBuilder.swift",
        "DSL/ScenarioDSL.swift",
        "DSL/StepBuilder.swift",
        "DSL/StepDSL.swift",
        "DSL/StepText.swift",
        "Generated/I18n.swift",
        "Gherkin/Core/AST/AST.swift",
        "Gherkin/Core/AST/ASTRule.swift",
        "Gherkin/Core/AST/ASTToken.swift",
        "Gherkin/Core/AST/Nodes.swift",
        "Gherkin/Core/DataTable.swift",
        "Gherkin/Core/DocString.swift",
        "Gherkin/Core/Errors.swift",
        "Gherkin/Core/Extensions/CharacterExtensions.swift",
        "Gherkin/Core/Extensions/CollectionExtensions.swift",
        "Gherkin/Core/Extensions/MightEqualOperator.swift",
        "Gherkin/Core/Extensions/SequenceExtensions.swift",
        "Gherkin/Core/Extensions/StringExtensions.swift",
        "Gherkin/Core/Language.swift",
        "Gherkin/Core/Languages.swift",
        "Gherkin/Core/Lexer/Lexer.swift",
        "Gherkin/Core/Lexer/Position.swift",
        "Gherkin/Core/Lexer/StringReader.swift",
        "Gherkin/Core/Lexer/Token.swift",
        "Gherkin/Core/Locked.swift",
        "Gherkin/Core/NodeHeader.swift",
        "Gherkin/Core/ScenarioNodeContent.swift",
        "Gherkin/Core/ScenarioOutlineParser.swift",
        "Gherkin/Core/Scope.swift",
        "Gherkin/Core/StepKeyword.swift",
        "Gherkin/Core/StepNodeContent.swift",
        "Gherkin/Core/StubGeneration/Method.swift",
        "Gherkin/Core/StubGeneration/RegexLiteralStyle.swift",
        "Gherkin/Core/StubGeneration/StubGenerator.swift",
        "Gherkin/Core/StubGeneration/StubGeneratorLexer.swift",
        "Gherkin/Core/StubGeneration/StubGeneratorToken.swift",
        "Gherkin/Parser/Feature.swift",
        "Gherkin/Parser/Scenario.swift",
        "Gherkin/Parser/ScenarioOutlineScenarios.swift",
        "Gherkin/Parser/Step.swift",
        "Protocols/CucumberTestObservable.swift",
        "Protocols/CucumberTestObserver.swift",
        "Protocols/Positionable.swift",
        "Protocols/Taggable.swift",
        "Reporter/Core/FeatureFlagValue.swift",
        "Reporter/Core/JSONReport.swift",
        "Reporter/Core/ReportFile.swift",
        "Reporter/Core/ReporterResult.swift",
        "Reporter/Core/ScenarioState.swift",
        "Reporter/Core/TestBundleFiles.swift",
        "Reporter/Core/TestNames.swift",
        "Reporter/Core/VerboseOutput.swift",
        "Reporter/JSONReporter.swift",
        "Reporter/ReporterReportURL.swift",
        "Reporter/VerboseReporter.swift",
        "Runner/AsyncStepRunner.swift",
        "Runner/CoverageFlags.swift",
        "Runner/CoverageIssues.swift",
        "Runner/CoverageScoreTests.swift",
        "Runner/Cucumber.swift",
        "Runner/CucumberTest.swift",
        "Runner/CucumberTestSupport.swift",
        "Runner/DuplicateStepDefinition.swift",
        "Runner/FeatureFlags.swift",
        "Runner/GeneratedTestNames.swift",
        "Runner/Globals.swift",
        "Runner/Hooks/FeatureHook.swift",
        "Runner/Hooks/Hook.swift",
        "Runner/Hooks/ScenarioHook.swift",
        "Runner/Hooks/StepHook.swift",
        "Runner/ParallelTesting.swift",
        "Runner/ScenarioRuns.swift",
        "Runner/ScenarioTest.swift",
        "Runner/StepImplementation.swift",
        "Runner/StepTestCase.swift",
        "Runner/TestObservation.swift",
        "StubGeneration/StubGenerator+Features.swift",
        "TestNaming/ClassNameString.swift",
        "TestingExtensions.swift",
        "Waiting/WaitFailures.swift",
        "XCTestCaseGenerator/TestCaseGenerator.swift",
        "XCTestCaseGenerator/TestCaseMethod.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftObjC"
      ],
      "type" : "library"
    },
    {
      "c99name" : "Convert_to_Gherkin_Macros",
      "module_type" : "PluginTarget",
      "name" : "Convert to Gherkin Macros",
      "path" : "Plugins/ConvertToGherkinMacrosPlugin",
      "plugin_capability" : {
        "intent" : {
          "description" : "Rewrites step definitions as step definition macros where the macro expands to the same step definition",
          "type" : "custom",
          "verb" : "convert-to-gherkin-macros"
        },
        "permissions" : [
          {
            "network_scope" : {
              "none" : {
              }
            },
            "reason" : "Rewrites step definitions as step definition macros in your Swift files",
            "type" : "writeToPackageDirectory"
          }
        ],
        "type" : "command"
      },
      "product_memberships" : [
        "ConvertToGherkinMacros"
      ],
      "sources" : [
        "Plugin.swift"
      ],
      "target_dependencies" : [
        "CucumberSwiftMacroConverterTool"
      ],
      "type" : "plugin"
    }
  ],
  "tools_version" : "6.1"
}
Done.