Build Information
Successful build of SwiftSlash, reference 3.4.0 (dbcd79
), with Swift 6.0 for Linux on 29 Nov 2024 07:28:50 UTC.
Swift 6 data race errors: 1
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
Build Log
========================================
RunAll
========================================
Builder version: 4.58.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/tannerdsilva/SwiftSlash.git
Reference: 3.4.0
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/tannerdsilva/SwiftSlash
* tag 3.4.0 -> FETCH_HEAD
HEAD is now at dbcd791 Improved Command struct API and documentation
Cloned https://github.com/tannerdsilva/SwiftSlash.git
Revision (git rev-parse @):
dbcd79125918644c348471853ef5332d650548db
SUCCESS checkout https://github.com/tannerdsilva/SwiftSlash.git at 3.4.0
========================================
Build
========================================
Selected platform: linux
Swift version: 6.0
Building package at path: $PWD
https://github.com/tannerdsilva/SwiftSlash.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-2":/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 -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures 2>&1
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
Building for debugging...
[0/3] Write sources
[1/3] Compiling ClibSwiftSlash libswiftslash.c
[2/3] Write swift-version-24593BA9C3E375BF.txt
[4/17] Compiling SwiftSlash BufferedLineParser.swift
[5/17] Compiling SwiftSlash EventTrigger.swift
[6/17] Compiling SwiftSlash PosixBasics.swift
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:230:20: warning: sending 'self'-isolated value of type 'DataChannel.Outbound' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
228 | fhWritersToDeregisterIfThrown.update(with:newPipe.writing)
229 | enabledWriters.update(with:newPipe)
230 | let newOut = OutboundChannelState(channel:curOut.value)
| `- warning: sending 'self'-isolated value of type 'DataChannel.Outbound' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
231 | buildOut[curOut.key] = newOut
232 | _ = self.writerTrigger.updateValue(newOut.continuation, forKey:newPipe.writing)
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:264:19: warning: sending 'parseMode' risks causing data races; this is an error in the Swift 6 language mode
262 | readPipes[curIn.key] = newPipe
263 | enabledReaders.update(with:newPipe)
264 | let newIn = InboundChannelState(mode:parseMode, continuation:curIn.value.continuation)
| |- warning: sending 'parseMode' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'parseMode' to actor-isolated callee risks causing data races between actor-isolated and 'self'-isolated uses
265 | buildIn[curIn.key] = newIn
266 | _ = self.readerTrigger.updateValue(newIn.eventContinuation, forKey:newPipe.reading)
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:384:124: warning: sending 'writables' risks causing data races; this is an error in the Swift 6 language mode
381 | do {
382 | if utilized > threshold {
383 | let result:pid_t = try await withUnsafeThrowingContinuation { exitCont in
| `- note: access can happen concurrently
384 | self.pendingLaunchPackages.append(PackagedLaunch(interface:interface, path:path, args:args, wd:wd, env:env, writables:writables, readables:readables, exitContinuation:exitCont))
| |- warning: sending 'writables' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'writables' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
385 | }
386 | try await taskGroup.waitForAll()
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:384:145: warning: sending 'readables' risks causing data races; this is an error in the Swift 6 language mode
382 | if utilized > threshold {
383 | let result:pid_t = try await withUnsafeThrowingContinuation { exitCont in
384 | self.pendingLaunchPackages.append(PackagedLaunch(interface:interface, path:path, args:args, wd:wd, env:env, writables:writables, readables:readables, exitContinuation:exitCont))
| |- warning: sending 'readables' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'readables' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
385 | }
386 | try await taskGroup.waitForAll()
| `- note: access can happen concurrently
387 | return result
388 | } else {
:
394 | }
395 | } catch let error {
396 | taskGroup.cancelAll()
| `- note: access can happen concurrently
397 | throw error
398 | }
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:390:110: warning: sending 'writables' risks causing data races; this is an error in the Swift 6 language mode
387 | return result
388 | } else {
389 | let result:pid_t = try await withUnsafeThrowingContinuation { exitCont in
| `- note: access can happen concurrently
390 | self.launch(package:PackagedLaunch(interface:interface, path:path, args:args, wd:wd, env:env, writables:writables, readables:readables, exitContinuation:exitCont))
| |- warning: sending 'writables' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'writables' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
391 | }
392 | try await taskGroup.waitForAll()
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:390:131: warning: sending 'readables' risks causing data races; this is an error in the Swift 6 language mode
388 | } else {
389 | let result:pid_t = try await withUnsafeThrowingContinuation { exitCont in
390 | self.launch(package:PackagedLaunch(interface:interface, path:path, args:args, wd:wd, env:env, writables:writables, readables:readables, exitContinuation:exitCont))
| |- warning: sending 'readables' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'readables' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
391 | }
392 | try await taskGroup.waitForAll()
| `- note: access can happen concurrently
393 | return result
394 | }
395 | } catch let error {
396 | taskGroup.cancelAll()
| `- note: access can happen concurrently
397 | throw error
398 | }
[7/17] Compiling SwiftSlash ProcessSpawner.swift
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:230:20: warning: sending 'self'-isolated value of type 'DataChannel.Outbound' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
228 | fhWritersToDeregisterIfThrown.update(with:newPipe.writing)
229 | enabledWriters.update(with:newPipe)
230 | let newOut = OutboundChannelState(channel:curOut.value)
| `- warning: sending 'self'-isolated value of type 'DataChannel.Outbound' with later accesses to actor-isolated context risks causing data races; this is an error in the Swift 6 language mode
231 | buildOut[curOut.key] = newOut
232 | _ = self.writerTrigger.updateValue(newOut.continuation, forKey:newPipe.writing)
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:264:19: warning: sending 'parseMode' risks causing data races; this is an error in the Swift 6 language mode
262 | readPipes[curIn.key] = newPipe
263 | enabledReaders.update(with:newPipe)
264 | let newIn = InboundChannelState(mode:parseMode, continuation:curIn.value.continuation)
| |- warning: sending 'parseMode' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'parseMode' to actor-isolated callee risks causing data races between actor-isolated and 'self'-isolated uses
265 | buildIn[curIn.key] = newIn
266 | _ = self.readerTrigger.updateValue(newIn.eventContinuation, forKey:newPipe.reading)
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:384:124: warning: sending 'writables' risks causing data races; this is an error in the Swift 6 language mode
381 | do {
382 | if utilized > threshold {
383 | let result:pid_t = try await withUnsafeThrowingContinuation { exitCont in
| `- note: access can happen concurrently
384 | self.pendingLaunchPackages.append(PackagedLaunch(interface:interface, path:path, args:args, wd:wd, env:env, writables:writables, readables:readables, exitContinuation:exitCont))
| |- warning: sending 'writables' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'writables' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
385 | }
386 | try await taskGroup.waitForAll()
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:384:145: warning: sending 'readables' risks causing data races; this is an error in the Swift 6 language mode
382 | if utilized > threshold {
383 | let result:pid_t = try await withUnsafeThrowingContinuation { exitCont in
384 | self.pendingLaunchPackages.append(PackagedLaunch(interface:interface, path:path, args:args, wd:wd, env:env, writables:writables, readables:readables, exitContinuation:exitCont))
| |- warning: sending 'readables' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'readables' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
385 | }
386 | try await taskGroup.waitForAll()
| `- note: access can happen concurrently
387 | return result
388 | } else {
:
394 | }
395 | } catch let error {
396 | taskGroup.cancelAll()
| `- note: access can happen concurrently
397 | throw error
398 | }
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:390:110: warning: sending 'writables' risks causing data races; this is an error in the Swift 6 language mode
387 | return result
388 | } else {
389 | let result:pid_t = try await withUnsafeThrowingContinuation { exitCont in
| `- note: access can happen concurrently
390 | self.launch(package:PackagedLaunch(interface:interface, path:path, args:args, wd:wd, env:env, writables:writables, readables:readables, exitContinuation:exitCont))
| |- warning: sending 'writables' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'writables' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
391 | }
392 | try await taskGroup.waitForAll()
/host/spi-builder-workspace/Sources/SwiftSlash/Framework Internals/ProcessSpawner.swift:390:131: warning: sending 'readables' risks causing data races; this is an error in the Swift 6 language mode
388 | } else {
389 | let result:pid_t = try await withUnsafeThrowingContinuation { exitCont in
390 | self.launch(package:PackagedLaunch(interface:interface, path:path, args:args, wd:wd, env:env, writables:writables, readables:readables, exitContinuation:exitCont))
| |- warning: sending 'readables' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'readables' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
391 | }
392 | try await taskGroup.waitForAll()
| `- note: access can happen concurrently
393 | return result
394 | }
395 | } catch let error {
396 | taskGroup.cancelAll()
| `- note: access can happen concurrently
397 | throw error
398 | }
[8/17] Compiling SwiftSlash ChildSignalCatcher.swift
/host/spi-builder-workspace/Sources/SwiftSlash/Child Signal Handler/ChildSignalCatcher.swift:30:21: warning: no 'async' operations occur within 'await' expression
28 | if (waitResult > 0) {
29 | Task.detached { [waitResult, status] in
30 | for handler in await ChildSignalCatcher.global.handlerStack {
| `- warning: no 'async' operations occur within 'await' expression
31 | await handler.handler(waitResult, status)
32 | }
/host/spi-builder-workspace/Sources/SwiftSlash/Child Signal Handler/ChildSignalCatcher.swift:30:53: warning: non-sendable type 'Set<ChildSignalCatcher.KeyedHandler>' in implicitly asynchronous access to actor-isolated property 'handlerStack' cannot cross actor boundary; this is an error in the Swift 6 language mode
28 | if (waitResult > 0) {
29 | Task.detached { [waitResult, status] in
30 | for handler in await ChildSignalCatcher.global.handlerStack {
| `- warning: non-sendable type 'Set<ChildSignalCatcher.KeyedHandler>' in implicitly asynchronous access to actor-isolated property 'handlerStack' cannot cross actor boundary; this is an error in the Swift 6 language mode
31 | await handler.handler(waitResult, status)
32 | }
:
43 | public typealias SignalHandle = UInt64
44 |
45 | fileprivate struct KeyedHandler:Hashable{
| `- note: consider making struct 'KeyedHandler' conform to the 'Sendable' protocol
46 | let handle:SignalHandle
47 | let handler:SignalHandler
/host/spi-builder-workspace/Sources/SwiftSlash/Command.swift:84:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | /// - Returns: Results of the command are captured in a ``Result`` and returned after the command has finished executing
83 | public func runSync() async throws -> Command.Result {
84 | let procInterface = ProcessInterface(command:self)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
85 | try await procInterface.launch()
86 | //add the stdout task
[9/17] Compiling SwiftSlash Command.swift
/host/spi-builder-workspace/Sources/SwiftSlash/Child Signal Handler/ChildSignalCatcher.swift:30:21: warning: no 'async' operations occur within 'await' expression
28 | if (waitResult > 0) {
29 | Task.detached { [waitResult, status] in
30 | for handler in await ChildSignalCatcher.global.handlerStack {
| `- warning: no 'async' operations occur within 'await' expression
31 | await handler.handler(waitResult, status)
32 | }
/host/spi-builder-workspace/Sources/SwiftSlash/Child Signal Handler/ChildSignalCatcher.swift:30:53: warning: non-sendable type 'Set<ChildSignalCatcher.KeyedHandler>' in implicitly asynchronous access to actor-isolated property 'handlerStack' cannot cross actor boundary; this is an error in the Swift 6 language mode
28 | if (waitResult > 0) {
29 | Task.detached { [waitResult, status] in
30 | for handler in await ChildSignalCatcher.global.handlerStack {
| `- warning: non-sendable type 'Set<ChildSignalCatcher.KeyedHandler>' in implicitly asynchronous access to actor-isolated property 'handlerStack' cannot cross actor boundary; this is an error in the Swift 6 language mode
31 | await handler.handler(waitResult, status)
32 | }
:
43 | public typealias SignalHandle = UInt64
44 |
45 | fileprivate struct KeyedHandler:Hashable{
| `- note: consider making struct 'KeyedHandler' conform to the 'Sendable' protocol
46 | let handle:SignalHandle
47 | let handler:SignalHandler
/host/spi-builder-workspace/Sources/SwiftSlash/Command.swift:84:23: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
82 | /// - Returns: Results of the command are captured in a ``Result`` and returned after the command has finished executing
83 | public func runSync() async throws -> Command.Result {
84 | let procInterface = ProcessInterface(command:self)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
85 | try await procInterface.launch()
86 | //add the stdout task
[10/17] Compiling SwiftSlash CurrentProcessState.swift
[11/17] Compiling SwiftSlash DataChannel.swift
[12/17] Emitting module SwiftSlash
/host/spi-builder-workspace/Sources/SwiftSlash/Child Signal Handler/ChildSignalCatcher.swift:30:21: warning: no 'async' operations occur within 'await' expression
28 | if (waitResult > 0) {
29 | Task.detached { [waitResult, status] in
30 | for handler in await ChildSignalCatcher.global.handlerStack {
| `- warning: no 'async' operations occur within 'await' expression
31 | await handler.handler(waitResult, status)
32 | }
/host/spi-builder-workspace/Sources/SwiftSlash/Child Signal Handler/ChildSignalCatcher.swift:30:53: warning: non-sendable type 'Set<ChildSignalCatcher.KeyedHandler>' in implicitly asynchronous access to actor-isolated property 'handlerStack' cannot cross actor boundary; this is an error in the Swift 6 language mode
28 | if (waitResult > 0) {
29 | Task.detached { [waitResult, status] in
30 | for handler in await ChildSignalCatcher.global.handlerStack {
| `- warning: non-sendable type 'Set<ChildSignalCatcher.KeyedHandler>' in implicitly asynchronous access to actor-isolated property 'handlerStack' cannot cross actor boundary; this is an error in the Swift 6 language mode
31 | await handler.handler(waitResult, status)
32 | }
:
43 | public typealias SignalHandle = UInt64
44 |
45 | fileprivate struct KeyedHandler:Hashable{
| `- note: consider making struct 'KeyedHandler' conform to the 'Sendable' protocol
46 | let handle:SignalHandle
47 | let handler:SignalHandler
[13/17] Compiling SwiftSlash Equatable.swift
[14/17] Compiling SwiftSlash Hashable.swift
[15/17] Compiling SwiftSlash InboundChannelState.swift
[16/17] Compiling SwiftSlash OutboundChannelState.swift
[17/18] Compiling SwiftSlash ProcessInterface.swift
/host/spi-builder-workspace/Sources/SwiftSlash/ProcessInterface.swift:164:37: warning: sending 'self.outboundChannels' risks causing data races; this is an error in the Swift 6 language mode
162 | do {
163 | let exitPid = try await withThrowingTaskGroup(of:Void.self, returning:pid_t.self, body: { tg in
164 | try await ProcessSpawner.global.launch(path:self.command.executable, args:self.command.arguments, wd:self.command.workingDirectory, env:self.command.environment, writables:self.outboundChannels, readables:self.inboundChannels, taskGroup:&tg, onBehalfOf:self)
| |- warning: sending 'self.outboundChannels' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.outboundChannels' to actor-isolated instance method 'launch(path:args:wd:env:writables:readables:taskGroup:onBehalfOf:)' risks causing data races between actor-isolated and 'self'-isolated uses
165 | })
166 | self._state = .running(exitPid)
/host/spi-builder-workspace/Sources/SwiftSlash/ProcessInterface.swift:164:37: warning: sending 'self.inboundChannels' risks causing data races; this is an error in the Swift 6 language mode
162 | do {
163 | let exitPid = try await withThrowingTaskGroup(of:Void.self, returning:pid_t.self, body: { tg in
164 | try await ProcessSpawner.global.launch(path:self.command.executable, args:self.command.arguments, wd:self.command.workingDirectory, env:self.command.environment, writables:self.outboundChannels, readables:self.inboundChannels, taskGroup:&tg, onBehalfOf:self)
| |- warning: sending 'self.inboundChannels' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'self.inboundChannels' to actor-isolated instance method 'launch(path:args:wd:env:writables:readables:taskGroup:onBehalfOf:)' risks causing data races between actor-isolated and 'self'-isolated uses
165 | })
166 | self._state = .running(exitPid)
/host/spi-builder-workspace/Sources/SwiftSlash/ProcessInterface.swift:164:37: warning: sending 'tg' risks causing data races; this is an error in the Swift 6 language mode
162 | do {
163 | let exitPid = try await withThrowingTaskGroup(of:Void.self, returning:pid_t.self, body: { tg in
164 | try await ProcessSpawner.global.launch(path:self.command.executable, args:self.command.arguments, wd:self.command.workingDirectory, env:self.command.environment, writables:self.outboundChannels, readables:self.inboundChannels, taskGroup:&tg, onBehalfOf:self)
| |- warning: sending 'tg' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'self'-isolated 'tg' to actor-isolated instance method 'launch(path:args:wd:env:writables:readables:taskGroup:onBehalfOf:)' risks causing data races between actor-isolated and 'self'-isolated uses
165 | })
166 | self._state = .running(exitPid)
[18/18] Compiling SwiftSlash SwiftSlash.swift
Build complete! (12.24s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "SwiftSlash",
"name" : "SwiftSlash",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "SwiftSlash",
"targets" : [
"SwiftSlash"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "SwiftSlashTests",
"module_type" : "SwiftTarget",
"name" : "SwiftSlashTests",
"path" : "Tests/SwiftSlashTests",
"sources" : [
"ConcurrentExitTest.swift",
"ConcurrentReadTest.swift",
"ConcurrentWriteTest.swift",
"InternalTests.swift"
],
"target_dependencies" : [
"SwiftSlash"
],
"type" : "test"
},
{
"c99name" : "SwiftSlash",
"module_type" : "SwiftTarget",
"name" : "SwiftSlash",
"path" : "Sources/SwiftSlash",
"product_memberships" : [
"SwiftSlash"
],
"sources" : [
"Child Signal Handler/ChildSignalCatcher.swift",
"Command.swift",
"CurrentProcessState.swift",
"DataChannel.swift",
"Extensions/Command/Equatable.swift",
"Extensions/Command/Hashable.swift",
"Framework Internals/IO Handlers/Channels/BufferedLineParser.swift",
"Framework Internals/IO Handlers/Channels/EventTrigger.swift",
"Framework Internals/IO Handlers/Channels/States/InboundChannelState.swift",
"Framework Internals/IO Handlers/Channels/States/OutboundChannelState.swift",
"Framework Internals/IO Handlers/PosixBasics.swift",
"Framework Internals/ProcessSpawner.swift",
"ProcessInterface.swift",
"SwiftSlash.swift"
],
"target_dependencies" : [
"ClibSwiftSlash"
],
"type" : "library"
},
{
"c99name" : "ClibSwiftSlash",
"module_type" : "ClangTarget",
"name" : "ClibSwiftSlash",
"path" : "Sources/ClibSwiftSlash",
"product_memberships" : [
"SwiftSlash"
],
"sources" : [
"libswiftslash.c"
],
"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.