The Swift Package Index logo.Swift Package Index

Build Information

Successful build of Shwift, reference main (d7be04), with Swift 6.4 for Linux on 20 Sep 2026 12:02:47 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/GeorgeLyon/Shwift.git
Reference: main
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/GeorgeLyon/Shwift
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at d7be048 Fix remainder (#27)
Cloned https://github.com/GeorgeLyon/Shwift.git
Revision (git rev-parse @):
d7be04898d094ddce6140cc6a2e9a83fc994b66d
SUCCESS checkout https://github.com/GeorgeLyon/Shwift.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.4
Building package at path:  $PWD
https://github.com/GeorgeLyon/Shwift.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Fetching https://github.com/apple/swift-system
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/apple/swift-argument-parser
[1/18918] Fetching swift-argument-parser
[8893/25816] Fetching swift-argument-parser, swift-system
[25817/111889] Fetching swift-argument-parser, swift-system, swift-nio
Fetched https://github.com/apple/swift-system (3.02s)
Fetched https://github.com/apple/swift-argument-parser (3.02s)
Fetched https://github.com/apple/swift-nio.git (3.05s)
Computing version for https://github.com/apple/swift-system
Computed https://github.com/apple/swift-system at 1.8.1 (3.34s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.16s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.103.0 (0.36s)
Fetching https://github.com/apple/swift-collections.git
Fetching https://github.com/apple/swift-atomics.git
[1/1875] Fetching swift-atomics
[1876/29227] Fetching swift-atomics, swift-collections
Fetched https://github.com/apple/swift-atomics.git (1.23s)
Fetched https://github.com/apple/swift-collections.git (1.24s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.1 (1.40s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.6.0 (0.29s)
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.6.0
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.1
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.103.0
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.8.2
Creating working copy for https://github.com/apple/swift-system
Working copy of https://github.com/apple/swift-system resolved at 1.8.1
Building for debugging...
[Computing dependencies]
[Pre-planning 1 / 923]
[Planning deferred tasks]
[170 / 324] NIOConcurrencyHelpers
[173 / 342] SystemPackage
[173 / 342] InternalCollectionsUtilities
[186 / 342] _NIODataStructures
[187 / 342] SystemPackage
[202 / 342] _NIODataStructures
[203 / 342] _NIOBase64
[205 / 343] _NIOBase64
[208 / 343] _NIOBase64
[210 / 343] NIOConcurrencyHelpers
[213 / 344] _NIODataStructures
[216 / 344] NIOConcurrencyHelpers
[221 / 344] InternalCollectionsUtilities
[224 / 344] ContainersPreview
[232 / 347] CSystem
[248 / 358] CNIODarwin
[256 / 358] ArgumentParserToolInfo
[261 / 358] Atomics
[262 / 358] Atomics
[266 / 359] Atomics
[269 / 359] InternalCollectionsUtilities
[271 / 360] CNIOPosix
[273 / 369] ContainersPreview
[274 / 369] ContainersPreview
[281 / 369] ContainersPreview
[282 / 369] ContainersPreview
[286 / 369] CNIOPosix
[288 / 371]
[290 / 372] DequeModule
[294 / 390] ArgumentParserToolInfo
[296 / 391] DequeModule
[296 / 391] Atomics
[297 / 391] DequeModule
[300 / 391] Atomics
[304 / 391] DequeModule
[311 / 391] ArgumentParserToolInfo
[314 / 392] Atomics
[316 / 392] Atomics
[318 / 392] ArgumentParser
[320 / 392] ArgumentParser
[324 / 392] ArgumentParser
[326 / 393] SystemPackage
[329 / 393] SystemPackage
[329 / 393] ArgumentParser
[329 / 393] DequeModule
[336 / 395] DequeModule
[344 / 404] NIOCore
[345 / 404] NIOCore
[346 / 404] NIOCore
[347 / 405] NIOCore
[347 / 405] DequeModule
[350 / 405] ArgumentParser
[350 / 405] NIOCore
[364 / 412] NIOPosix
[369 / 421] NIOPosix
[370 / 421] NIOEmbedded
[371 / 421] NIOEmbedded
[377 / 421] NIOPosix
[378 / 422] NIOPosix
[378 / 422] NIOEmbedded
[381 / 422] NIOPosix
[389 / 425] NIO
[399 / 429] _NIOConcurrency
[407 / 431] Shwift
[411 / 440] Shwift
[411 / 440] NIOPosix
[413 / 440] Shwift
[414 / 440] Shwift
[415 / 440] Shwift
[416 / 441] Shwift
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import NIO
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  2 | import SystemPackage
  3 | @_implementationOnly import _NIOConcurrency
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:3:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import NIO
  2 | import SystemPackage
  3 | @_implementationOnly import _NIOConcurrency
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  4 |
  5 | /**
/host/spi-builder-workspace/Sources/Shwift/Context.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import NIO
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  2 |
  3 | import SystemPackage
/host/spi-builder-workspace/Sources/Shwift/Environment.swift:3:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | import SystemPackage
  2 |
  3 | @_implementationOnly import Foundation
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  4 |
  5 | /**
/host/spi-builder-workspace/Sources/Shwift/Process.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import NIO
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  2 | import SystemPackage
  3 |
/host/spi-builder-workspace/Sources/Shwift/Support/NIO Pipe Bootstrap.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 1 | @_implementationOnly import NIO
   |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 2 | import SystemPackage
 3 |
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:196:32: warning: cannot use module 'NIO' in a property declaration member of a type not marked '@_implementationOnly'; 'NIO' has been imported as implementation-only
194 |         lastFuture = channel.write(NIOAny(buffer))
195 |       }
196 |       fileprivate let channel: NIO.Channel
    |                                `- warning: cannot use module 'NIO' in a property declaration member of a type not marked '@_implementationOnly'; 'NIO' has been imported as implementation-only
197 |       fileprivate var lastFuture: EventLoopFuture<Void>?
198 |     }
<unknown>:0: note: module declared here
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:197:35: warning: cannot use generic class 'EventLoopFuture' in a property declaration member of a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
195 |       }
196 |       fileprivate let channel: NIO.Channel
197 |       fileprivate var lastFuture: EventLoopFuture<Void>?
    |                                   `- warning: cannot use generic class 'EventLoopFuture' in a property declaration member of a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
198 |     }
199 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/EventLoopFuture.swift:423:20: note: generic class declared here
 421 | /// should be considered a code smell worth investigating: the `EventLoop`-based synchronization guarantees of
 422 | /// `EventLoopFuture` should be sufficient to guarantee thread-safety.
 423 | public final class EventLoopFuture<Value> {
     |                    `- note: generic class declared here
 424 |     // TODO: Provide a tracing facility.  It would be nice to be able to set '.debugTrace = true' on any EventLoopFuture or EventLoopPromise and have every subsequent chained EventLoopFuture report the success result or failure error.  That would simplify some debugging scenarios.
 425 |     @usableFromInline
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:200:30: warning: cannot use module 'NIO' in a property declaration member of a type not marked '@_implementationOnly'; 'NIO' has been imported as implementation-only
198 |     }
199 |
200 |     fileprivate let channel: NIO.Channel
    |                              `- warning: cannot use module 'NIO' in a property declaration member of a type not marked '@_implementationOnly'; 'NIO' has been imported as implementation-only
201 |   }
202 |
<unknown>:0: note: module declared here
/host/spi-builder-workspace/Sources/Shwift/Context.swift:60:40: warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
 58 | // MARK: - Support
 59 |
 60 | private final class NullDeviceHandler: ChannelInboundHandler {
    |                                        `- warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
 61 |   typealias InboundIn = ByteBuffer
 62 |   func channelRead(context: ChannelHandlerContext, data: NIOAny) {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/TypeAssistedChannelHandler.swift:43:17: note: protocol declared here
 41 | ///
 42 | /// Please refer to `_ChannelInboundHandler` and `_EmittingChannelHandler` for more details on the provided methods.
 43 | public protocol ChannelInboundHandler: _ChannelInboundHandler, _EmittingChannelHandler {
    |                 `- note: protocol declared here
 44 |     /// The type of the inbound data which is wrapped in `NIOAny`.
 45 |     associatedtype InboundIn
/host/spi-builder-workspace/Sources/Shwift/Context.swift:67:41: warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
 65 | }
 66 |
 67 | private final class FatalDeviceHandler: ChannelInboundHandler {
    |                                         `- warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
 68 |   typealias InboundIn = ByteBuffer
 69 |   func channelRead(context: ChannelHandlerContext, data: NIOAny) {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/TypeAssistedChannelHandler.swift:43:17: note: protocol declared here
 41 | ///
 42 | /// Please refer to `_ChannelInboundHandler` and `_EmittingChannelHandler` for more details on the provided methods.
 43 | public protocol ChannelInboundHandler: _ChannelInboundHandler, _EmittingChannelHandler {
    |                 `- note: protocol declared here
 44 |     /// The type of the inbound data which is wrapped in `NIOAny`.
 45 |     associatedtype InboundIn
/host/spi-builder-workspace/Sources/Shwift/Context.swift:74:44: warning: cannot use protocol 'ChannelInboundHandler' here; 'NIOCore' has been imported as implementation-only
 72 | }
 73 |
 74 | private actor ChannelOutputDevice<Handler: ChannelInboundHandler> {
    |                                            `- warning: cannot use protocol 'ChannelInboundHandler' here; 'NIOCore' has been imported as implementation-only
 75 |   init(handler: Handler) {
 76 |     self.handler = handler
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/TypeAssistedChannelHandler.swift:43:17: note: protocol declared here
 41 | ///
 42 | /// Please refer to `_ChannelInboundHandler` and `_EmittingChannelHandler` for more details on the provided methods.
 43 | public protocol ChannelInboundHandler: _ChannelInboundHandler, _EmittingChannelHandler {
    |                 `- note: protocol declared here
 44 |     /// The type of the inbound data which is wrapped in `NIOAny`.
 45 |     associatedtype InboundIn
/host/spi-builder-workspace/Sources/Shwift/Process.swift:365:23: warning: cannot use generic class 'EventLoopFuture' in a property declaration member of a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
363 |   }
364 |
365 |   private let future: EventLoopFuture<Void>
    |                       `- warning: cannot use generic class 'EventLoopFuture' in a property declaration member of a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
366 |
367 |   private final class Handler: ChannelInboundHandler {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/EventLoopFuture.swift:423:20: note: generic class declared here
 421 | /// should be considered a code smell worth investigating: the `EventLoop`-based synchronization guarantees of
 422 | /// `EventLoopFuture` should be sufficient to guarantee thread-safety.
 423 | public final class EventLoopFuture<Value> {
     |                    `- note: generic class declared here
 424 |     // TODO: Provide a tracing facility.  It would be nice to be able to set '.debugTrace = true' on any EventLoopFuture or EventLoopPromise and have every subsequent chained EventLoopFuture report the success result or failure error.  That would simplify some debugging scenarios.
 425 |     @usableFromInline
/host/spi-builder-workspace/Sources/Shwift/Process.swift:367:32: warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
365 |   private let future: EventLoopFuture<Void>
366 |
367 |   private final class Handler: ChannelInboundHandler {
    |                                `- warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
368 |     typealias InboundIn = ByteBuffer
369 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/TypeAssistedChannelHandler.swift:43:17: note: protocol declared here
 41 | ///
 42 | /// Please refer to `_ChannelInboundHandler` and `_EmittingChannelHandler` for more details on the provided methods.
 43 | public protocol ChannelInboundHandler: _ChannelInboundHandler, _EmittingChannelHandler {
    |                 `- note: protocol declared here
 44 |     /// The type of the inbound data which is wrapped in `NIOAny`.
 45 |     associatedtype InboundIn
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
/host/spi-builder-workspace/Sources/Shwift/Support/NIO Pipe Bootstrap.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 1 | @_implementationOnly import NIO
   |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
 2 | import SystemPackage
 3 |
/host/spi-builder-workspace/Sources/Shwift/Support/NIO Pipe Bootstrap.swift:17:26: warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
15 |       let output = try outputDescriptor.duplicate()
16 |       do {
17 |         return try await withPipes(
   |                          |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
   |                          `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
18 |           inputDescriptor: input.rawValue,
19 |           outputDescriptor: output.rawValue
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
[425 / 442] Shwift
[425 / 442] Script
[430 / 450] Script
/host/spi-builder-workspace/Sources/Shwift/Environment.swift:3:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | import SystemPackage
  2 |
  3 | @_implementationOnly import Foundation
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  4 |
  5 | /**
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
[431 / 450] Script
/host/spi-builder-workspace/Sources/Shwift/Process.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import NIO
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  2 | import SystemPackage
  3 |
/host/spi-builder-workspace/Sources/Shwift/Process.swift:365:23: warning: cannot use generic class 'EventLoopFuture' in a property declaration member of a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
363 |   }
364 |
365 |   private let future: EventLoopFuture<Void>
    |                       `- warning: cannot use generic class 'EventLoopFuture' in a property declaration member of a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
366 |
367 |   private final class Handler: ChannelInboundHandler {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/EventLoopFuture.swift:423:20: note: generic class declared here
 421 | /// should be considered a code smell worth investigating: the `EventLoop`-based synchronization guarantees of
 422 | /// `EventLoopFuture` should be sufficient to guarantee thread-safety.
 423 | public final class EventLoopFuture<Value> {
     |                    `- note: generic class declared here
 424 |     // TODO: Provide a tracing facility.  It would be nice to be able to set '.debugTrace = true' on any EventLoopFuture or EventLoopPromise and have every subsequent chained EventLoopFuture report the success result or failure error.  That would simplify some debugging scenarios.
 425 |     @usableFromInline
/host/spi-builder-workspace/Sources/Shwift/Process.swift:367:32: warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
365 |   private let future: EventLoopFuture<Void>
366 |
367 |   private final class Handler: ChannelInboundHandler {
    |                                `- warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
368 |     typealias InboundIn = ByteBuffer
369 |     func channelRead(context: ChannelHandlerContext, data: NIOAny) {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/TypeAssistedChannelHandler.swift:43:17: note: protocol declared here
 41 | ///
 42 | /// Please refer to `_ChannelInboundHandler` and `_EmittingChannelHandler` for more details on the provided methods.
 43 | public protocol ChannelInboundHandler: _ChannelInboundHandler, _EmittingChannelHandler {
    |                 `- note: protocol declared here
 44 |     /// The type of the inbound data which is wrapped in `NIOAny`.
 45 |     associatedtype InboundIn
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import NIO
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  2 | import SystemPackage
  3 | @_implementationOnly import _NIOConcurrency
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:3:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import NIO
  2 | import SystemPackage
  3 | @_implementationOnly import _NIOConcurrency
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  4 |
  5 | /**
/host/spi-builder-workspace/Sources/Shwift/Context.swift:1:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | @_implementationOnly import NIO
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Shwift' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  2 |
  3 | import SystemPackage
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:196:32: warning: cannot use module 'NIO' in a property declaration member of a type not marked '@_implementationOnly'; 'NIO' has been imported as implementation-only
194 |         lastFuture = channel.write(NIOAny(buffer))
195 |       }
196 |       fileprivate let channel: NIO.Channel
    |                                `- warning: cannot use module 'NIO' in a property declaration member of a type not marked '@_implementationOnly'; 'NIO' has been imported as implementation-only
197 |       fileprivate var lastFuture: EventLoopFuture<Void>?
198 |     }
<unknown>:0: note: module declared here
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:197:35: warning: cannot use generic class 'EventLoopFuture' in a property declaration member of a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
195 |       }
196 |       fileprivate let channel: NIO.Channel
197 |       fileprivate var lastFuture: EventLoopFuture<Void>?
    |                                   `- warning: cannot use generic class 'EventLoopFuture' in a property declaration member of a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
198 |     }
199 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/EventLoopFuture.swift:423:20: note: generic class declared here
 421 | /// should be considered a code smell worth investigating: the `EventLoop`-based synchronization guarantees of
 422 | /// `EventLoopFuture` should be sufficient to guarantee thread-safety.
 423 | public final class EventLoopFuture<Value> {
     |                    `- note: generic class declared here
 424 |     // TODO: Provide a tracing facility.  It would be nice to be able to set '.debugTrace = true' on any EventLoopFuture or EventLoopPromise and have every subsequent chained EventLoopFuture report the success result or failure error.  That would simplify some debugging scenarios.
 425 |     @usableFromInline
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:200:30: warning: cannot use module 'NIO' in a property declaration member of a type not marked '@_implementationOnly'; 'NIO' has been imported as implementation-only
198 |     }
199 |
200 |     fileprivate let channel: NIO.Channel
    |                              `- warning: cannot use module 'NIO' in a property declaration member of a type not marked '@_implementationOnly'; 'NIO' has been imported as implementation-only
201 |   }
202 |
<unknown>:0: note: module declared here
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:29:44: warning: capture of 'handler' with non-Sendable type 'AsyncInboundHandler<ByteBuffer>' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
 27 |          Theoretically if we add this before a call to `channel.read`, it _should_ receive all data sent on the channel. Unfortunately we ran into a case where on Linux, adding the handler outside of the channel initializer made us miss some data.
 28 |          */
 29 |         return channel.pipeline.addHandler(handler)
    |                                            `- warning: capture of 'handler' with non-Sendable type 'AsyncInboundHandler<ByteBuffer>' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
 30 |       }
 31 |       .duplicating(
/host/spi-builder-workspace/Sources/Shwift/Support/Async Inbound Handler.swift:3:20: note: generic class 'AsyncInboundHandler' does not conform to the 'Sendable' protocol
 1 | import NIOCore
 2 |
 3 | public final class AsyncInboundHandler<InboundIn>: ChannelInboundHandler, AsyncSequence {
   |                    `- note: generic class 'AsyncInboundHandler' does not conform to the 'Sendable' protocol
 4 |
 5 |   public typealias BufferingPolicy = AsyncStream<Element>.Continuation.BufferingPolicy
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:194:30: warning: 'write(_:file:line:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning. [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
192 |         let buffer = channel.allocator.buffer(string: string)
193 |         /// This future should implicitly be fulfilled after any previous future
194 |         lastFuture = channel.write(NIOAny(buffer))
    |                              `- warning: 'write(_:file:line:)' is deprecated: NIOAny is not Sendable. Avoid wrapping the value in NIOAny to silence this warning. [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
195 |       }
196 |       fileprivate let channel: NIO.Channel
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:222:51: warning: 'openFile(path:mode:flags:eventLoop:)' is deprecated: Avoid using NonBlockingFileIO. The type is difficult to hold correctly, use NIOFileSystem as a replacement API. [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
220 |         let output = channel.output
221 |         let eventLoop = output.channel.eventLoop
222 |         let fileHandle = try await context.fileIO.openFile(
    |                                                   `- warning: 'openFile(path:mode:flags:eventLoop:)' is deprecated: Avoid using NonBlockingFileIO. The type is difficult to hold correctly, use NIOFileSystem as a replacement API. [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
223 |           path: filePath.string,
224 |           mode: .read,
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:238:19: warning: capture of 'output' with non-Sendable type 'Builtin.Output' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
179 |    A type which can be used to write to a shell command's standard output or standard error
180 |    */
181 |   public struct Output {
    |                 `- note: consider making struct 'Output' conform to the 'Sendable' protocol
182 |
183 |     public func withTextOutputStream(_ body: (inout TextOutputStream) -> Void) async throws {
    :
236 |                 eventLoop: eventLoop,
237 |                 chunkHandler: { buffer in
238 |                   output.channel.writeAndFlush(buffer)
    |                   `- warning: capture of 'output' with non-Sendable type 'Builtin.Output' in a '@Sendable' closure [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures\SendableClosureCaptures]8;;\]
239 |                 }
240 |               )
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:264:51: warning: 'openFile(path:mode:flags:eventLoop:)' is deprecated: Avoid using NonBlockingFileIO. The type is difficult to hold correctly, use NIOFileSystem as a replacement API. [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
262 |       try await withChannel(input: input, output: nullDeviceOutput, in: context) { channel in
263 |         let eventLoop = context.eventLoopGroup.next()
264 |         let fileHandle = try await context.fileIO.openFile(
    |                                                   `- warning: 'openFile(path:mode:flags:eventLoop:)' is deprecated: Avoid using NonBlockingFileIO. The type is difficult to hold correctly, use NIOFileSystem as a replacement API. [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
265 |           path: filePath.string,
266 |           mode: .write,
/host/spi-builder-workspace/Sources/Shwift/Context.swift:60:40: warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
 58 | // MARK: - Support
 59 |
 60 | private final class NullDeviceHandler: ChannelInboundHandler {
    |                                        `- warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
 61 |   typealias InboundIn = ByteBuffer
 62 |   func channelRead(context: ChannelHandlerContext, data: NIOAny) {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/TypeAssistedChannelHandler.swift:43:17: note: protocol declared here
 41 | ///
 42 | /// Please refer to `_ChannelInboundHandler` and `_EmittingChannelHandler` for more details on the provided methods.
 43 | public protocol ChannelInboundHandler: _ChannelInboundHandler, _EmittingChannelHandler {
    |                 `- note: protocol declared here
 44 |     /// The type of the inbound data which is wrapped in `NIOAny`.
 45 |     associatedtype InboundIn
/host/spi-builder-workspace/Sources/Shwift/Context.swift:67:41: warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
 65 | }
 66 |
 67 | private final class FatalDeviceHandler: ChannelInboundHandler {
    |                                         `- warning: cannot use protocol 'ChannelInboundHandler' in a conformance on a type not marked '@_implementationOnly'; 'NIOCore' has been imported as implementation-only
 68 |   typealias InboundIn = ByteBuffer
 69 |   func channelRead(context: ChannelHandlerContext, data: NIOAny) {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/TypeAssistedChannelHandler.swift:43:17: note: protocol declared here
 41 | ///
 42 | /// Please refer to `_ChannelInboundHandler` and `_EmittingChannelHandler` for more details on the provided methods.
 43 | public protocol ChannelInboundHandler: _ChannelInboundHandler, _EmittingChannelHandler {
    |                 `- note: protocol declared here
 44 |     /// The type of the inbound data which is wrapped in `NIOAny`.
 45 |     associatedtype InboundIn
/host/spi-builder-workspace/Sources/Shwift/Context.swift:74:44: warning: cannot use protocol 'ChannelInboundHandler' here; 'NIOCore' has been imported as implementation-only
 72 | }
 73 |
 74 | private actor ChannelOutputDevice<Handler: ChannelInboundHandler> {
    |                                            `- warning: cannot use protocol 'ChannelInboundHandler' here; 'NIOCore' has been imported as implementation-only
 75 |   init(handler: Handler) {
 76 |     self.handler = handler
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/TypeAssistedChannelHandler.swift:43:17: note: protocol declared here
 41 | ///
 42 | /// Please refer to `_ChannelInboundHandler` and `_EmittingChannelHandler` for more details on the provided methods.
 43 | public protocol ChannelInboundHandler: _ChannelInboundHandler, _EmittingChannelHandler {
    |                 `- note: protocol declared here
 44 |     /// The type of the inbound data which is wrapped in `NIOAny`.
 45 |     associatedtype InboundIn
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
[#SendableClosureCaptures]: <https://docs.swift.org/compiler/documentation/diagnostics/sendable-closure-captures>
[434 / 451] Shwift
/host/spi-builder-workspace/Sources/Script/File Operations.swift:3:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Script' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | import Shwift
  2 | import SystemPackage
  3 | @_implementationOnly import Foundation
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Script' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  4 |
  5 | // MARK: - Operators
/host/spi-builder-workspace/Sources/Script/Script.swift:5:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Script' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  3 | import SystemPackage
  4 |
  5 | @_implementationOnly import class Foundation.FileManager
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Script' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  6 |
  7 | /**
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
[444 / 454]
/host/spi-builder-workspace/Sources/Script/Script.swift:5:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Script' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  3 | import SystemPackage
  4 |
  5 | @_implementationOnly import class Foundation.FileManager
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Script' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  6 |
  7 | /**
/host/spi-builder-workspace/Sources/Script/Script.swift:291:37: warning: 'withValue(_:operation:isolation:file:line:)' is deprecated: Prefer the 'nonisolated(nonsending)' overload with stricter execution on caller context semantics: withValue(_:operation:file:line:) [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
289 |     shell.standardError = standardError
290 |   }
291 |   return try await Shell.$taskLocal.withValue(shell, operation: operation)
    |                                     `- warning: 'withValue(_:operation:isolation:file:line:)' is deprecated: Prefer the 'nonisolated(nonsending)' overload with stricter execution on caller context semantics: withValue(_:operation:file:line:) [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
292 | }
293 |
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
/host/spi-builder-workspace/Sources/Script/File Operations.swift:3:22: warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Script' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  1 | import Shwift
  2 | import SystemPackage
  3 | @_implementationOnly import Foundation
    |                      `- warning: safely use '@_implementationOnly' without library evolution by setting '-enable-experimental-feature CheckImplementationOnly' for 'Script' [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated\ImplementationOnlyDeprecated]8;;\]
  4 |
  5 | // MARK: - Operators
[#ImplementationOnlyDeprecated]: <https://docs.swift.org/compiler/documentation/diagnostics/implementation-only-deprecated>
[447 / 454] Script
[452 / 455] ScriptExample-product
[456 / 456] ScriptExample-product
Build complete! (32.71 secs)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    },
    {
      "identity" : "swift-system",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.1.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-system"
    },
    {
      "identity" : "swift-nio",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "2.0.0",
            "upper_bound" : "3.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-nio.git"
    }
  ],
  "manifest_display_name" : "Shwift",
  "name" : "Shwift",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "Script",
      "targets" : [
        "Script"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "Shwift",
      "targets" : [
        "Shwift"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    },
    {
      "name" : "ScriptExample",
      "targets" : [
        "ScriptExample"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "ShwiftTests",
      "module_type" : "SwiftTarget",
      "name" : "ShwiftTests",
      "path" : "Tests/ShwiftTests",
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/Tests/ShwiftTests/Cat.txt",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "Recorder Tests.swift",
        "Shwift Tests.swift"
      ],
      "target_dependencies" : [
        "Shwift"
      ],
      "type" : "test"
    },
    {
      "c99name" : "Shwift",
      "module_type" : "SwiftTarget",
      "name" : "Shwift",
      "path" : "Sources/Shwift",
      "product_dependencies" : [
        "SystemPackage",
        "NIO",
        "_NIOConcurrency"
      ],
      "product_memberships" : [
        "Script",
        "Shwift",
        "ScriptExample"
      ],
      "sources" : [
        "Builtins.swift",
        "Context.swift",
        "Environment.swift",
        "IO.swift",
        "Pipe.swift",
        "Process.swift",
        "Support/Async Inbound Handler.swift",
        "Support/File Descriptor.swift",
        "Support/NIO Pipe Bootstrap.swift",
        "Support/Posix Spawn.swift"
      ],
      "type" : "library"
    },
    {
      "c99name" : "ScriptExample",
      "module_type" : "SwiftTarget",
      "name" : "ScriptExample",
      "path" : "Sources/ScriptExample",
      "product_memberships" : [
        "ScriptExample"
      ],
      "sources" : [
        "Main.swift"
      ],
      "target_dependencies" : [
        "Script"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "Script",
      "module_type" : "SwiftTarget",
      "name" : "Script",
      "path" : "Sources/Script",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "Script",
        "ScriptExample"
      ],
      "sources" : [
        "Builtins.swift",
        "Executable.swift",
        "File Operations.swift",
        "List Comprehensions.swift",
        "Output Capture.swift",
        "Pipe.swift",
        "Script.swift"
      ],
      "target_dependencies" : [
        "Shwift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.