Build Information
Successful build of Noora, reference 0.56.0 (70c6d1), with Swift 6.1 for macOS (SPM) on 4 Mar 2026 12:36:29 UTC.
Swift 6 data race errors: 2
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tuist/noora.git
Reference: 0.56.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/tuist/noora
* tag 0.56.0 -> FETCH_HEAD
HEAD is now at 70c6d14 [Release] Noora CLI 0.56.0
Cloned https://github.com/tuist/noora.git
Revision (git rev-parse @):
70c6d1477a982f3e4cd46ed2d122e04e9d0a0b59
SUCCESS checkout https://github.com/tuist/noora.git at 0.56.0
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/tuist/noora.git
https://github.com/tuist/noora.git
{
"dependencies" : [
{
"identity" : "rainbow",
"requirement" : {
"range" : [
{
"lower_bound" : "4.2.1",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/onevcat/Rainbow"
},
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.7.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.10.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log"
},
{
"identity" : "path",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.8",
"upper_bound" : "0.4.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tuist/path"
}
],
"manifest_display_name" : "Noora",
"name" : "Noora",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Noora",
"targets" : [
"Noora"
],
"type" : {
"library" : [
"static"
]
}
},
{
"name" : "examples-cli",
"targets" : [
"examples-cli"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "examples_cli",
"module_type" : "SwiftTarget",
"name" : "examples-cli",
"path" : "cli/Sources/examples-cli",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"examples-cli"
],
"sources" : [
"Commands/AlertCommand.swift",
"Commands/CollapsibleStepCommand.swift",
"Commands/FormatCommand.swift",
"Commands/InfoCommand.swift",
"Commands/MultipleChoicePromptCommand.swift",
"Commands/ProgressBarStepCommand.swift",
"Commands/ProgressStepCommand.swift",
"Commands/SingleChoicePromptCommand.swift",
"Commands/TableCommand.swift",
"Commands/TextPromptCommand.swift",
"Commands/YesOrNoChoicePromptCommand.swift",
"ExamplesCLI.swift"
],
"target_dependencies" : [
"Noora"
],
"type" : "executable"
},
{
"c99name" : "NooraTests",
"module_type" : "SwiftTarget",
"name" : "NooraTests",
"path" : "cli/Tests/NooraTests",
"sources" : [
"Components/CollapsibleStepTests.swift",
"Components/CompletionTests.swift",
"Components/MultipleChoicePromptTests.swift",
"Components/NooraTests.swift",
"Components/ProgressBarStepTests.swift",
"Components/ProgressStepTests.swift",
"Components/SingleChoicePromptTests.swift",
"Components/TableTests.swift",
"Components/TextPromptTests.swift",
"Components/YesOrNoChoicePromptTests.swift",
"Mocks/MockKeyStrokeListener.swift",
"Mocks/MockRenderer.swift",
"Mocks/MockSpinner.swift",
"Mocks/MockStandardPipeline.swift",
"Mocks/MockTerminal.swift",
"Mocks/MockValidator.swift",
"NooraTheme+Test.swift",
"Utilities/DisplayWidthTests.swift",
"Utilities/NooraMockTests.swift",
"Utilities/SignalBehaviorTests.swift",
"Utilities/TerminalTextTests.swift",
"Validator/LengthValidationRuleTests.swift",
"Validator/NonEmptyValidationRuleTests.swift",
"Validator/RegexValidationRuleTests.swift",
"Validator/ValidatorTests.swift"
],
"target_dependencies" : [
"Noora"
],
"type" : "test"
},
{
"c99name" : "Noora",
"module_type" : "SwiftTarget",
"name" : "Noora",
"path" : "cli/Sources/Noora",
"product_dependencies" : [
"Rainbow",
"Logging",
"Path"
],
"product_memberships" : [
"Noora",
"examples-cli"
],
"sources" : [
"Components/Alert.swift",
"Components/CollapsibleStep.swift",
"Components/MultipleChoicePrompt.swift",
"Components/ProgressBarStep.swift",
"Components/ProgressStep.swift",
"Components/SingleChoicePrompt.swift",
"Components/Table/PaginatedTable.swift",
"Components/Table/SelectableTable.swift",
"Components/Table/Table.swift",
"Components/Table/TableColumn.swift",
"Components/Table/TableData.swift",
"Components/Table/TableRenderer.swift",
"Components/Table/TableStyle.swift",
"Components/Table/UpdatingSelectableTable.swift",
"Components/Table/UpdatingTable.swift",
"Components/TextPrompt.swift",
"Components/YesOrNoChoicePrompt.swift",
"Content.swift",
"DataStructures/Stack.swift",
"Extensions/Character+isPrintable.swift",
"Extensions/String+Rainbow.swift",
"Extensions/String+ValidatableError.swift",
"Noora.swift",
"NooraError.swift",
"NooraMock.swift",
"StandardPipelineType.swift",
"Theme.swift",
"Utilities/KeyStrokeListener.swift",
"Utilities/LockIsolated.swift",
"Utilities/Renderer.swift",
"Utilities/Spinner.swift",
"Utilities/StandardPipelines.swift",
"Utilities/Terminal.swift",
"Utilities/TerminalText+DisplayWidth.swift",
"Utilities/TerminalText.swift",
"Validator/Core/ValidatableError.swift",
"Validator/Core/ValidatableRule.swift",
"Validator/Core/ValidationError.swift",
"Validator/InputValidating.swift",
"Validator/Rules/LengthValidationRule.swift",
"Validator/Rules/NonEmptyValidationRule.swift",
"Validator/Rules/RegexValidationRule.swift",
"Validator/Validator.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8.1"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin GenerateDoccReference
Building for debugging...
[2/16] Write sources
[4/16] Write examples-cli-entitlement.plist
[5/16] Write sources
[10/16] Write swift-version-2F0A5646E1D333AE.txt
[12/40] Emitting module Path
[13/40] Compiling Path Path.swift
[14/40] Emitting module ArgumentParserToolInfo
[15/40] Compiling ArgumentParserToolInfo ToolInfo.swift
[16/87] Compiling Logging LogHandler.swift
<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
[17/87] Compiling Logging Locks.swift
<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
[18/87] Emitting module Logging
<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
[19/87] Compiling Logging Logging.swift
<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
[20/87] Compiling Logging MetadataProvider.swift
<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
[21/87] Compiling Rainbow Style.swift
[22/88] Compiling Rainbow StringGenerator.swift
[23/88] Compiling Rainbow String+ConditionalStyling.swift
[24/88] Compiling Rainbow String+Rainbow.swift
[25/88] Emitting module ArgumentParser
[26/93] Compiling ArgumentParser CommandConfiguration.swift
[27/93] Compiling ArgumentParser CommandGroup.swift
[28/93] Compiling ArgumentParser EnumerableFlag.swift
[29/93] Compiling ArgumentParser ExpressibleByArgument.swift
[30/93] Compiling ArgumentParser ParsableArguments.swift
[31/93] Compiling ArgumentParser ArgumentHelp.swift
[32/93] Compiling ArgumentParser ArgumentVisibility.swift
[33/93] Compiling ArgumentParser CompletionKind.swift
[34/93] Compiling ArgumentParser Errors.swift
[35/93] Compiling ArgumentParser Flag.swift
[36/93] Compiling ArgumentParser CodingKeyValidator.swift
[37/93] Compiling ArgumentParser NonsenseFlagsValidator.swift
[38/93] Compiling ArgumentParser ParsableArgumentsValidation.swift
[39/93] Compiling ArgumentParser PositionalArgumentsValidator.swift
[40/93] Compiling ArgumentParser UniqueNamesValidator.swift
[41/93] Emitting module Rainbow
[42/93] Compiling Rainbow StyledStringBuilder.swift
[43/93] Compiling ArgumentParser ArgumentDefinition.swift
[44/93] Compiling ArgumentParser ArgumentSet.swift
[45/93] Compiling ArgumentParser FishCompletionsGenerator.swift
[46/93] Compiling ArgumentParser ZshCompletionsGenerator.swift
[47/93] Compiling ArgumentParser BashCompletionsGenerator.swift
[48/93] Compiling ArgumentParser CompletionsGenerator.swift
[49/93] Compiling ArgumentParser Argument.swift
[50/93] Compiling ArgumentParser ArgumentDiscussion.swift
[51/93] Compiling ArgumentParser ParsableCommand.swift
[52/93] Compiling ArgumentParser ArgumentDecoder.swift
[59/133] Compiling Noora TableStyle.swift
[60/133] Compiling Noora UpdatingSelectableTable.swift
[61/133] Compiling Noora UpdatingTable.swift
[62/133] Compiling Noora Character+isPrintable.swift
[63/133] Compiling Noora String+Rainbow.swift
[64/133] Compiling Noora TextPrompt.swift
[65/133] Compiling Noora YesOrNoChoicePrompt.swift
[66/133] Compiling Noora Content.swift
[67/133] Compiling Noora Stack.swift
[68/133] Compiling Noora StandardPipelines.swift
[69/133] Compiling Noora String+ValidatableError.swift
[70/133] Compiling Noora Noora.swift
[71/133] Compiling Noora ValidatableError.swift
[72/133] Compiling Noora ValidatableRule.swift
[73/133] Compiling Noora ValidationError.swift
[74/133] Compiling Noora InputValidating.swift
[75/133] Compiling Noora KeyStrokeListener.swift
[76/133] Compiling Noora LockIsolated.swift
[77/133] Compiling Noora Renderer.swift
[78/133] Compiling Noora Spinner.swift
[79/133] Compiling Noora PaginatedTable.swift
[80/133] Compiling Noora SelectableTable.swift
[81/133] Compiling Noora Table.swift
[82/133] Compiling Noora TableColumn.swift
[83/133] Compiling Noora NooraError.swift
[84/133] Compiling Noora NooraMock.swift
[85/133] Compiling Noora StandardPipelineType.swift
[86/133] Compiling Noora Theme.swift
[87/133] Compiling Noora TableData.swift
[88/133] Compiling Noora TableRenderer.swift
[89/133] Emitting module Noora
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:768:17: warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
296 | /// The value should be between 0 and 1.
297 | /// message.
298 | func progressBarStep<V>(
| `- note: expected sendability to match requirement here
299 | message: String,
300 | successMessage: String?,
:
766 | }
767 |
768 | public func progressBarStep<V>(
| `- warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
769 | message: String,
770 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/NooraMock.swift:249:21: warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
247 | }
248 |
249 | public func progressBarStep<V>(
| `- warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
250 | message: String,
251 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:298:10: note: expected sendability to match requirement here
296 | /// The value should be between 0 and 1.
297 | /// message.
298 | func progressBarStep<V>(
| `- note: expected sendability to match requirement here
299 | message: String,
300 | successMessage: String?,
[91/137] Compiling Noora Terminal.swift
[92/137] Compiling Noora TerminalText+DisplayWidth.swift
[93/137] Compiling Noora TerminalText.swift
[98/137] Compiling Noora LengthValidationRule.swift
[99/137] Compiling Noora NonEmptyValidationRule.swift
[100/137] Compiling Noora RegexValidationRule.swift
[101/137] Compiling Noora Validator.swift
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:32:13: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
30 |
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:33:20: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:32:13: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
30 |
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:33:20: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:32:13: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
30 |
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:33:20: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:32:13: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
30 |
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:33:20: warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
6 | }
7 |
8 | class Spinner: Spinning {
| `- note: class 'Spinner' does not conform to the 'Sendable' protocol
9 | private static let frames = [
10 | "⠋",
:
31 | // Schedule the timer in the current run loop
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
| `- warning: capture of 'self' with non-sendable type 'Spinner' in a '@Sendable' closure
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:21: warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| |- warning: capture of 'block' with non-sendable type '(String) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:34:42: warning: reference to captured var 'index' in concurrently-executing code
32 | self.timer = Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true) { _ in
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
| `- warning: reference to captured var 'index' in concurrently-executing code
35 | index = (index + 1) % Spinner.frames.count
36 | } else {
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:21: warning: mutation of captured var 'index' in concurrently-executing code
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: mutation of captured var 'index' in concurrently-executing code
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Utilities/Spinner.swift:35:30: warning: reference to captured var 'index' in concurrently-executing code
33 | if self.isSpinning {
34 | block(Spinner.frames[index])
35 | index = (index + 1) % Spinner.frames.count
| `- warning: reference to captured var 'index' in concurrently-executing code
36 | } else {
37 | self.timer?.invalidate()
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:768:17: warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
296 | /// The value should be between 0 and 1.
297 | /// message.
298 | func progressBarStep<V>(
| `- note: expected sendability to match requirement here
299 | message: String,
300 | successMessage: String?,
:
766 | }
767 |
768 | public func progressBarStep<V>(
| `- warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
769 | message: String,
770 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:732:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
723 | showSpinner: Bool,
724 | renderer: Rendering,
725 | task: @escaping (@escaping @Sendable (String) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
726 | ) async throws -> V {
727 | let progressStep = ProgressStep(
:
730 | errorMessage: errorMessage,
731 | showSpinner: showSpinner,
732 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
733 | theme: theme,
734 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:755:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
746 | visibleLines: UInt,
747 | renderer: Rendering,
748 | task: @escaping (@escaping @Sendable (TerminalText) -> Void) async throws -> Void
| `- note: parameter 'task' is implicitly non-sendable
749 | ) async throws {
750 | try await CollapsibleStep(
:
753 | errorMessage: errorMessage,
754 | visibleLines: visibleLines,
755 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
756 | theme: theme,
757 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:779:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
771 | errorMessage: String?,
772 | renderer: Rendering,
773 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
774 | ) async throws -> V {
775 | try await ProgressBarStep(
:
777 | successMessage: successMessage,
778 | errorMessage: errorMessage,
779 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
780 | theme: theme,
781 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:1314:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1305 | public func progressBarStep<V>(
1306 | message: String,
1307 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
1308 | ) async throws -> V {
1309 | try await progressBarStep(
:
1312 | errorMessage: nil,
1313 | renderer: Renderer(),
1314 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1315 | )
1316 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:1329:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1320 | successMessage: String?,
1321 | errorMessage: String?,
1322 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
1323 | ) async throws -> V {
1324 | try await progressBarStep(
:
1327 | errorMessage: errorMessage,
1328 | renderer: Renderer(),
1329 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1330 | )
1331 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:768:17: warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
296 | /// The value should be between 0 and 1.
297 | /// message.
298 | func progressBarStep<V>(
| `- note: expected sendability to match requirement here
299 | message: String,
300 | successMessage: String?,
:
766 | }
767 |
768 | public func progressBarStep<V>(
| `- warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
769 | message: String,
770 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:732:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
723 | showSpinner: Bool,
724 | renderer: Rendering,
725 | task: @escaping (@escaping @Sendable (String) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
726 | ) async throws -> V {
727 | let progressStep = ProgressStep(
:
730 | errorMessage: errorMessage,
731 | showSpinner: showSpinner,
732 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
733 | theme: theme,
734 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:755:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
746 | visibleLines: UInt,
747 | renderer: Rendering,
748 | task: @escaping (@escaping @Sendable (TerminalText) -> Void) async throws -> Void
| `- note: parameter 'task' is implicitly non-sendable
749 | ) async throws {
750 | try await CollapsibleStep(
:
753 | errorMessage: errorMessage,
754 | visibleLines: visibleLines,
755 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
756 | theme: theme,
757 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:779:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
771 | errorMessage: String?,
772 | renderer: Rendering,
773 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
774 | ) async throws -> V {
775 | try await ProgressBarStep(
:
777 | successMessage: successMessage,
778 | errorMessage: errorMessage,
779 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
780 | theme: theme,
781 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:1314:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1305 | public func progressBarStep<V>(
1306 | message: String,
1307 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
1308 | ) async throws -> V {
1309 | try await progressBarStep(
:
1312 | errorMessage: nil,
1313 | renderer: Renderer(),
1314 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1315 | )
1316 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:1329:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1320 | successMessage: String?,
1321 | errorMessage: String?,
1322 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
1323 | ) async throws -> V {
1324 | try await progressBarStep(
:
1327 | errorMessage: errorMessage,
1328 | renderer: Renderer(),
1329 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1330 | )
1331 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:768:17: warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
296 | /// The value should be between 0 and 1.
297 | /// message.
298 | func progressBarStep<V>(
| `- note: expected sendability to match requirement here
299 | message: String,
300 | successMessage: String?,
:
766 | }
767 |
768 | public func progressBarStep<V>(
| `- warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
769 | message: String,
770 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:732:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
723 | showSpinner: Bool,
724 | renderer: Rendering,
725 | task: @escaping (@escaping @Sendable (String) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
726 | ) async throws -> V {
727 | let progressStep = ProgressStep(
:
730 | errorMessage: errorMessage,
731 | showSpinner: showSpinner,
732 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
733 | theme: theme,
734 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:755:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
746 | visibleLines: UInt,
747 | renderer: Rendering,
748 | task: @escaping (@escaping @Sendable (TerminalText) -> Void) async throws -> Void
| `- note: parameter 'task' is implicitly non-sendable
749 | ) async throws {
750 | try await CollapsibleStep(
:
753 | errorMessage: errorMessage,
754 | visibleLines: visibleLines,
755 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
756 | theme: theme,
757 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:779:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
771 | errorMessage: String?,
772 | renderer: Rendering,
773 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
774 | ) async throws -> V {
775 | try await ProgressBarStep(
:
777 | successMessage: successMessage,
778 | errorMessage: errorMessage,
779 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
780 | theme: theme,
781 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:1314:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1305 | public func progressBarStep<V>(
1306 | message: String,
1307 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
1308 | ) async throws -> V {
1309 | try await progressBarStep(
:
1312 | errorMessage: nil,
1313 | renderer: Renderer(),
1314 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1315 | )
1316 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:1329:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1320 | successMessage: String?,
1321 | errorMessage: String?,
1322 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
1323 | ) async throws -> V {
1324 | try await progressBarStep(
:
1327 | errorMessage: errorMessage,
1328 | renderer: Renderer(),
1329 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1330 | )
1331 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:768:17: warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
296 | /// The value should be between 0 and 1.
297 | /// message.
298 | func progressBarStep<V>(
| `- note: expected sendability to match requirement here
299 | message: String,
300 | successMessage: String?,
:
766 | }
767 |
768 | public func progressBarStep<V>(
| `- warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
769 | message: String,
770 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:732:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
723 | showSpinner: Bool,
724 | renderer: Rendering,
725 | task: @escaping (@escaping @Sendable (String) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
726 | ) async throws -> V {
727 | let progressStep = ProgressStep(
:
730 | errorMessage: errorMessage,
731 | showSpinner: showSpinner,
732 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
733 | theme: theme,
734 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:755:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
746 | visibleLines: UInt,
747 | renderer: Rendering,
748 | task: @escaping (@escaping @Sendable (TerminalText) -> Void) async throws -> Void
| `- note: parameter 'task' is implicitly non-sendable
749 | ) async throws {
750 | try await CollapsibleStep(
:
753 | errorMessage: errorMessage,
754 | visibleLines: visibleLines,
755 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
756 | theme: theme,
757 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:779:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
771 | errorMessage: String?,
772 | renderer: Rendering,
773 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
774 | ) async throws -> V {
775 | try await ProgressBarStep(
:
777 | successMessage: successMessage,
778 | errorMessage: errorMessage,
779 | task: task,
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
780 | theme: theme,
781 | terminal: terminal,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:1314:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1305 | public func progressBarStep<V>(
1306 | message: String,
1307 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
1308 | ) async throws -> V {
1309 | try await progressBarStep(
:
1312 | errorMessage: nil,
1313 | renderer: Renderer(),
1314 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1315 | )
1316 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:1329:19: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1320 | successMessage: String?,
1321 | errorMessage: String?,
1322 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
1323 | ) async throws -> V {
1324 | try await progressBarStep(
:
1327 | errorMessage: errorMessage,
1328 | renderer: Renderer(),
1329 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
1330 | )
1331 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/NooraMock.swift:249:21: warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
247 | }
248 |
249 | public func progressBarStep<V>(
| `- warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
250 | message: String,
251 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:298:10: note: expected sendability to match requirement here
296 | /// The value should be between 0 and 1.
297 | /// message.
298 | func progressBarStep<V>(
| `- note: expected sendability to match requirement here
299 | message: String,
300 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/NooraMock.swift:261:23: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
252 | errorMessage: String?,
253 | renderer: Rendering,
254 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
255 | ) async throws -> V {
256 | try await noora.progressBarStep(
:
259 | errorMessage: errorMessage,
260 | renderer: renderer,
261 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
262 | )
263 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/NooraMock.swift:249:21: warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
247 | }
248 |
249 | public func progressBarStep<V>(
| `- warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
250 | message: String,
251 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:298:10: note: expected sendability to match requirement here
296 | /// The value should be between 0 and 1.
297 | /// message.
298 | func progressBarStep<V>(
| `- note: expected sendability to match requirement here
299 | message: String,
300 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/NooraMock.swift:261:23: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
252 | errorMessage: String?,
253 | renderer: Rendering,
254 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
255 | ) async throws -> V {
256 | try await noora.progressBarStep(
:
259 | errorMessage: errorMessage,
260 | renderer: renderer,
261 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
262 | )
263 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/NooraMock.swift:249:21: warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
247 | }
248 |
249 | public func progressBarStep<V>(
| `- warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
250 | message: String,
251 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:298:10: note: expected sendability to match requirement here
296 | /// The value should be between 0 and 1.
297 | /// message.
298 | func progressBarStep<V>(
| `- note: expected sendability to match requirement here
299 | message: String,
300 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/NooraMock.swift:261:23: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
252 | errorMessage: String?,
253 | renderer: Rendering,
254 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
255 | ) async throws -> V {
256 | try await noora.progressBarStep(
:
259 | errorMessage: errorMessage,
260 | renderer: renderer,
261 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
262 | )
263 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/NooraMock.swift:249:21: warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
247 | }
248 |
249 | public func progressBarStep<V>(
| `- warning: sendability of function types in instance method 'progressBarStep(message:successMessage:errorMessage:renderer:task:)' does not match requirement in protocol 'Noorable'; this is an error in the Swift 6 language mode
250 | message: String,
251 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Noora.swift:298:10: note: expected sendability to match requirement here
296 | /// The value should be between 0 and 1.
297 | /// message.
298 | func progressBarStep<V>(
| `- note: expected sendability to match requirement here
299 | message: String,
300 | successMessage: String?,
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/NooraMock.swift:261:23: warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
252 | errorMessage: String?,
253 | renderer: Rendering,
254 | task: @escaping (@escaping @Sendable (Double) -> Void) async throws -> V
| `- note: parameter 'task' is implicitly non-sendable
255 | ) async throws -> V {
256 | try await noora.progressBarStep(
:
259 | errorMessage: errorMessage,
260 | renderer: renderer,
261 | task: task
| `- warning: passing non-sendable parameter 'task' to function expecting a @Sendable closure
262 | )
263 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/UpdatingSelectableTable.swift:49:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
47 |
48 | group.enter()
49 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
50 | await consumeUpdates(state: state)
| `- note: closure captures 'state' which is accessible to code in the current task
51 | group.leave()
52 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/UpdatingSelectableTable.swift:55:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
53 |
54 | group.enter()
55 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
56 | listenForInput(state: state)
| `- note: closure captures 'state' which is accessible to code in the current task
57 | group.leave()
58 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/UpdatingSelectableTable.swift:49:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
47 |
48 | group.enter()
49 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
50 | await consumeUpdates(state: state)
| `- note: closure captures 'state' which is accessible to code in the current task
51 | group.leave()
52 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/UpdatingSelectableTable.swift:55:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
53 |
54 | group.enter()
55 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
56 | listenForInput(state: state)
| `- note: closure captures 'state' which is accessible to code in the current task
57 | group.leave()
58 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/UpdatingSelectableTable.swift:49:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
47 |
48 | group.enter()
49 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
50 | await consumeUpdates(state: state)
| `- note: closure captures 'state' which is accessible to code in the current task
51 | group.leave()
52 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/UpdatingSelectableTable.swift:55:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
53 |
54 | group.enter()
55 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
56 | listenForInput(state: state)
| `- note: closure captures 'state' which is accessible to code in the current task
57 | group.leave()
58 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/UpdatingSelectableTable.swift:49:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
47 |
48 | group.enter()
49 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
50 | await consumeUpdates(state: state)
| `- note: closure captures 'state' which is accessible to code in the current task
51 | group.leave()
52 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/UpdatingSelectableTable.swift:55:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
53 |
54 | group.enter()
55 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
56 | listenForInput(state: state)
| `- note: closure captures 'state' which is accessible to code in the current task
57 | group.leave()
58 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/UpdatingSelectableTable.swift:49:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
47 |
48 | group.enter()
49 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
50 | await consumeUpdates(state: state)
| `- note: closure captures 'state' which is accessible to code in the current task
51 | group.leave()
52 | }
/Users/admin/builder/spi-builder-workspace/cli/Sources/Noora/Components/Table/UpdatingSelectableTable.swift:55:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
53 |
54 | group.enter()
55 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
56 | listenForInput(state: state)
| `- note: closure captures 'state' which is accessible to code in the current task
57 | group.leave()
58 | }
[123/137] Compiling Noora SingleChoicePrompt.swift
[128/137] Compiling Noora Alert.swift
[129/137] Compiling Noora CollapsibleStep.swift
[130/137] Compiling Noora MultipleChoicePrompt.swift
[131/137] Compiling Noora ProgressBarStep.swift
[132/137] Compiling Noora ProgressStep.swift
[132/137] Write Objects.LinkFileList
/Applications/Xcode-16.3.0.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: warning duplicate member name 'String+Rainbow.swift.o' from '/Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Noora.build/String+Rainbow.swift.o(String+Rainbow.swift.o)' and '/Users/admin/builder/spi-builder-workspace/.build/arm64-apple-macosx/debug/Rainbow.build/String+Rainbow.swift.o(String+Rainbow.swift.o)'
[133/137] Archiving libNoora.a
[135/149] Compiling examples_cli MultipleChoicePromptCommand.swift
[136/150] Compiling examples_cli ExamplesCLI.swift
[137/150] Compiling examples_cli FormatCommand.swift
[138/150] Compiling examples_cli InfoCommand.swift
[139/150] Compiling examples_cli SingleChoicePromptCommand.swift
[140/150] Emitting module examples_cli
[141/150] Compiling examples_cli ProgressStepCommand.swift
[142/150] Compiling examples_cli TextPromptCommand.swift
[143/150] Compiling examples_cli TableCommand.swift
/Users/admin/builder/spi-builder-workspace/cli/Sources/examples-cli/Commands/TableCommand.swift:298:27: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
296 |
297 | let updates = AsyncStream<TableData> { continuation in
298 | Task.detached {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
299 | var rng = SystemRandomNumberGenerator()
300 | while !Task.isCancelled {
:
327 | }
328 |
329 | continuation.yield(TableData(columns: columns, rows: jittered))
| `- note: closure captures 'columns' which is accessible to code in the current task
330 |
331 | do {
/Users/admin/builder/spi-builder-workspace/cli/Sources/examples-cli/Commands/TableCommand.swift:329:34: warning: sending value of non-Sendable type 'TableData' risks causing data races; this is an error in the Swift 6 language mode
327 | }
328 |
329 | continuation.yield(TableData(columns: columns, rows: jittered))
| |- warning: sending value of non-Sendable type 'TableData' risks causing data races; this is an error in the Swift 6 language mode
| `- note: Passing task-isolated value of non-Sendable type 'TableData' as a 'sending' parameter risks causing races inbetween task-isolated uses and uses reachable from the callee
330 |
331 | do {
/Users/admin/builder/spi-builder-workspace/cli/Sources/examples-cli/Commands/TableCommand.swift:393:33: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
391 |
392 | let updates = AsyncStream<TableData> { continuation in
393 | let producer = Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
394 | var rng = rng
395 | var active = seedNetworks
:
409 | let tableData = snapshot(active: active, rng: &rng)
410 | snapshotQueue.sync {
411 | latestData = tableData
| `- note: closure captures reference to mutable var 'latestData' which is accessible to code in the current task
412 | }
413 | continuation.yield(tableData)
/Users/admin/builder/spi-builder-workspace/cli/Sources/examples-cli/Commands/TableCommand.swift:413:34: warning: sending 'tableData' risks causing data races; this is an error in the Swift 6 language mode
411 | latestData = tableData
412 | }
413 | continuation.yield(tableData)
| |- warning: sending 'tableData' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'tableData' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
414 |
415 | do {
[144/150] Compiling examples_cli YesOrNoChoicePromptCommand.swift
[145/150] Compiling examples_cli AlertCommand.swift
[146/150] Compiling examples_cli CollapsibleStepCommand.swift
[147/150] Compiling examples_cli ProgressBarStepCommand.swift
[147/150] Write Objects.LinkFileList
[148/150] Linking examples-cli
[149/150] Applying examples-cli
Build complete! (21.27s)
Fetching https://github.com/tuist/path
Fetching https://github.com/onevcat/Rainbow
Fetching https://github.com/apple/swift-log from cache
Fetching https://github.com/apple/swift-argument-parser from cache
[1/1423] Fetching rainbow
[58/1812] Fetching rainbow, path
Fetched https://github.com/tuist/path from cache (0.94s)
Fetched https://github.com/onevcat/Rainbow from cache (0.94s)
Fetched https://github.com/apple/swift-log from cache (1.10s)
Fetched https://github.com/apple/swift-argument-parser from cache (1.38s)
Computing version for https://github.com/tuist/path
Computed https://github.com/tuist/path at 0.3.8 (4.42s)
Computing version for https://github.com/apple/swift-log
Computed https://github.com/apple/swift-log at 1.10.1 (0.50s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.7.0 (0.50s)
Computing version for https://github.com/onevcat/Rainbow
Computed https://github.com/onevcat/Rainbow at 4.2.1 (2.57s)
Creating working copy for https://github.com/onevcat/Rainbow
Working copy of https://github.com/onevcat/Rainbow resolved at 4.2.1
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.7.0
Creating working copy for https://github.com/tuist/path
Working copy of https://github.com/tuist/path resolved at 0.3.8
Creating working copy for https://github.com/apple/swift-log
Working copy of https://github.com/apple/swift-log resolved at 1.10.1
Build complete.
{
"dependencies" : [
{
"identity" : "rainbow",
"requirement" : {
"range" : [
{
"lower_bound" : "4.2.1",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/onevcat/Rainbow"
},
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.7.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.10.1",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log"
},
{
"identity" : "path",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.8",
"upper_bound" : "0.4.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tuist/path"
}
],
"manifest_display_name" : "Noora",
"name" : "Noora",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Noora",
"targets" : [
"Noora"
],
"type" : {
"library" : [
"static"
]
}
},
{
"name" : "examples-cli",
"targets" : [
"examples-cli"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "examples_cli",
"module_type" : "SwiftTarget",
"name" : "examples-cli",
"path" : "cli/Sources/examples-cli",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"examples-cli"
],
"sources" : [
"Commands/AlertCommand.swift",
"Commands/CollapsibleStepCommand.swift",
"Commands/FormatCommand.swift",
"Commands/InfoCommand.swift",
"Commands/MultipleChoicePromptCommand.swift",
"Commands/ProgressBarStepCommand.swift",
"Commands/ProgressStepCommand.swift",
"Commands/SingleChoicePromptCommand.swift",
"Commands/TableCommand.swift",
"Commands/TextPromptCommand.swift",
"Commands/YesOrNoChoicePromptCommand.swift",
"ExamplesCLI.swift"
],
"target_dependencies" : [
"Noora"
],
"type" : "executable"
},
{
"c99name" : "NooraTests",
"module_type" : "SwiftTarget",
"name" : "NooraTests",
"path" : "cli/Tests/NooraTests",
"sources" : [
"Components/CollapsibleStepTests.swift",
"Components/CompletionTests.swift",
"Components/MultipleChoicePromptTests.swift",
"Components/NooraTests.swift",
"Components/ProgressBarStepTests.swift",
"Components/ProgressStepTests.swift",
"Components/SingleChoicePromptTests.swift",
"Components/TableTests.swift",
"Components/TextPromptTests.swift",
"Components/YesOrNoChoicePromptTests.swift",
"Mocks/MockKeyStrokeListener.swift",
"Mocks/MockRenderer.swift",
"Mocks/MockSpinner.swift",
"Mocks/MockStandardPipeline.swift",
"Mocks/MockTerminal.swift",
"Mocks/MockValidator.swift",
"NooraTheme+Test.swift",
"Utilities/DisplayWidthTests.swift",
"Utilities/NooraMockTests.swift",
"Utilities/SignalBehaviorTests.swift",
"Utilities/TerminalTextTests.swift",
"Validator/LengthValidationRuleTests.swift",
"Validator/NonEmptyValidationRuleTests.swift",
"Validator/RegexValidationRuleTests.swift",
"Validator/ValidatorTests.swift"
],
"target_dependencies" : [
"Noora"
],
"type" : "test"
},
{
"c99name" : "Noora",
"module_type" : "SwiftTarget",
"name" : "Noora",
"path" : "cli/Sources/Noora",
"product_dependencies" : [
"Rainbow",
"Logging",
"Path"
],
"product_memberships" : [
"Noora",
"examples-cli"
],
"sources" : [
"Components/Alert.swift",
"Components/CollapsibleStep.swift",
"Components/MultipleChoicePrompt.swift",
"Components/ProgressBarStep.swift",
"Components/ProgressStep.swift",
"Components/SingleChoicePrompt.swift",
"Components/Table/PaginatedTable.swift",
"Components/Table/SelectableTable.swift",
"Components/Table/Table.swift",
"Components/Table/TableColumn.swift",
"Components/Table/TableData.swift",
"Components/Table/TableRenderer.swift",
"Components/Table/TableStyle.swift",
"Components/Table/UpdatingSelectableTable.swift",
"Components/Table/UpdatingTable.swift",
"Components/TextPrompt.swift",
"Components/YesOrNoChoicePrompt.swift",
"Content.swift",
"DataStructures/Stack.swift",
"Extensions/Character+isPrintable.swift",
"Extensions/String+Rainbow.swift",
"Extensions/String+ValidatableError.swift",
"Noora.swift",
"NooraError.swift",
"NooraMock.swift",
"StandardPipelineType.swift",
"Theme.swift",
"Utilities/KeyStrokeListener.swift",
"Utilities/LockIsolated.swift",
"Utilities/Renderer.swift",
"Utilities/Spinner.swift",
"Utilities/StandardPipelines.swift",
"Utilities/Terminal.swift",
"Utilities/TerminalText+DisplayWidth.swift",
"Utilities/TerminalText.swift",
"Validator/Core/ValidatableError.swift",
"Validator/Core/ValidatableRule.swift",
"Validator/Core/ValidationError.swift",
"Validator/InputValidating.swift",
"Validator/Rules/LengthValidationRule.swift",
"Validator/Rules/NonEmptyValidationRule.swift",
"Validator/Rules/RegexValidationRule.swift",
"Validator/Validator.swift"
],
"type" : "library"
}
],
"tools_version" : "5.8.1"
}
Done.