Build Information
Successful build of Shwift, reference 3.1.1 (d7be04
), with Swift 6.0 for Linux on 4 Nov 2024 14:50:43 UTC.
Swift 6 data race errors: 14
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/GeorgeLyon/Shwift.git
Reference: 3.1.1
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
* tag 3.1.1 -> FETCH_HEAD
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 3.1.1
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $PWD
https://github.com/GeorgeLyon/Shwift.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.0-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete 2>&1
basic-6.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/apple/swift-system
[1/3901] Fetching swift-system
Fetched https://github.com/apple/swift-system from cache (0.38s)
[1/12353] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (0.77s)
[1/71147] Fetching swift-nio
Fetched https://github.com/apple/swift-nio.git from cache (6.12s)
Computing version for https://github.com/apple/swift-system
Computed https://github.com/apple/swift-system at 1.4.0 (0.44s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.0 (0.45s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.76.1 (0.68s)
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/apple/swift-collections.git
[1/1569] Fetching swift-atomics
[1570/17044] Fetching swift-atomics, swift-collections
Fetched https://github.com/apple/swift-atomics.git from cache (1.14s)
Fetched https://github.com/apple/swift-collections.git from cache (1.16s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.2.0 (0.43s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.1.4 (0.74s)
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.2.0
Creating working copy for https://github.com/apple/swift-system
Working copy of https://github.com/apple/swift-system resolved at 1.4.0
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.76.1
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.1.4
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.0
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/48] Write sources
[10/48] Compiling CNIOWASI CNIOWASI.c
[10/48] Write sources
[14/48] Compiling CSystem shims.c
[14/48] Write sources
[17/48] Compiling CNIOWindows WSAStartup.c
[18/48] Compiling CNIOLinux liburing_shims.c
[19/48] Write sources
[22/48] Compiling CNIOWindows shim.c
[23/48] Compiling CNIODarwin shim.c
[24/48] Compiling _AtomicsShims.c
[25/48] Compiling CNIOLinux shim.c
[26/48] Write swift-version-24593BA9C3E375BF.txt
[28/120] Emitting module _NIOBase64
[29/120] Emitting module InternalCollectionsUtilities
[30/122] Emitting module SystemPackage
[30/125] Compiling c-nioatomics.c
[31/125] Compiling c-atomics.c
[33/131] Emitting module Atomics
[34/133] Emitting module NIOConcurrencyHelpers
[35/133] Compiling Atomics IntegerOperations.swift
[36/133] Compiling Atomics Unmanaged extensions.swift
[37/133] Compiling InternalCollectionsUtilities RandomAccessCollection+Offsets.swift
[38/133] Compiling InternalCollectionsUtilities Specialize.swift
[39/133] Compiling NIOConcurrencyHelpers NIOLockedValueBox.swift
[40/133] Compiling NIOConcurrencyHelpers NIOAtomic.swift
[41/133] Compiling _NIOBase64 Base64.swift
[42/133] Emitting module ArgumentParserToolInfo
[43/133] Compiling ArgumentParserToolInfo ToolInfo.swift
[44/135] Compiling SystemPackage FileHelpers.swift
[45/135] Compiling SystemPackage FileOperations.swift
[46/135] Compiling SystemPackage FilePathTemp.swift
[47/135] Compiling InternalCollectionsUtilities Debugging.swift
[48/135] Compiling SystemPackage Util+StringArray.swift
[49/135] Compiling SystemPackage Util.swift
[50/135] Compiling SystemPackage UtilConsumers.swift
[52/135] Compiling InternalCollectionsUtilities Descriptions.swift
[53/135] Compiling InternalCollectionsUtilities UnsafeBufferPointer+Extras.swift
[54/135] Compiling InternalCollectionsUtilities UnsafeMutableBufferPointer+Extras.swift
[55/135] Compiling SystemPackage MachPort.swift
[56/135] Compiling SystemPackage PlatformString.swift
[57/135] Compiling SystemPackage SystemString.swift
[58/135] Compiling SystemPackage FilePathComponentView.swift
[59/135] Compiling SystemPackage FilePathComponents.swift
[60/135] Compiling SystemPackage FilePathSyntax.swift
[62/135] Compiling _NIODataStructures PriorityQueue.swift
[63/135] Compiling _NIODataStructures _TinyArray.swift
[64/135] Compiling SystemPackage Errno.swift
[65/135] Compiling SystemPackage ErrnoWindows.swift
[66/135] Compiling SystemPackage FileDescriptor.swift
[69/135] Compiling SystemPackage FilePath.swift
[72/135] Compiling SystemPackage FilePathParsing.swift
[73/135] Compiling SystemPackage FilePathString.swift
[100/137] Wrapping AST for _NIOBase64 for debugging
[101/137] Wrapping AST for ArgumentParserToolInfo for debugging
[103/175] Wrapping AST for InternalCollectionsUtilities for debugging
[104/190] Wrapping AST for Atomics for debugging
[106/190] Compiling DequeModule Deque+CustomReflectable.swift
[107/190] Compiling DequeModule Deque+Descriptions.swift
[108/190] Compiling DequeModule Deque+Equatable.swift
[109/190] Compiling DequeModule Deque+ExpressibleByArrayLiteral.swift
[110/192] Compiling DequeModule _DequeBuffer.swift
[111/192] Compiling DequeModule _DequeBufferHeader.swift
[112/192] Compiling NIOConcurrencyHelpers NIOLock.swift
[113/192] Compiling _NIODataStructures Heap.swift
[114/192] Emitting module _NIODataStructures
[115/193] Compiling NIOConcurrencyHelpers atomics.swift
[116/193] Compiling NIOConcurrencyHelpers lock.swift
[117/194] Compiling ArgumentParser Option.swift
[118/194] Compiling ArgumentParser ExpressibleByArgument.swift
[119/194] Compiling ArgumentParser ParsableArguments.swift
[120/194] Compiling ArgumentParser ParsableArgumentsValidation.swift
[123/194] Compiling DequeModule _DequeSlot.swift
[124/194] Compiling DequeModule _UnsafeWrappedBuffer.swift
[125/194] Compiling ArgumentParser ParsableCommand.swift
[126/194] Compiling ArgumentParser ArgumentDecoder.swift
[127/194] Compiling ArgumentParser ArgumentDefinition.swift
[128/194] Compiling ArgumentParser ArgumentSet.swift
[133/195] Wrapping AST for _NIODataStructures for debugging
[134/195] Wrapping AST for NIOConcurrencyHelpers for debugging
[135/195] Wrapping AST for SystemPackage for debugging
[137/195] Compiling DequeModule Deque._UnsafeHandle.swift
[138/195] Compiling DequeModule Deque.swift
[139/195] Compiling DequeModule Deque+Extras.swift
[140/195] Compiling DequeModule Deque+Hashable.swift
[141/195] Compiling DequeModule Deque+Testing.swift
[142/195] Compiling DequeModule Deque._Storage.swift
[143/195] Compiling DequeModule Deque+Codable.swift
[144/195] Compiling DequeModule Deque+Collection.swift
[145/195] Emitting module DequeModule
[146/196] Wrapping AST for DequeModule for debugging
[148/256] Compiling NIOCore NIOAsyncSequenceProducer.swift
[149/256] Compiling NIOCore NIOAsyncSequenceProducerStrategies.swift
[150/256] Compiling NIOCore NIOAsyncWriter.swift
[151/256] Compiling NIOCore NIOThrowingAsyncSequenceProducer.swift
[152/256] Compiling NIOCore BSDSocketAPI.swift
[153/261] Compiling NIOCore ByteBuffer-aux.swift
[154/261] Compiling NIOCore ByteBuffer-binaryEncodedLengthPrefix.swift
[155/261] Compiling NIOCore ByteBuffer-conversions.swift
[156/261] Compiling NIOCore ByteBuffer-core.swift
[157/261] Compiling NIOCore ByteBuffer-hex.swift
[158/261] Compiling NIOCore ByteBuffer-int.swift
[159/261] Compiling NIOCore MulticastChannel.swift
[160/261] Compiling NIOCore NIOAny.swift
[161/261] Compiling NIOCore NIOCloseOnErrorHandler.swift
[162/261] Compiling NIOCore NIOLoopBound.swift
[163/261] Compiling NIOCore NIOScheduledCallback.swift
[164/261] Compiling NIOCore NIOSendable.swift
[165/261] Compiling NIOCore PointerHelpers.swift
[166/261] Compiling NIOCore RecvByteBufferAllocator.swift
[167/269] Compiling ArgumentParser CollectionExtensions.swift
[168/269] Compiling ArgumentParser Platform.swift
[169/269] Compiling ArgumentParser SequenceExtensions.swift
[170/269] Compiling ArgumentParser StringExtensions.swift
[171/269] Compiling ArgumentParser Tree.swift
[172/269] Compiling NIOCore AddressedEnvelope.swift
[173/269] Compiling NIOCore AsyncAwaitSupport.swift
[174/269] Compiling NIOCore AsyncChannel.swift
[175/269] Compiling NIOCore AsyncChannelHandler.swift
[176/269] Compiling NIOCore AsyncChannelInboundStream.swift
[177/269] Compiling NIOCore AsyncChannelOutboundWriter.swift
[178/269] Emitting module ArgumentParser
[179/269] Compiling NIOCore IO.swift
[180/269] Compiling NIOCore IOData.swift
[181/269] Compiling NIOCore IPProtocol.swift
[182/269] Compiling NIOCore IntegerBitPacking.swift
[183/269] Compiling NIOCore IntegerTypes.swift
[184/269] Compiling NIOCore Interfaces.swift
[185/269] Compiling NIOCore Linux.swift
[186/269] Compiling NIOCore MarkedCircularBuffer.swift
[187/269] Compiling NIOCore ChannelHandler.swift
[188/269] Compiling NIOCore ChannelHandlers.swift
[189/269] Compiling NIOCore ChannelInvoker.swift
[190/269] Compiling NIOCore ChannelOption.swift
[191/269] Compiling NIOCore ChannelPipeline.swift
[192/269] Compiling NIOCore ByteBuffer-lengthPrefix.swift
[193/269] Compiling NIOCore ByteBuffer-multi-int.swift
[194/269] Compiling NIOCore ByteBuffer-quicBinaryEncodingStrategy.swift
[195/269] Compiling NIOCore ByteBuffer-views.swift
[196/269] Compiling NIOCore Channel.swift
[197/269] Compiling NIOCore EventLoopFuture+AssumeIsolated.swift
[198/269] Compiling NIOCore EventLoopFuture+Deprecated.swift
[199/269] Compiling NIOCore EventLoopFuture+WithEventLoop.swift
[200/269] Compiling NIOCore EventLoopFuture.swift
[201/269] Compiling NIOCore FileDescriptor.swift
[202/269] Compiling NIOCore FileHandle.swift
[203/269] Compiling NIOCore FileRegion.swift
[204/269] Compiling NIOCore GlobalSingletons.swift
[205/269] Compiling NIOCore SingleStepByteToMessageDecoder.swift
[206/269] Compiling NIOCore SocketAddresses.swift
[207/269] Compiling NIOCore SocketOptionProvider.swift
[208/269] Compiling NIOCore SystemCallHelpers.swift
[209/269] Compiling NIOCore TimeAmount+Duration.swift
[210/269] Compiling NIOCore TypeAssistedChannelHandler.swift
[211/269] Compiling NIOCore UniversalBootstrapSupport.swift
[212/269] Compiling NIOCore Utilities.swift
[213/269] Compiling NIOCore CircularBuffer.swift
[214/269] Compiling NIOCore Codec.swift
[220/269] Compiling NIOCore EventLoop.swift
[240/270] Wrapping AST for ArgumentParser for debugging
[260/270] Emitting module NIOCore
[261/271] Wrapping AST for NIOCore for debugging
[263/323] Compiling NIOEmbedded AsyncTestingEventLoop.swift
[264/323] Emitting module NIOEmbedded
[265/323] Compiling NIOEmbedded Embedded.swift
[266/323] Compiling NIOEmbedded AsyncTestingChannel.swift
[267/324] Wrapping AST for NIOEmbedded for debugging
[269/324] Compiling NIOPosix Pool.swift
[270/324] Compiling NIOPosix PooledRecvBufferAllocator.swift
[271/324] Compiling NIOPosix PosixSingletons+ConcurrencyTakeOver.swift
[272/324] Compiling NIOPosix PosixSingletons.swift
[273/324] Compiling NIOPosix RawSocketBootstrap.swift
[274/324] Compiling NIOPosix Resolver.swift
[275/324] Compiling NIOPosix Selectable.swift
[276/330] Emitting module NIOPosix
[277/330] Compiling NIOPosix ThreadPosix.swift
[278/330] Compiling NIOPosix ThreadWindows.swift
[279/330] Compiling NIOPosix UnsafeTransfer.swift
[280/330] Compiling NIOPosix Utilities.swift
[281/330] Compiling NIOPosix VsockAddress.swift
[282/330] Compiling NIOPosix VsockChannelEvents.swift
[283/330] Compiling NIOPosix SelectableChannel.swift
[284/330] Compiling NIOPosix SelectableEventLoop.swift
[285/330] Compiling NIOPosix SelectorEpoll.swift
[286/330] Compiling NIOPosix SelectorGeneric.swift
[287/330] Compiling NIOPosix SelectorKqueue.swift
[288/330] Compiling NIOPosix SelectorUring.swift
[289/330] Compiling NIOPosix ServerSocket.swift
[290/330] Compiling NIOPosix Socket.swift
[291/330] Compiling NIOPosix SocketChannel.swift
[292/330] Compiling NIOPosix SocketProtocols.swift
[293/330] Compiling NIOPosix System.swift
[294/330] Compiling NIOPosix Thread.swift
[295/330] Compiling NIOPosix IO.swift
[296/330] Compiling NIOPosix IntegerBitPacking.swift
[297/330] Compiling NIOPosix IntegerTypes.swift
[298/330] Compiling NIOPosix Linux.swift
[299/330] Compiling NIOPosix LinuxCPUSet.swift
[300/330] Compiling NIOPosix LinuxUring.swift
[301/330] Compiling NIOPosix MultiThreadedEventLoopGroup.swift
[302/330] Compiling NIOPosix NIOThreadPool.swift
[303/330] Compiling NIOPosix NonBlockingFileIO.swift
[304/330] Compiling NIOPosix PendingDatagramWritesManager.swift
[305/330] Compiling NIOPosix PendingWritesManager.swift
[306/330] Compiling NIOPosix PipeChannel.swift
[307/330] Compiling NIOPosix PipePair.swift
[308/330] Compiling NIOPosix PointerHelpers.swift
[309/330] Compiling NIOPosix BSDSocketAPICommon.swift
[310/330] Compiling NIOPosix BSDSocketAPIPosix.swift
[311/330] Compiling NIOPosix BSDSocketAPIWindows.swift
[312/330] Compiling NIOPosix BaseSocket.swift
[313/330] Compiling NIOPosix BaseSocketChannel+SocketOptionProvider.swift
[314/330] Compiling NIOPosix BaseSocketChannel.swift
[315/330] Compiling NIOPosix BaseStreamSocketChannel.swift
[316/330] Compiling NIOPosix Bootstrap.swift
[317/330] Compiling NIOPosix ControlMessage.swift
[318/330] Compiling NIOPosix DatagramVectorReadManager.swift
[319/330] Compiling NIOPosix Errors+Any.swift
[320/330] Compiling NIOPosix FileDescriptor.swift
[321/330] Compiling NIOPosix GetaddrinfoResolver.swift
[322/330] Compiling NIOPosix HappyEyeballs.swift
[323/331] Wrapping AST for NIOPosix for debugging
[325/333] Emitting module NIO
[326/333] Compiling NIO Exports.swift
[327/334] Wrapping AST for NIO for debugging
[329/336] Emitting module _NIOConcurrency
[330/336] Compiling _NIOConcurrency Empty.swift
[331/337] Wrapping AST for _NIOConcurrency for debugging
[333/347] Compiling Shwift NIO Pipe Bootstrap.swift
/host/spi-builder-workspace/Sources/Shwift/Support/NIO Pipe Bootstrap.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
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:)'
15 | let output = try outputDescriptor.duplicate()
16 | do {
17 | return try await withPipes(
| |- warning: 'withPipes(inputDescriptor:outputDescriptor:)' is deprecated: renamed to 'takingOwnershipOfDescriptors(input:output:)'
| `- note: use 'takingOwnershipOfDescriptors(input:output:)' instead
18 | inputDescriptor: input.rawValue,
19 | outputDescriptor: output.rawValue
[334/347] Compiling Shwift Async Inbound Handler.swift
/host/spi-builder-workspace/Sources/Shwift/Support/Async Inbound Handler.swift:14:18: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
12 | }
13 | private func yield(_ event: Element) {
14 | continuation.yield(event)
| |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'event' is passed as a 'sending' parameter; Uses in callee may race with later task-isolated uses
15 | }
16 |
[335/347] Compiling Shwift File Descriptor.swift
[336/348] Compiling Shwift Posix Spawn.swift
[337/348] Compiling Shwift Pipe.swift
/host/spi-builder-workspace/Sources/Shwift/Pipe.swift:16:24: warning: sending 'source' risks causing data races; this is an error in the Swift 6 language mode
14 | async let sourceOutcome: SourceOutcome = {
15 | defer { try! pipe.writeEnd.close() }
16 | return try await source(pipe.writeEnd)
| |- warning: sending 'source' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'source' into async let risks causing data races between nonisolated and task-isolated uses
17 | }()
18 |
/host/spi-builder-workspace/Sources/Shwift/Pipe.swift:21:24: warning: sending 'destination' risks causing data races; this is an error in the Swift 6 language mode
19 | async let destinationOutcome: DestinationOutcome = {
20 | defer { try! pipe.readEnd.close() }
21 | return try await destination(pipe.readEnd)
| |- warning: sending 'destination' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'destination' into async let risks causing data races between nonisolated and task-isolated uses
22 | }()
23 |
[338/348] Compiling Shwift Environment.swift
/host/spi-builder-workspace/Sources/Shwift/Environment.swift:3:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | import SystemPackage
2 |
3 | @_implementationOnly import Foundation
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
4 |
5 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:11:21: warning: static property 'standardInput' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
4 | A value representing the input to a shell command
5 | */
6 | public struct Input {
| `- note: consider making struct 'Input' conform to the 'Sendable' protocol
7 |
8 | /**
9 | An `Input` corresponding to `stdin`
10 | */
11 | public static let standardInput = Input(kind: .standardInput)
| |- warning: static property 'standardInput' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'standardInput' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:16:21: warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
4 | A value representing the input to a shell command
5 | */
6 | public struct Input {
| `- note: consider making struct 'Input' conform to the 'Sendable' protocol
7 |
8 | /**
:
14 | An input roughly analogous to using the null device (`/dev/null`).
15 | */
16 | public static let nullDevice = Input(kind: .nullDevice)
| |- warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nullDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:70:21: warning: static property 'standardOutput' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
68 | An `Output` correpsonding to `stdout`
69 | */
70 | public static let standardOutput = Output(kind: .standardOutput)
| |- warning: static property 'standardOutput' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'standardOutput' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 |
72 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:75:21: warning: static property 'standardError' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
:
73 | An `Output` correpsonding to `stderr`
74 | */
75 | public static let standardError = Output(kind: .standardError)
| |- warning: static property 'standardError' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'standardError' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 |
77 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:80:21: warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
:
78 | An `Output` correpsonding to a null output device which drops any output it receives
79 | */
80 | public static let nullDevice = Output(kind: .nullDevice)
| |- warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nullDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
81 |
82 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:85:21: warning: static property 'fatalDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
:
83 | A special `Output` which aborts if any input is read.
84 | */
85 | public static let fatalDevice = Output(kind: .fatalDevice)
| |- warning: static property 'fatalDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'fatalDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 |
87 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:112:48: warning: non-sendable type '[(Output.Recorder.Source, String)]' in implicitly asynchronous access to actor-isolated property 'strings' cannot cross actor boundary; this is an error in the Swift 6 language mode
110 | public struct Recording {
111 | public func write<T: TextOutputStream>(to stream: inout T) async {
112 | for (source, buffer) in await recorder.strings {
| `- warning: non-sendable type '[(Output.Recorder.Source, String)]' in implicitly asynchronous access to actor-isolated property 'strings' cannot cross actor boundary; this is an error in the Swift 6 language mode
113 | if source == self.source {
114 | buffer.write(to: &stream)
:
141 | Which source to record data to
142 | */
143 | public enum Source {
| `- note: consider making enum 'Source' conform to the 'Sendable' protocol
144 | case output, error
145 | }
/host/spi-builder-workspace/Sources/Shwift/IO.swift:181:42: warning: sending 'recording.source' risks causing data races; this is an error in the Swift 6 language mode
179 | try await Builtin.withChannel(input: input, output: output, in: context) { channel in
180 | for try await buffer in channel.input.byteBuffers {
181 | await recording.recorder.record(String(buffer: buffer), from: recording.source)
| |- warning: sending 'recording.source' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'recording.source' to actor-isolated instance method 'record(_:from:)' risks causing data races between actor-isolated and task-isolated uses
182 | }
183 | }
[339/348] Compiling Shwift IO.swift
/host/spi-builder-workspace/Sources/Shwift/Environment.swift:3:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | import SystemPackage
2 |
3 | @_implementationOnly import Foundation
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
4 |
5 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:11:21: warning: static property 'standardInput' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
4 | A value representing the input to a shell command
5 | */
6 | public struct Input {
| `- note: consider making struct 'Input' conform to the 'Sendable' protocol
7 |
8 | /**
9 | An `Input` corresponding to `stdin`
10 | */
11 | public static let standardInput = Input(kind: .standardInput)
| |- warning: static property 'standardInput' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'standardInput' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:16:21: warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
4 | A value representing the input to a shell command
5 | */
6 | public struct Input {
| `- note: consider making struct 'Input' conform to the 'Sendable' protocol
7 |
8 | /**
:
14 | An input roughly analogous to using the null device (`/dev/null`).
15 | */
16 | public static let nullDevice = Input(kind: .nullDevice)
| |- warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nullDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:70:21: warning: static property 'standardOutput' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
68 | An `Output` correpsonding to `stdout`
69 | */
70 | public static let standardOutput = Output(kind: .standardOutput)
| |- warning: static property 'standardOutput' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'standardOutput' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 |
72 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:75:21: warning: static property 'standardError' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
:
73 | An `Output` correpsonding to `stderr`
74 | */
75 | public static let standardError = Output(kind: .standardError)
| |- warning: static property 'standardError' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'standardError' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 |
77 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:80:21: warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
:
78 | An `Output` correpsonding to a null output device which drops any output it receives
79 | */
80 | public static let nullDevice = Output(kind: .nullDevice)
| |- warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nullDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
81 |
82 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:85:21: warning: static property 'fatalDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
:
83 | A special `Output` which aborts if any input is read.
84 | */
85 | public static let fatalDevice = Output(kind: .fatalDevice)
| |- warning: static property 'fatalDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'fatalDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 |
87 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:112:48: warning: non-sendable type '[(Output.Recorder.Source, String)]' in implicitly asynchronous access to actor-isolated property 'strings' cannot cross actor boundary; this is an error in the Swift 6 language mode
110 | public struct Recording {
111 | public func write<T: TextOutputStream>(to stream: inout T) async {
112 | for (source, buffer) in await recorder.strings {
| `- warning: non-sendable type '[(Output.Recorder.Source, String)]' in implicitly asynchronous access to actor-isolated property 'strings' cannot cross actor boundary; this is an error in the Swift 6 language mode
113 | if source == self.source {
114 | buffer.write(to: &stream)
:
141 | Which source to record data to
142 | */
143 | public enum Source {
| `- note: consider making enum 'Source' conform to the 'Sendable' protocol
144 | case output, error
145 | }
/host/spi-builder-workspace/Sources/Shwift/IO.swift:181:42: warning: sending 'recording.source' risks causing data races; this is an error in the Swift 6 language mode
179 | try await Builtin.withChannel(input: input, output: output, in: context) { channel in
180 | for try await buffer in channel.input.byteBuffers {
181 | await recording.recorder.record(String(buffer: buffer), from: recording.source)
| |- warning: sending 'recording.source' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'recording.source' to actor-isolated instance method 'record(_:from:)' risks causing data races between actor-isolated and task-isolated uses
182 | }
183 | }
[340/348] Compiling Shwift Process.swift
/host/spi-builder-workspace/Sources/Shwift/Process.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
2 | import SystemPackage
3 |
/host/spi-builder-workspace/Sources/Shwift/Process.swift:83:9: warning: capture of 'process' with non-sendable type 'Process' in a `@Sendable` closure; this is an error in the Swift 6 language mode
5 | A value which represents a child process
6 | */
7 | public struct Process {
| `- note: consider making struct 'Process' conform to the 'Sendable' protocol
8 |
9 | /**
:
81 | }
82 | } onCancel: {
83 | process.terminate()
| `- warning: capture of 'process' with non-sendable type 'Process' in a `@Sendable` closure; this is an error in the Swift 6 language mode
84 | }
85 | }
/host/spi-builder-workspace/Sources/Shwift/Process.swift:71:17: 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
69 | }
70 | }
71 | return 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
72 | try await withTaskCancellationHandler {
73 | try await monitor.wait()
74 | logger?.willWait(on: process)
75 | do {
76 | try await process.wait(in: context)
| `- note: closure captures 'context' which is accessible to code in the current task
77 | logger?.process(process, didTerminateWithError: nil)
78 | } catch {
[341/348] Emitting module Shwift
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
2 | import SystemPackage
3 | @_implementationOnly import _NIOConcurrency
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:3:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
2 | import SystemPackage
3 | @_implementationOnly import _NIOConcurrency
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
4 |
5 | /**
/host/spi-builder-workspace/Sources/Shwift/Context.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
2 |
3 | import SystemPackage
/host/spi-builder-workspace/Sources/Shwift/Environment.swift:3:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | import SystemPackage
2 |
3 | @_implementationOnly import Foundation
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
4 |
5 | /**
/host/spi-builder-workspace/Sources/Shwift/Process.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
2 | import SystemPackage
3 |
/host/spi-builder-workspace/Sources/Shwift/Support/NIO Pipe Bootstrap.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
2 | import SystemPackage
3 |
/host/spi-builder-workspace/Sources/Shwift/IO.swift:11:21: warning: static property 'standardInput' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
4 | A value representing the input to a shell command
5 | */
6 | public struct Input {
| `- note: consider making struct 'Input' conform to the 'Sendable' protocol
7 |
8 | /**
9 | An `Input` corresponding to `stdin`
10 | */
11 | public static let standardInput = Input(kind: .standardInput)
| |- warning: static property 'standardInput' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'standardInput' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 |
13 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:16:21: warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
4 | A value representing the input to a shell command
5 | */
6 | public struct Input {
| `- note: consider making struct 'Input' conform to the 'Sendable' protocol
7 |
8 | /**
:
14 | An input roughly analogous to using the null device (`/dev/null`).
15 | */
16 | public static let nullDevice = Input(kind: .nullDevice)
| |- warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nullDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:70:21: warning: static property 'standardOutput' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
68 | An `Output` correpsonding to `stdout`
69 | */
70 | public static let standardOutput = Output(kind: .standardOutput)
| |- warning: static property 'standardOutput' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'standardOutput' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 |
72 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:75:21: warning: static property 'standardError' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
:
73 | An `Output` correpsonding to `stderr`
74 | */
75 | public static let standardError = Output(kind: .standardError)
| |- warning: static property 'standardError' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'standardError' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
76 |
77 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:80:21: warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
:
78 | An `Output` correpsonding to a null output device which drops any output it receives
79 | */
80 | public static let nullDevice = Output(kind: .nullDevice)
| |- warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nullDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
81 |
82 | /**
/host/spi-builder-workspace/Sources/Shwift/IO.swift:85:21: warning: static property 'fatalDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
:
83 | A special `Output` which aborts if any input is read.
84 | */
85 | public static let fatalDevice = Output(kind: .fatalDevice)
| |- warning: static property 'fatalDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'fatalDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
86 |
87 | /**
[342/348] Compiling Shwift Builtins.swift
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
2 | import SystemPackage
3 | @_implementationOnly import _NIOConcurrency
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:3:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
2 | import SystemPackage
3 | @_implementationOnly import _NIOConcurrency
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
4 |
5 | /**
/host/spi-builder-workspace/Sources/Shwift/Context.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
2 |
3 | import SystemPackage
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:29:44: warning: capture of 'handler' with non-sendable type 'AsyncInboundHandler<ByteBuffer>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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:48:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | /// Call `read` only if we access the byte buffers
47 | context.eventLoop.execute {
48 | context.read()
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | }
50 | return nil
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 | // visible for ChannelPipeline to modify
1509 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:55:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
53 | case .channelReadComplete(let context):
54 | context.eventLoop.execute {
55 | context.read()
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
56 | }
57 | return nil
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 | // visible for ChannelPipeline to modify
1509 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:227:10: warning: type 'NIOFileHandle' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
225 | eventLoop: eventLoop
226 | )
227 | .get()
| `- warning: type 'NIOFileHandle' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
228 | let result: Result<Void, Error>
229 | do {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/FileHandle.swift:47:20: note: class 'NIOFileHandle' does not conform to the 'Sendable' protocol
45 | ///
46 | /// - warning: `NIOFileHandle` objects are not thread-safe and are mutable. They also cannot be fully thread-safe as they refer to a global underlying file descriptor.
47 | public final class NIOFileHandle: FileDescriptor {
| `- note: class 'NIOFileHandle' does not conform to the 'Sendable' protocol
48 | public private(set) var isOpen: Bool
49 | private let descriptor: CInt
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:1:22: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
1 | @_implementationOnly import NIO
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
2 | import SystemPackage
3 | @_implementationOnly import _NIOConcurrency
/host/spi-builder-workspace/Sources/Shwift/IO.swift:16:21: warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
4 | A value representing the input to a shell command
5 | */
6 | public struct Input {
| `- note: consider making struct 'Input' conform to the 'Sendable' protocol
7 |
8 | /**
:
14 | An input roughly analogous to using the null device (`/dev/null`).
15 | */
16 | public static let nullDevice = Input(kind: .nullDevice)
| |- warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nullDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /**
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:238:19: warning: capture of 'output' with non-sendable type 'Builtin.Output' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
239 | }
240 | )
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:272:10: warning: type 'NIOFileHandle' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
270 | eventLoop: eventLoop
271 | )
272 | .get()
| `- warning: type 'NIOFileHandle' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
273 | let result: Result<Void, Error>
274 | do {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/FileHandle.swift:47:20: note: class 'NIOFileHandle' does not conform to the 'Sendable' protocol
45 | ///
46 | /// - warning: `NIOFileHandle` objects are not thread-safe and are mutable. They also cannot be fully thread-safe as they refer to a global underlying file descriptor.
47 | public final class NIOFileHandle: FileDescriptor {
| `- note: class 'NIOFileHandle' does not conform to the 'Sendable' protocol
48 | public private(set) var isOpen: Bool
49 | private let descriptor: CInt
/host/spi-builder-workspace/Sources/Shwift/IO.swift:80:21: warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
:
78 | An `Output` correpsonding to a null output device which drops any output it receives
79 | */
80 | public static let nullDevice = Output(kind: .nullDevice)
| |- warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nullDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
81 |
82 | /**
/host/spi-builder-workspace/Sources/Shwift/Context.swift:93:48: warning: capture of 'handler' with non-sendable type 'Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 | }
73 |
74 | private actor ChannelOutputDevice<Handler: ChannelInboundHandler> {
| `- note: consider making generic parameter 'Handler' conform to the 'Sendable' protocol
75 | init(handler: Handler) {
76 | self.handler = handler
:
91 | let channel = try await NIOPipeBootstrap(group: group)
92 | .channelInitializer { channel in
93 | return channel.pipeline.addHandler(handler)
| `- warning: capture of 'handler' with non-sendable type 'Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
94 | }
95 | .duplicating(
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:119:29: 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
117 | public func makeAsyncIterator() -> AsyncIterator {
118 | let stream = AsyncThrowingStream<String, Error> { continuation in
119 | Task<Void, Never> {
| `- 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
120 | do {
121 | var remainder: String = ""
122 | for try await buffer in byteBuffers {
| `- note: closure captures 'self' which is accessible to code in the current task
123 | let readString = buffer.getString(
124 | at: buffer.readerIndex,
/host/spi-builder-workspace/Sources/Shwift/Context.swift:89:74: warning: sending 'self'-isolated value of type '((readEnd: FileDescriptor, writeEnd: FileDescriptor)) async throws -> (any Channel, FileDescriptor)' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
87 | let channel: Channel
88 | let fileDescriptor: SystemPackage.FileDescriptor
89 | (channel, fileDescriptor) = try await SystemPackage.FileDescriptor.withPipe {
| `- warning: sending 'self'-isolated value of type '((readEnd: FileDescriptor, writeEnd: FileDescriptor)) async throws -> (any Channel, FileDescriptor)' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
90 | [handler] pipe in
91 | let channel = try await NIOPipeBootstrap(group: group)
[343/348] Compiling Shwift Context.swift
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
2 | import SystemPackage
3 | @_implementationOnly import _NIOConcurrency
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:3:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
2 | import SystemPackage
3 | @_implementationOnly import _NIOConcurrency
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
4 |
5 | /**
/host/spi-builder-workspace/Sources/Shwift/Context.swift:1:22: warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
1 | @_implementationOnly import NIO
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Shwift' may lead to instability during execution
2 |
3 | import SystemPackage
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:29:44: warning: capture of 'handler' with non-sendable type 'AsyncInboundHandler<ByteBuffer>' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
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:48:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
46 | /// Call `read` only if we access the byte buffers
47 | context.eventLoop.execute {
48 | context.read()
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
49 | }
50 | return nil
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 | // visible for ChannelPipeline to modify
1509 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:55:13: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
53 | case .channelReadComplete(let context):
54 | context.eventLoop.execute {
55 | context.read()
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a `@Sendable` closure; this is an error in the Swift 6 language mode
56 | }
57 | return nil
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1507:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1505 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1506 | /// `ChannelHandler`.
1507 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1508 | // visible for ChannelPipeline to modify
1509 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:227:10: warning: type 'NIOFileHandle' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
225 | eventLoop: eventLoop
226 | )
227 | .get()
| `- warning: type 'NIOFileHandle' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
228 | let result: Result<Void, Error>
229 | do {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/FileHandle.swift:47:20: note: class 'NIOFileHandle' does not conform to the 'Sendable' protocol
45 | ///
46 | /// - warning: `NIOFileHandle` objects are not thread-safe and are mutable. They also cannot be fully thread-safe as they refer to a global underlying file descriptor.
47 | public final class NIOFileHandle: FileDescriptor {
| `- note: class 'NIOFileHandle' does not conform to the 'Sendable' protocol
48 | public private(set) var isOpen: Bool
49 | private let descriptor: CInt
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:1:22: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
1 | @_implementationOnly import NIO
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
2 | import SystemPackage
3 | @_implementationOnly import _NIOConcurrency
/host/spi-builder-workspace/Sources/Shwift/IO.swift:16:21: warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
4 | A value representing the input to a shell command
5 | */
6 | public struct Input {
| `- note: consider making struct 'Input' conform to the 'Sendable' protocol
7 |
8 | /**
:
14 | An input roughly analogous to using the null device (`/dev/null`).
15 | */
16 | public static let nullDevice = Input(kind: .nullDevice)
| |- warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Input' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nullDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 |
18 | /**
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:238:19: warning: capture of 'output' with non-sendable type 'Builtin.Output' in a `@Sendable` closure; this is an error in the Swift 6 language mode
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; this is an error in the Swift 6 language mode
239 | }
240 | )
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:272:10: warning: type 'NIOFileHandle' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
270 | eventLoop: eventLoop
271 | )
272 | .get()
| `- warning: type 'NIOFileHandle' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
273 | let result: Result<Void, Error>
274 | do {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/FileHandle.swift:47:20: note: class 'NIOFileHandle' does not conform to the 'Sendable' protocol
45 | ///
46 | /// - warning: `NIOFileHandle` objects are not thread-safe and are mutable. They also cannot be fully thread-safe as they refer to a global underlying file descriptor.
47 | public final class NIOFileHandle: FileDescriptor {
| `- note: class 'NIOFileHandle' does not conform to the 'Sendable' protocol
48 | public private(set) var isOpen: Bool
49 | private let descriptor: CInt
/host/spi-builder-workspace/Sources/Shwift/IO.swift:80:21: warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
63 | A value representing the output of a shell command
64 | */
65 | public struct Output {
| `- note: consider making struct 'Output' conform to the 'Sendable' protocol
66 |
67 | /**
:
78 | An `Output` correpsonding to a null output device which drops any output it receives
79 | */
80 | public static let nullDevice = Output(kind: .nullDevice)
| |- warning: static property 'nullDevice' is not concurrency-safe because non-'Sendable' type 'Output' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'nullDevice' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
81 |
82 | /**
/host/spi-builder-workspace/Sources/Shwift/Context.swift:93:48: warning: capture of 'handler' with non-sendable type 'Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
72 | }
73 |
74 | private actor ChannelOutputDevice<Handler: ChannelInboundHandler> {
| `- note: consider making generic parameter 'Handler' conform to the 'Sendable' protocol
75 | init(handler: Handler) {
76 | self.handler = handler
:
91 | let channel = try await NIOPipeBootstrap(group: group)
92 | .channelInitializer { channel in
93 | return channel.pipeline.addHandler(handler)
| `- warning: capture of 'handler' with non-sendable type 'Handler' in a `@Sendable` closure; this is an error in the Swift 6 language mode
94 | }
95 | .duplicating(
/host/spi-builder-workspace/Sources/Shwift/Builtins.swift:119:29: 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
117 | public func makeAsyncIterator() -> AsyncIterator {
118 | let stream = AsyncThrowingStream<String, Error> { continuation in
119 | Task<Void, Never> {
| `- 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
120 | do {
121 | var remainder: String = ""
122 | for try await buffer in byteBuffers {
| `- note: closure captures 'self' which is accessible to code in the current task
123 | let readString = buffer.getString(
124 | at: buffer.readerIndex,
/host/spi-builder-workspace/Sources/Shwift/Context.swift:89:74: warning: sending 'self'-isolated value of type '((readEnd: FileDescriptor, writeEnd: FileDescriptor)) async throws -> (any Channel, FileDescriptor)' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
87 | let channel: Channel
88 | let fileDescriptor: SystemPackage.FileDescriptor
89 | (channel, fileDescriptor) = try await SystemPackage.FileDescriptor.withPipe {
| `- warning: sending 'self'-isolated value of type '((readEnd: FileDescriptor, writeEnd: FileDescriptor)) async throws -> (any Channel, FileDescriptor)' with later accesses to nonisolated context risks causing data races; this is an error in the Swift 6 language mode
90 | [handler] pipe in
91 | let channel = try await NIOPipeBootstrap(group: group)
[344/349] Wrapping AST for Shwift for debugging
[346/357] Compiling Script Output Capture.swift
[347/357] Compiling Script Builtins.swift
[348/357] Emitting module Script
/host/spi-builder-workspace/Sources/Script/File Operations.swift:3:22: warning: using '@_implementationOnly' without enabling library evolution for 'Script' may lead to instability during execution
1 | import Shwift
2 | import SystemPackage
3 | @_implementationOnly import Foundation
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Script' may lead to instability during execution
4 |
5 | // MARK: - Operators
/host/spi-builder-workspace/Sources/Script/Script.swift:5:22: warning: using '@_implementationOnly' without enabling library evolution for 'Script' may lead to instability during execution
3 | import SystemPackage
4 |
5 | @_implementationOnly import class Foundation.FileManager
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Script' may lead to instability during execution
6 |
7 | /**
macro expansion @TaskLocal:1:24: warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<Shell?>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:258:43: note: expanded code originates here
188 | // MARK: - Shell
189 |
190 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
191 |
192 | public init(
:
256 |
257 | @TaskLocal
258 | fileprivate static var taskLocal: Shell!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $taskLocal: TaskLocal<Shell?> = TaskLocal(wrappedValue: nil)
| | |- warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<Shell?>' may have shared mutable state; this is an error in the Swift 6 language mode
| | |- note: annotate '$taskLocal' with '@MainActor' if property should only be accessed from the main actor
| | `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
+-------------------------------------------------------------------
259 |
260 | @TaskLocal
macro expansion @TaskLocal:1:24: warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:258:43: note: expanded code originates here
188 | // MARK: - Shell
189 |
190 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
191 |
192 | public init(
:
256 |
257 | @TaskLocal
258 | fileprivate static var taskLocal: Shell!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $taskLocal: TaskLocal<Shell?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
259 |
260 | @TaskLocal
macro expansion @TaskLocal:1:56: warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:258:43: note: expanded code originates here
188 | // MARK: - Shell
189 |
190 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
191 |
192 | public init(
:
256 |
257 | @TaskLocal
258 | fileprivate static var taskLocal: Shell!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $taskLocal: TaskLocal<Shell?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
259 |
260 | @TaskLocal
macro expansion @TaskLocal:1:56: warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:258:43: note: expanded code originates here
188 | // MARK: - Shell
189 |
190 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
191 |
192 | public init(
:
256 |
257 | @TaskLocal
258 | fileprivate static var taskLocal: Shell!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $taskLocal: TaskLocal<Shell?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
259 |
260 | @TaskLocal
macro expansion @TaskLocal:1:24: warning: static property '$hostScript' is not concurrency-safe because non-'Sendable' type 'TaskLocal<(any Script)?>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:261:45: note: expanded code originates here
17 | // MARK: - Script
18 |
19 | public protocol Script: ParsableCommand {
| `- note: protocol 'Script' does not conform to the 'Sendable' protocol
20 | func run() async throws
21 |
:
259 |
260 | @TaskLocal
261 | fileprivate static var hostScript: Script!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $hostScript: TaskLocal<Script?> = TaskLocal(wrappedValue: nil)
| | |- warning: static property '$hostScript' is not concurrency-safe because non-'Sendable' type 'TaskLocal<(any Script)?>' may have shared mutable state; this is an error in the Swift 6 language mode
| | |- note: annotate '$hostScript' with '@MainActor' if property should only be accessed from the main actor
| | `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
+-------------------------------------------------------------------
262 |
263 | }
macro expansion @TaskLocal:1:24: warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:261:45: note: expanded code originates here
17 | // MARK: - Script
18 |
19 | public protocol Script: ParsableCommand {
| `- note: protocol 'Script' does not conform to the 'Sendable' protocol
20 | func run() async throws
21 |
:
259 |
260 | @TaskLocal
261 | fileprivate static var hostScript: Script!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $hostScript: TaskLocal<Script?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
262 |
263 | }
macro expansion @TaskLocal:1:58: warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:261:45: note: expanded code originates here
17 | // MARK: - Script
18 |
19 | public protocol Script: ParsableCommand {
| `- note: protocol 'Script' does not conform to the 'Sendable' protocol
20 | func run() async throws
21 |
:
259 |
260 | @TaskLocal
261 | fileprivate static var hostScript: Script!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $hostScript: TaskLocal<Script?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
262 |
263 | }
macro expansion @TaskLocal:1:58: warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:261:45: note: expanded code originates here
17 | // MARK: - Script
18 |
19 | public protocol Script: ParsableCommand {
| `- note: protocol 'Script' does not conform to the 'Sendable' protocol
20 | func run() async throws
21 |
:
259 |
260 | @TaskLocal
261 | fileprivate static var hostScript: Script!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $hostScript: TaskLocal<Script?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
262 |
263 | }
[349/357] Compiling Script Executable.swift
[350/357] Compiling Script List Comprehensions.swift
[351/357] Compiling Script File Operations.swift
/host/spi-builder-workspace/Sources/Script/File Operations.swift:3:22: warning: using '@_implementationOnly' without enabling library evolution for 'Script' may lead to instability during execution
1 | import Shwift
2 | import SystemPackage
3 | @_implementationOnly import Foundation
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Script' may lead to instability during execution
4 |
5 | // MARK: - Operators
[352/357] Compiling Script Script.swift
/host/spi-builder-workspace/Sources/Script/Script.swift:5:22: warning: using '@_implementationOnly' without enabling library evolution for 'Script' may lead to instability during execution
3 | import SystemPackage
4 |
5 | @_implementationOnly import class Foundation.FileManager
| `- warning: using '@_implementationOnly' without enabling library evolution for 'Script' may lead to instability during execution
6 |
7 | /**
macro expansion @TaskLocal:1:24: warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<Shell?>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:258:43: note: expanded code originates here
188 | // MARK: - Shell
189 |
190 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
191 |
192 | public init(
:
256 |
257 | @TaskLocal
258 | fileprivate static var taskLocal: Shell!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $taskLocal: TaskLocal<Shell?> = TaskLocal(wrappedValue: nil)
| | |- warning: static property '$taskLocal' is not concurrency-safe because non-'Sendable' type 'TaskLocal<Shell?>' may have shared mutable state; this is an error in the Swift 6 language mode
| | |- note: annotate '$taskLocal' with '@MainActor' if property should only be accessed from the main actor
| | `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
+-------------------------------------------------------------------
259 |
260 | @TaskLocal
macro expansion @TaskLocal:1:24: warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:258:43: note: expanded code originates here
188 | // MARK: - Shell
189 |
190 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
191 |
192 | public init(
:
256 |
257 | @TaskLocal
258 | fileprivate static var taskLocal: Shell!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $taskLocal: TaskLocal<Shell?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
259 |
260 | @TaskLocal
macro expansion @TaskLocal:1:56: warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:258:43: note: expanded code originates here
188 | // MARK: - Shell
189 |
190 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
191 |
192 | public init(
:
256 |
257 | @TaskLocal
258 | fileprivate static var taskLocal: Shell!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $taskLocal: TaskLocal<Shell?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
259 |
260 | @TaskLocal
macro expansion @TaskLocal:1:56: warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:258:43: note: expanded code originates here
188 | // MARK: - Shell
189 |
190 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
191 |
192 | public init(
:
256 |
257 | @TaskLocal
258 | fileprivate static var taskLocal: Shell!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $taskLocal: TaskLocal<Shell?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
259 |
260 | @TaskLocal
macro expansion @TaskLocal:1:24: warning: static property '$hostScript' is not concurrency-safe because non-'Sendable' type 'TaskLocal<(any Script)?>' may have shared mutable state; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:261:45: note: expanded code originates here
17 | // MARK: - Script
18 |
19 | public protocol Script: ParsableCommand {
| `- note: protocol 'Script' does not conform to the 'Sendable' protocol
20 | func run() async throws
21 |
:
259 |
260 | @TaskLocal
261 | fileprivate static var hostScript: Script!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $hostScript: TaskLocal<Script?> = TaskLocal(wrappedValue: nil)
| | |- warning: static property '$hostScript' is not concurrency-safe because non-'Sendable' type 'TaskLocal<(any Script)?>' may have shared mutable state; this is an error in the Swift 6 language mode
| | |- note: annotate '$hostScript' with '@MainActor' if property should only be accessed from the main actor
| | `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
+-------------------------------------------------------------------
262 |
263 | }
macro expansion @TaskLocal:1:24: warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:261:45: note: expanded code originates here
17 | // MARK: - Script
18 |
19 | public protocol Script: ParsableCommand {
| `- note: protocol 'Script' does not conform to the 'Sendable' protocol
20 | func run() async throws
21 |
:
259 |
260 | @TaskLocal
261 | fileprivate static var hostScript: Script!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $hostScript: TaskLocal<Script?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
262 |
263 | }
macro expansion @TaskLocal:1:58: warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:261:45: note: expanded code originates here
17 | // MARK: - Script
18 |
19 | public protocol Script: ParsableCommand {
| `- note: protocol 'Script' does not conform to the 'Sendable' protocol
20 | func run() async throws
21 |
:
259 |
260 | @TaskLocal
261 | fileprivate static var hostScript: Script!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $hostScript: TaskLocal<Script?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
262 |
263 | }
macro expansion @TaskLocal:1:58: warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:261:45: note: expanded code originates here
17 | // MARK: - Script
18 |
19 | public protocol Script: ParsableCommand {
| `- note: protocol 'Script' does not conform to the 'Sendable' protocol
20 | func run() async throws
21 |
:
259 |
260 | @TaskLocal
261 | fileprivate static var hostScript: Script!
+--- macro expansion @TaskLocal ------------------------------------
|1 | fileprivate static let $hostScript: TaskLocal<Script?> = TaskLocal(wrappedValue: nil)
| | `- warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
+-------------------------------------------------------------------
262 |
263 | }
/host/spi-builder-workspace/Sources/Script/Script.swift:159:37: warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
17 | // MARK: - Script
18 |
19 | public protocol Script: ParsableCommand {
| `- note: protocol 'Script' does not conform to the 'Sendable' protocol
20 | func run() async throws
21 |
:
157 | do {
158 | let shell = self.rootShell
159 | try await Shell.$hostScript.withValue(self) {
| `- warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
160 | try await Shell.$taskLocal.withValue(shell) {
161 | try await self.wrapInvocation {
/host/spi-builder-workspace/Sources/Script/Script.swift:160:38: warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
158 | let shell = self.rootShell
159 | try await Shell.$hostScript.withValue(self) {
160 | try await Shell.$taskLocal.withValue(shell) {
| `- warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
161 | try await self.wrapInvocation {
162 | try await run()
:
188 | // MARK: - Shell
189 |
190 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
191 |
192 | public init(
macro expansion @TaskLocal:3:20: warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:258:43: note: expanded code originates here
188 | // MARK: - Shell
189 |
190 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
191 |
192 | public init(
:
256 |
257 | @TaskLocal
258 | fileprivate static var taskLocal: Shell!
+--- macro expansion @TaskLocal ------------------------------------
|1 | {
|2 | get {
|3 | $taskLocal.get()
| | `- warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
|4 | }
|5 | }
+-------------------------------------------------------------------
259 |
260 | @TaskLocal
macro expansion @TaskLocal:3:21: warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
`- /host/spi-builder-workspace/Sources/Script/Script.swift:261:45: note: expanded code originates here
17 | // MARK: - Script
18 |
19 | public protocol Script: ParsableCommand {
| `- note: protocol 'Script' does not conform to the 'Sendable' protocol
20 | func run() async throws
21 |
:
259 |
260 | @TaskLocal
261 | fileprivate static var hostScript: Script!
+--- macro expansion @TaskLocal ------------------------------------
|1 | {
|2 | get {
|3 | $hostScript.get()
| | `- warning: type 'any Script' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
|4 | }
|5 | }
+-------------------------------------------------------------------
262 |
263 | }
/host/spi-builder-workspace/Sources/Script/Script.swift:291:37: warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
188 | // MARK: - Shell
189 |
190 | public struct Shell {
| `- note: consider making struct 'Shell' conform to the 'Sendable' protocol
191 |
192 | public init(
:
289 | shell.standardError = standardError
290 | }
291 | return try await Shell.$taskLocal.withValue(shell, operation: operation)
| `- warning: type 'Shell' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
292 | }
293 |
/host/spi-builder-workspace/Sources/Script/Script.swift:155:10: 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
153 | let box = ErrorBox()
154 | let sem = DispatchSemaphore(value: 0)
155 | 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
156 | defer { sem.signal() }
157 | do {
158 | let shell = self.rootShell
| `- note: closure captures non-Sendable 'self'
159 | try await Shell.$hostScript.withValue(self) {
160 | try await Shell.$taskLocal.withValue(shell) {
:
166 | } catch Process.TerminationError.nonzeroTerminationStatus(let status) {
167 | /// Convert `Shell` error into one that `ArgumentParser` understands
168 | box.error = ExitCode(rawValue: status)
| `- note: closure captures non-Sendable 'box'
169 | } catch let error as SystemPackage.Errno {
170 | /// Convert `SystemPackage` error into one that `ArgumentParser` understands
[353/357] Compiling Script Pipe.swift
[354/358] Wrapping AST for Script for debugging
[356/360] Emitting module ScriptExample
[357/360] Compiling ScriptExample Main.swift
/host/spi-builder-workspace/Sources/ScriptExample/Main.swift:57:29: 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
55 | for j in 0..<50 {
56 | print("(i, j) = (\(i), \(j))")
57 | group.addTask {
| `- 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
58 | try await echo("\(i),\(j):", "Foo", "Bar") | sed("s/Bar/Baz/")
| `- note: closure captures 'sed' which is accessible to code in the current task
59 | | map { $0.replacingOccurrences(of: "Baz", with: "Baz!") }
60 | return (i, j)
[358/361] Wrapping AST for ScriptExample for debugging
[359/361] Write Objects.LinkFileList
[360/361] Linking ScriptExample
Build complete! (95.78s)
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.0-latest: Pulling from finestructure/spi-images
Digest: sha256:47d26c99ca4f1ac0a332c85fd5b13ff4390e72115219984a57a68fe9d1063a05
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.0-latest
Done.